Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: на AT90S8535 и ATMega8535 АЦП работают по разному?
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Alio
...На ATMega8535 при нулевом напряжении на входах АЦП значения, которые выдаёт АЦП микроконт-
роллера не доходят до ноля(на неск-ко битиков больше ноля). При этом на такой же плате и с
такой же программой, только с AT90S8535, АЦП выдаёт нулевые значения при нулевом напряжении.
defunct
Цитата(Alio @ Apr 27 2006, 12:55) *
При этом на такой же плате и с
такой же программой, только с AT90S8535, АЦП выдаёт нулевые значения при нулевом напряжении.

Не буду утверждать, но помоему входное сопротивление АЦП в Mege несколько выше чем в AT90. Поэтому, как вариант для согласования, можно предложить поставить между входом АЦП и землей конденсатор (емкость подобрать взависимости от частоты сигнала с которым вы работаете) параллельно c резистором на 0.5-2Mom.

Еще возможно, проблема может быть связана либо с питанием, либо с источником опорного напряжения.
Что у вас выступает в роли (ИОН)?
И все ли в порядке с питанием АЦП? (дроссель и конденсатор на AVcc).

Для проверки попробуйте закоротить вход АЦП на землю, должен быть устойчивый 0.
Alio
///При этом на такой же плате и с
///такой же программой, только с AT90S8535, АЦП выдаёт нулевые значения при нулевом напряжении.

Не буду утверждать, но помоему входное сопротивление АЦП в Mege несколько выше чем в AT90.
... на ATmega Reference Input Resistance равен 32КОм, а на AT90 10КОм +/-3 КОм,
... а вот Analog Input Resistance не отличается.

Еще возможно, проблема может быть связана либо с питанием, либо с источником опорного напряжения.
Что у вас выступает в роли (ИОН)?
... ИОН такой же как Vcc = 5В - идёт от питания платы.

И все ли в порядке с питанием АЦП? (дроссель и конденсатор на AVcc).
... да, на AVcc дроссель и конденсатор есть.

Для проверки попробуйте закоротить вход АЦП на землю, должен быть устойчивый 0.
... если вход АЦП закоротить на землю, полностью ноля нет, неск. битов остаётся.
defunct
Цитата(Alio @ Apr 28 2006, 15:51) *
... если вход АЦП закоротить на землю, полностью ноля нет, неск. битов остаётся.

3 варианта:
1. Ваш MK бракованый
2. включен ADLAR, т.о. в младших 6-ти разрядах ADCL может быть что угодно.
3. Ошибка мультиплексирования (выбрали не тот канал, который измеряете).
Alio
sad.gif
1. До 0 не доходят значения на выходе АЦП на разных платах,
врядли везде бракованные МК.
2,3. Работая с ADMUX меняю только 3 младших бита - в соответс-
твии с каналом, а другие биты 0. Т.е. ADLAR выключен.
pokos
• ± 2 LSB Absolute Accuracy
Ну, и на входные цепи неплохо бы глянуть.
nml
Цитата(Alio @ Apr 27 2006, 12:55) *
...На ATMega8535 при нулевом напряжении на входах АЦП значения, которые выдаёт АЦП микроконт-
роллера не доходят до ноля(на неск-ко битиков больше ноля). При этом на такой же плате и с
такой же программой, только с AT90S8535, АЦП выдаёт нулевые значения при нулевом напряжении.


Правильно ли установлен предделитель? При завышении тактовой АЦП начинает сильно врать. Просто возможно что программа старая, а на меге кварц поставили не 8, а 16...

с мегой 8535 имею дело регулярно, такого эффекта не замечал ни разу.
Коляй
Сегодня возился с Атмегой8535 именно с АЦП. Т.к. все входы АЦП у меня с кондёрами, после сброса кое что остаётся на входах, после замыкания входа на землю(аналоговую) ничего не остаётся. Кварц на 8.
Nanobyte
Поставьте параллельно входу МК (или конденсатору) резистор ~510k-1M, должен появиться устойчивый 0. Кроме того, керамические конденсаторы, даже SMD, имеют скверный эффект реагировать на механическое воздействие. Резистор снимет остаточный заряд на конденсаторе и подавит помехи. Сам на эти подводные грабли наступал.
kv_addr
Похоже, открывший этот топик столкнулся с граблями, подобными тем, с которыми столкнулся я.
При инициализации порта, однин из разрядов которого использовался как вход АЦП было все нормально, это разряд был направлен на ввод и в него записывался 0, т.е. - подтяжка отсутствует. Но в одном месте програмы туда записывалась 1 (включалась подтяжка) - не уследил за маской. sad.gif После чего даже с закороченным на землю входом был ненулевой результат. Я тоже грешным делом начал было коситься на экземпляр чипа, но потом все же разобрался в истинной причине. Глюки програм встречаются значительно чаще глючных чипов. wink.gif
Alio
Цитата(kv_addr @ Jul 5 2006, 02:32) *
При инициализации порта, однин из разрядов которого использовался как вход АЦП было все нормально, это разряд был направлен на ввод и в него записывался 0, т.е. - подтяжка отсутствует. Но в одном месте програмы туда записывалась 1 (включалась подтяжка) - не уследил за маской. sad.gif После чего даже с закороченным на землю входом был ненулевой результат. ..


На этом всё сошлось. Внутренний резистор был активизирован, это и играло роль при недостижении ноля. :-(
Теперь похоже вопрос разрешён - ноль на выходе есть :-).

С предделителем раньше работал, он влияет на результат на выходе АЦП. При высокой частоте АЦП(малом значении предделителя) получалось результат удаляется от 0. При нулевом напряжении на входе значение на выходе доходило до 0x1B при 10-и битах на выходе.
На входах АЦП есть конденсаторы, параллельных им резисторов нет. Сейчас плату не меняю, т.к. вопрос с нолём на АЦП на данный момент выглядит решённым.

! Благодарю за участие и помощь :-) !
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.