Кобра III

 
1 29 30 31 32 33 78
UA alex_zeed #02.12.2011 12:52  @Non-conformist#02.12.2011 10:59
+
-
edit
 

alex_zeed

втянувшийся

Non-Conformist, я попробую обьяснить что имел в виду GOGI. Если ты посмотришь в даташит L3G4200D, там описан протокол обмена контроллера с гирой в двух вариантах - I2C и SPI. Там в гире жменя внутренних регистров, штук 20-30, с разными адресами, и можно читать и писать их в разных комбинациях. Но видно, что регистры выходных данных расположены компактно по адресам 28h-2dh. И есть возможность читать регистры последовательно, гира предоставляет такую возможность по обоим интерфейсам. Т.е. в любом случае обмен выходит такой: контроллер гире 2 байта (адрес гиры и субадрес регистра в гире, с флагами что это именно чтение, множественное), гира контроллеру 6 байт угловых скоростей. Ну и там еще пару байт на дырки заложить, получаем порядка 100 бит за обмен, т.е. при 100 кгц можно читать со скоростью одно измерение в миллисекунду. Сходу не могу найти в ДШ - а надо ли вообще читать с такой скоростью, какая у этой гиры своя внутренняя частота обновления информации?

На самом деле нормальный подход, каждый должен заниматься тем, чем умеет. Ну а по программе и схеме думаю найдется кому помочь. Вы промежуточные варианты выкладывайте, народ почитает, что-то понаходит, исправит. Я может что-то подскажу, если время будет сюда забредать - опыт в программировании AVR и других МК управляющих разными железяками имеется.

И вопрос. Кто может внятно сказать, как должна работать эта развязка уровней I2C на полевиках и почему затвор полевика на SDA прицеплен на +5, а не на +3.3? Просто я себе эту штуку представляю так: затвор на +3.3, исток на трехвольтовый сигнал, сток на пятивольтовый. В покое на затворе и истоке +3.3, полевик закрыт, на стоке +5. При подаче нуля с пятивольтовой стороны он проходит через паразитный диод полевика на трехвольтовую, ну полевик при этом откроется, но это уже не важно. А ноль с трехвольтовой стороны просто открывает полевик и таким образом проходит на пятивольтовую.

А вот зачем затвор на +5 - неясно, 1.7 вольта на затворе могут приоткрыть полевик и просадить пятивольтовую сторону до 3.3В в покое, если полевик с низковольтным управлением.
 8.08.0
Это сообщение редактировалось 02.12.2011 в 13:05

Xan

координатор

alex_zeed> А вот зачем затвор на +5 - неясно,

Думаю - опечатка.
Которую только ты один, глазастый, заметил! :)

Там, действительно, может нехорошо получиться.
 7.07.0
UA Non-conformist #02.12.2011 14:38  @alex_zeed#02.12.2011 12:52
+
-
edit
 

Non-conformist

аксакал

Прежде всего хочу поблагодарить за помощь всех заинтересованных участников, а заодно извиниться за возможную жёсткость предыдущего поста. Хотелось бы раз и до самого завершения проекта чётко расставить акценты, и более к этим вопросам не возвращаться. Надеюсь, у меня это получилось.

***
Гира может выдавать инфу с четырьмя фиксированными скоростями: 100, 200, 400 и 800 Гц (digital output data rate). Выбирать скорость обновления данных можно Is used to set ODR selection (скопируйте эту фразу в строку поиска вашей пдф-смотрелки).

Таким образом, если скорость чтения двух осей (третью не читаем), записи их значений в регистры МК, и записи этих же значений в память AT24C1024 занимают одну миллисекунду, то запас по скорости передачи получается примерно десятикратный, поскольку период стогерцового колебания равен десяти миллисекундам. Или нужно брать ПОЛУпериод? Сто герц измерений для маятника - это явный избыток, но запас карман не тянет, да и меньше не предусмотрено изготовителем.

По поводу подтяжки линий к пятивольтовому питанию. Затвор полевика на линии SDA был прицеплен к пяти вольтам по причине банальной опечатки. Большое спасибо за внимательное чтение схемы! Ваше замечание внушает мне оптимизм. Даю честное слово, что это не было сделано специально, с целью проверки вашей внимательности. ))

По поводу битов, дырок, адресов и субадресов - В ПРИНЦИПЕ кухня ясна. Вот только код на голых принципах не напишешь. ))
Skype: a_schabanow  
UA Non-conformist #05.12.2011 11:30  @Non-conformist#02.12.2011 14:38
+
-
edit
 

Non-conformist

аксакал

В процессе разводки платы возник вопрос по АЦП Мега32:

"... Seven differential analog input channels share a common negative terminal (ADC1), while any other ADC input can be selected as the positive input terminal."

У меня остались свободными три АЦП-порта (неважно какие - если надо, то переподключу источники по-другому, важно что ТРИ ноги свободны). Хочу предусмотреть возможность подключения к плате двух дифференциальных каналов солнечного датчика (схемку прилагаю). Значит ли процитированное выше, что для такого подключения может хватить трёх ног МК? Что-то я в этом сомневаюсь... Прошу внести ясность.
Прикреплённые файлы:
111111.gif (скачать) [4,98 кбайт, 8 загрузок] [attach=253377]
 
 
Skype: a_schabanow  
BG alex_zeed #05.12.2011 14:30  @Non-conformist#05.12.2011 11:30
+
-
edit
 

alex_zeed

втянувшийся

По-моему, не значит. Написанное значит, что мега умеет измерять разность между выводом ADC1 и любым другим ADCx. Т.е. неинвертирующий вход (+) можно переключать программой, а вот инвертирующий (-) всегда ADC1. И я так понимаю, что таких датчиков как у тебя можно подключить только один, ты же не можешь объединить два минусовых сигнала с разных датчиков в одну точку, они мешать будут друг другу. Чтобы подключить два - надо ставить операционники и превращать диф. сигналы в обычный уровень относительно земли.
 8.08.0
UA Non-conformist #05.12.2011 18:10  @alex_zeed#05.12.2011 14:30
+
-
edit
 

Non-conformist

аксакал

Ф-фу, только к вечеру компьютера достигнуть удалось.

Большое спасибо за комментарий! О чём-то таком и я подозревал. Не хотелось бы, конечно, операционник тулить в солнечный датчик - только ради того, чтобы привести сигналы к земле. Потому что больше он там незачем, ибо фототранзисторы дают сигнал вольтового размаха уже от фонарика, не то что от Солнца.

Более привлекательным мне представляется вариант с установкой перемычки (либо нулевого SMD-резистора, либо PLD-джампера) между объединёнными ногами "CURR" драйверов электромоторов, и недостающим четвёртым портом АЦП. Всё равно измерение суммарного тока актуаторов запланировано больше из любопытства, чем по необходимости. Т.е. если нужно посмотреть ток актуаторов (например, при первом запуске системы) - ставим перемычку; нужно полететь на Солнце - снимаем перемычку, снимаем с основной платы плату гироскопа, и цепляем на зарезервированный разъём солнечный датчик.

Вопрос: если действовать по такому варианту, то приведённую схемку датчика можно цеплять на любые ноги порта "А", включая ADC1?
Skype: a_schabanow  
BG alex_zeed #05.12.2011 18:15  @Non-conformist#05.12.2011 18:10
+
-
edit
 

alex_zeed

втянувшийся

Non-conformist> Вопрос: если действовать по такому варианту, то приведённую схемку датчика можно цеплять на любые ноги порта "А", включая ADC1?

Да. Единственный момент - придется делать три измерения. Пусть датчики висят на ADC1/ADC2 и ADC3/ADC4. Тогда первое измерение в диф. режиме, ADC2-ADC1, сразу получаем показания первого датчика. Второе - ADC3 и третье - ADC4. А потом из ADC4 уже в программе вычитаем ADC3 и получаем показания второго датчика.
 8.08.0
UA Non-conformist #05.12.2011 18:56  @alex_zeed#05.12.2011 18:15
+
-
edit
 

Non-conformist

аксакал

Понял. Но сейчас я могу переподключить датчик положения кардана (две ноги) и мониторинг напряжения бортовых батарей (две ноги) на однополярные входы АЦП. И тогда полностью освободятся два дифференциальных канала: (ACD0, ACD1) и (ACD2, ACD3). Так ведь будет лучше?
Skype: a_schabanow  
BG alex_zeed #06.12.2011 16:13  @Non-conformist#05.12.2011 18:56
+
-
edit
 

alex_zeed

втянувшийся

Non-conformist> Понял. Но сейчас я могу переподключить датчик положения кардана (две ноги) и мониторинг напряжения бортовых батарей (две ноги) на однополярные входы АЦП. И тогда полностью освободятся два дифференциальных канала: (ACD0, ACD1) и (ACD2, ACD3). Так ведь будет лучше?

Сорри, начал давать умные советы, а сам даташит не перечитал :) Думал, что процитированное тобой "Seven differential analog input channels share a common negative terminal (ADC1), while any other ADC input can be selected as the positive input terminal" - это единственный вариант :) А там оказывается и другие есть. А на память я ессно не помню, они в разных мегах и тинях постоянно мутят с этими переключалками АЦП и усилителями, там есть, там нету...

Да, разумеется, подключай на 0/1 и 2/3 - это самые "богатые" по настройкам пары, там можно и усиление переключать, х1, х2 и х200. Это же мега32, я правильно помню?
 8.08.0
UA Non-conformist #06.12.2011 22:30  @alex_zeed#06.12.2011 16:13
+
-
edit
 

Non-conformist

аксакал

Да, у меня Мега32. Схему перечертил, развожу плату. Ввиду недостатка ног отказался от мониторинга "мозговой" батареи питания, буду мониторить только силовую. Подумал насчёт измерения тока актуаторов... Всё-таки это измерение нужнее и интереснее, чем контроль батареи питания мозгов - посмотреть, как будет изменяться ток электромоторов на холостом ходу (маятник) и под нагрузкой. И перегрузкой.
Skype: a_schabanow  
UA Non-conformist #07.12.2011 01:36  @Non-conformist#06.12.2011 22:30
+
-
edit
 

Non-conformist

аксакал

Всё ближе к финишу...
Прикреплённые файлы:
7777777.pdf (скачать) [66,55 кбайт, 82 загрузки] [attach=253571]
 
 
Skype: a_schabanow  
KZ Xan #07.12.2011 13:04  @Non-conformist#07.12.2011 01:36
+
-
edit
 

Xan

координатор

Non-conformist> Всё ближе к финишу...

1. Опять у тебя между Cur_R и МК нет защитного резистора в несколько килоом.
2. И светодиодам надо последовательные резисторы, чтоб выходы МК не мучить, сотни ом.
 7.07.0

alex_zeed

втянувшийся

Non-conformist>> Всё ближе к финишу...
Xan> 1. Опять у тебя между Cur_R и МК нет защитного резистора в несколько килоом.
Xan> 2. И светодиодам надо последовательные резисторы, чтоб выходы МК не мучить, сотни ом.

Абсолютно верно. Резисторы 330 Ом последовательно к светодиодам, иначе что-нить выгорит - или СД, или нога МК. А к токовому шунту кроме последовательного резистора еще со стороны АЦП параллельный конденсатор, чтобы RC ФНЧ получился. Его можно ставить, можно не ставить - но место заложить надо.
 8.08.0
UA Non-conformist #07.12.2011 14:52  @alex_zeed#07.12.2011 13:49
+
-
edit
 

Non-conformist

аксакал

Спасибо, добавил.

***
Возникло несколько вопросов... Я хочу применить десятипиновый ISP-разъём, т.к. мне очень нравится идея чередования сигнальных и земляных жил в шлейфе ISP. )) Я собрал LPT-адаптер типа STK-200-300, и там на схеме третья дырочка кабельного PLD-гнезда называется "LED". Зачем это? В адаптере и так два светодиода - ещё один нужен на плате устройства? Или это просто идёт от схемы eval.board STK-200-300, как наследственное? Что делать с этим пином на плате устройства, если этого светодиода не предусмотрено - просто оставить в воздухе? Такое решение ведь не повлияет на опознавание устройства программатором?

Я привожу вид со стороны дырочек женского PLD-разъёма на шлейфе моего адаптера, как он у меня получился. Правильно ли я его распаял, или назеркалил? Гугление не даёт однозначного ответа на этот вопрос.
Прикреплённые файлы:
isp_10pin.png (скачать) [1,66 кбайт, 8 загрузок] [attach=253601]
 
88888.pdf (скачать) [83,85 кбайт, 64 загрузки] [attach=253603]
 
 
Skype: a_schabanow  
Это сообщение редактировалось 07.12.2011 в 15:10
UA Non-conformist #07.12.2011 15:13  @Non-conformist#07.12.2011 14:52
+
-
edit
 

Non-conformist

аксакал

Ещё пара вопросов. Каковы параметры RC-ФНЧ? Нужны ли такие ФНЧ или хотя бы защитные резисторы на входы АЦП солнечного датчика?

зы: Судя по всему не нужны, т.к. солнечный датчик питается от того же источника, что и МК. Т.е. на его выходах не может оказаться напряжения большего, чем напряжение источника питания. ФНЧ тоже вроде как ни к чему - ВЧ-составляющих в сигнале не предвидится... Разве только в виде помех от электромоторов. Кстати, какие номиналы сопротивлений R12 .. R15 вы посоветуете, чтобы с одной стороны соблюсти приличия в плане потребления тока, а с другой - чтобы лишнего на соединительный шлейф не ловить?
Skype: a_schabanow  
Это сообщение редактировалось 07.12.2011 в 16:01
BG alex_zeed #07.12.2011 18:52  @Non-conformist#07.12.2011 15:13
+
-
edit
 

alex_zeed

втянувшийся

LED - насколько я помню, да - наследственное, можно просто не подключать. Но у этого вывода есть мегаполезнейшая побочная функция, если делать плату и это не сильно противоречит разводке - его можно через джампер завести на вывод XTAL1. Можно не заводить, сильно не заморачивайся, если паяльник в руках есть - всегда можно проводок кинуть. Большинство программаторов умеют на этот вывод выдавать тактовый сигнал 1 МГц. Дело в том, что шаловливыми ручками начинающие программисты AVR часто выставляют с помощью fuse bits режим тактирования контроллера в состояние "внешний такт". Этому помогает тот факт, что в распространенных прогах для программаторов установленная птичка означает 0, а снятая - 1. ;) А после этого чтобы контроллер работал, и в т.ч. программировался, ему нужен внешний такт :)

Насчет зеркальности - посмотри на сам разъем-маму, который насажен у тебя на шлейф. Вывод 1 помечен матовым треугольником.

RC на ток? Я думаю, по программе прикинуть расклад измерений, период измерения этого сигнала и потом взять постоянную времени RC порядка этого периода или чуток поменьше.

R12-R15 это какие? Я номеров на схеме не вижу...
 8.08.0
UA Non-conformist #07.12.2011 20:25  @alex_zeed#07.12.2011 18:52
+
-
edit
 

Non-conformist

аксакал

alex_zeed> R12-R15 это какие? Я номеров на схеме не вижу...

Номера появились в позднейшем релизе. )) Правый верхний угол, маленькая плата "sun sensor", резисторы в эмиттерных цепях четырёх фототранзисторов.

Насчёт матового треугольника - у меня немного не то, у меня обычная десятиконтактная PBD-мамка напаянная на плоский шлейф. Предполагаю втыкать её в обычную PLD-гребёнку на плате. Да фиг с ней - если вдруг зеркально, навыворот и плату разведу. Военприёмке не сдавать. )) Вроде по логике - нормально припаял, не зеркально.

Насчёт внешнего тактирования - спасибо за совет, если будет место, поставлю джампер... Посмотрю.
Skype: a_schabanow  
RU GOGI #07.12.2011 21:01  @Non-conformist#07.12.2011 14:52
+
-
edit
 

GOGI

координатор
★★★
Non-conformist> Я хочу применить десятипиновый ISP-разъём, т.к. мне очень нравится идея чередования сигнальных и земляных жил в шлейфе ISP. ))
Вот уж чего не надо, так не надо. Я даже через гвозди АВРки шил, никаких проблем не было.
1  8.0.18.0.1
UA Non-conformist #07.12.2011 22:53  @GOGI#07.12.2011 21:01
+
-
edit
 

Non-conformist

аксакал

Так оно и есть, но переделывать шлейф адаптера я уже не буду.
Skype: a_schabanow  
UA Non-conformist #08.12.2011 13:10  @Non-conformist#07.12.2011 15:13
+
-
edit
 

Non-conformist

аксакал

Non-conformist> Ещё пара вопросов. Каковы параметры RC-ФНЧ? Нужны ли такие ФНЧ или хотя бы защитные резисторы на входы АЦП солнечного датчика? Судя по всему не нужны, т.к. солнечный датчик питается от того же источника, что и МК. Т.е. на его выходах не может оказаться напряжения большего, чем напряжение источника питания. ФНЧ тоже вроде как ни к чему - ВЧ-составляющих в сигнале не предвидится... Разве только в виде помех от электромоторов. Кстати, какие номиналы сопротивлений R12 .. R15 вы посоветуете, чтобы с одной стороны соблюсти приличия в плане потребления тока, а с другой - чтобы лишнего на соединительный шлейф не ловить?

Я имел в виду схемку ниже. Выходы получаются дифференциальные, и вход АЦП дифференциальный, т.е. схема устойчива к (синфазным) помехам. Стало быть ФНЧ от помех по входам АЦП в данном случае излишни. Защитные резисторы тоже не нужны по причине невозможности превышения напряжения питания МК на входах АЦП. Поправьте меня, если ошибаюсь.
Прикреплённые файлы:
1111.png (скачать) [3,73 кбайт, 8 загрузок] [attach=253710]
 
 
Skype: a_schabanow  
UA Non-conformist #08.12.2011 17:04  @Non-conformist#07.12.2011 22:53
+
-
edit
 

Non-conformist

аксакал

Non-conformist> Так оно и есть, но переделывать шлейф адаптера я уже не буду.

Сейчас развожусь в районе разъёма ISP и схемы ресета - таки да, буду переделывать шлейф адаптера конкретно под Мегу32. А то вообще чушь какая-то получается, только с перемычками - и это на двухслойной плате. ))
Skype: a_schabanow  
RU GOGI #08.12.2011 17:07  @Non-conformist#08.12.2011 13:10
+
-
edit
 

GOGI

координатор
★★★
Non-conformist>и вход АЦП дифференциальный, т.е. схема устойчива к (синфазным) помехам.
Вход АЦП ПСЕВДОдифференциальный, а конкретнее фигня полная, даже не надейся, что он даст тебе помехозащищенность настоящих дифференциальных входов.
С другой стороны, в данном конкретном случае и помех особых не будет.
1  8.08.0
UA Non-conformist #08.12.2011 18:58  @GOGI#08.12.2011 17:07
+
-
edit
 

Non-conformist

аксакал

Вот что я вычитал в ДШ: оказывается, если используется дифференциальный АЦП, то опорное напряжение AREF должно быть в пределах от "двух вольт" до "AVCC минус полвольта". Т.е. напрямую AREF и AVCC в этом случае соединять нельзя. Там есть внутренний источник опорного напряжения 2,56 В - судя по всему, надо использовать его? Но как это отразится на разрешении (точности?) преобразования однополярных входов АЦП, ибо в проекте предполагется одновременное использование и однополярных, и дифференциальных входов?

"If differential channels are used, the selected reference should not be closer to AVCC than indicated in Table 121 on page 293." Т.е. читая между строк я предполагаю, что чем выше опорное напряжение, тем лучше? Внешний ИОН применять пока не хочу. Насколько хуже будет точность со внутренними 2,56 В?
Прикреплённые файлы:
mega32_adc_diff.png (скачать) [14,21 кбайт, 9 загрузок] [attach=253732]
 
 
Skype: a_schabanow  
UA Non-conformist #09.12.2011 00:36  @Non-conformist#08.12.2011 18:58
+
-
edit
 

Non-conformist

аксакал

IvanV

Разводка и схема адаптера STK-200-300.
Прикреплённые файлы:
stk_200_300_pcb.LAY (скачать) [50,5 кбайт, 18 загрузок] [attach=253767]
 
stk_200_300_sch.jpg (скачать) [33,32 кбайт, 15 загрузок] [attach=253769]
 
 
Skype: a_schabanow  
AD Реклама Google — средство выживания форумов :)
UA Non-conformist #09.12.2011 10:32  @GOGI#08.12.2011 17:07
+
-
edit
 

Non-conformist

аксакал

Non-conformist>>и вход АЦП дифференциальный, т.е. схема устойчива к (синфазным) помехам.
GOGI> Вход АЦП ПСЕВДОдифференциальный, а конкретнее фигня полная, даже не надейся, что он даст тебе помехозащищенность настоящих дифференциальных входов.

"В состав микросхемы входит 8-канальный 10-битный АЦП со временем преобразования 65 мкс на канал. Интегральная нелинейность АЦП составляет 0,5 единицы младшего разряда. АЦП может работать в следующих режимах:
8-канальный с одиночными входами;
7-канальный псевдодифференциальный;
2-канальный дифференциальный с программируемым входным усилителем (1х, 10х и 200х)."


AVR-микроконтроллеры второго поколения: новые аппаратные возможности

Справочные данные - микросхемы и электронные компоненты

// www.compitech.ru
 

Skype: a_schabanow  
1 29 30 31 32 33 78

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru