Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 18.05.2005, 12:55  
impuls-v
Частый гость
 
Регистрация: 18.01.2005
Сообщений: 33
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
impuls-v на пути к лучшему
По умолчанию AtMega АЦП

люди если кто нибудь работал со встроенными ацп помогите решить проблему.
Ниже приведена часть написанной мной программы. Вроде все правильно, но ацп ни чего невыдает.
Если если у кого есть пример может скините, был бы очень благодарен.

.include "m8535def.inc"

.org 0
rjmp st
.org $00E ;прерывание конец праобразования АЦП
reti
.org 22

st:
ldi r20,low(ramend)
out spl,r20 ;задаю стек
ldi r20,high(ramend)
out sph, r20
ldi r20,0xff
out ddrb,r20 ;порт b выход
sei ;разрещить все прерывания

loop:
ldi r20, 0b00100000; задаю режим АЦП
out admux, r20
ldi r20, 0b10001001
out adcsra, r20
ldi r20, 0b01010011;разрешаю sleep, режим подавления шумов АЦП
out mcucr,r20
sleep ;жду завершения работы АЦП
in r18,adcl
in r19,adch

out portb, r19

nop
nop
nop
nop
rjmp loop
Реклама:
impuls-v вне форума  
Непрочитано 18.05.2005, 20:18  
Гость
 
Сообщений: n/a
По умолчанию

Да ошибок много.
Я бы вынес инициализацию АЦП за метку loop. И сперва надо разрешить работу АЦП, а уже потом настраивать его(ИОН и каналы), т.е. сначала забивается рр ADCSRA, а уже потом ADMUX. Именно такая последовательность.
И с установкой энергосберег режима тоже косячки по-моему, внимательно посмотри даташит.

ldi r20, 0b10001001
out adcsra, r20

ldi r20, 0b11100000;cтаршие 2 бита определяют ИОН
out admux, r20

ldi r20, 0b10010011; вроде так должно быть.!Проверь!
out mcucr,r20

loop:
sbi adcsra, ADSC ;старт преобразования
......
 
Непрочитано 22.05.2005, 09:43  
impuls-v
Частый гость
 
Регистрация: 18.01.2005
Сообщений: 33
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
impuls-v на пути к лучшему
По умолчанию

По поаоду ошибок: я же написал что это всего лишь кусок программы.
ldi r20, 0b01010011
out mcucr,r20 -- здесь все правильно, это режим "Noise Canseler ".
impuls-v вне форума  
Непрочитано 27.05.2011, 00:29  
Mike121234
Вид на жительство
 
Аватар для Mike121234
 
Регистрация: 02.04.2008
Адрес: Ленинград
Сообщений: 346
Сказал спасибо: 67
Сказали Спасибо 8 раз(а) в 7 сообщении(ях)
Mike121234 на пути к лучшему
По умолчанию Re: AtMega АЦП

Зарекался никогда не работать с АЦП на борту однокристалки, но вот столкнулся... Схема такая: Atmega 88PU, на 8канал повесил выход буфера на OP777. Дак вот... Усредняю 4096 значений (просто больше заняться нечем, а засыпать не охота, хотя измерения в режиме ADс noice). Гляжу - при напряжениях на входе под 3В, результат скачет на 4 младших разряда... Глянул осциллографом на входе АЦП (после буфера - то, дающего 30 мА и кондея в 10мкФ !!!!! чистая такая синусойда 40 -50 мВ с полупериодом около 10 мкСек...). Ну, думаю, а вдруг, операционник гнутый... Поставил OPA277U... Амплитуда уменьшилась, ну и понятно, он повысокочастотней (TI рулит !). Единственное что спасло - кондеев на вход повесил суммарно на 100 мкФ.... Амплитуда стала около 10мВ.
Сколько с АЦП работал - буфер святое дело, и никаких проблем. Но тут....
Да, на вход операционника сигнал подавался от калибратора. Проверял - там все чисто. Отключил вход АЦП - на выходе буфера вообще никаких пульсаций.
Может кто сталкивался ?

Последний раз редактировалось Mike121234; 27.05.2011 в 00:46.
Mike121234 вне форума  
Непрочитано 27.05.2011, 03:59  
avtoneru
Прописка
 
Регистрация: 17.10.2010
Сообщений: 113
Сказал спасибо: 2
Сказали Спасибо 20 раз(а) в 12 сообщении(ях)
avtoneru на пути к лучшему
По умолчанию Re: AtMega АЦП

4 разряда - конечно много ...
По моему надо обратить внимание на:
Развязка по питанию цифровой и аналоговой части МК - желательно фильтр с индуктивностью как в апноуте по питанию и даташите, блокировки по 0,1 МкФ - ОБЯЗАТЕЛЬНЫ по всем питаниям, многие забивают на эт, если нет под рукой индуктивности - то хотя бы RC фильтр .
Из Вашего сообщения не понятно - как организованно опорное напряжение для АЦП
Возможно - небольшая нестабильность питающего напряжения при переходе в режим ADс noice и обратно, особенно если опорное напряжение берется от питания ...
Как вариант - стоит на входе поставить делитель из резисторов и задействовать внутренний источник опорного напряжения.
avtoneru вне форума  
Непрочитано 27.05.2011, 08:51  
Mike121234
Вид на жительство
 
Аватар для Mike121234
 
Регистрация: 02.04.2008
Адрес: Ленинград
Сообщений: 346
Сказал спасибо: 67
Сказали Спасибо 8 раз(а) в 7 сообщении(ях)
Mike121234 на пути к лучшему
По умолчанию Re: AtMega АЦП

Сообщение от avtoneru Посмотреть сообщение
4 разряда - конечно много ...
По моему надо обратить внимание на:
Развязка по питанию цифровой и аналоговой части МК - желательно фильтр с индуктивностью как в апноуте по питанию и даташите, блокировки по 0,1 МкФ - ОБЯЗАТЕЛЬНЫ по всем питаниям, многие забивают на эт, если нет под рукой индуктивности - то хотя бы RC фильтр .
Из Вашего сообщения не понятно - как организованно опорное напряжение для АЦП
Возможно - небольшая нестабильность питающего напряжения при переходе в режим ADс noice и обратно, особенно если опорное напряжение берется от питания ...
Как вариант - стоит на входе поставить делитель из резисторов и задействовать внутренний источник опорного напряжения.
Ну.... Да там все в порядке. LC фильтр по питанию аналоговому - 10мкГн +0.1мкФ с обоих сторон + 10 мкФ керамика со стороны входа Atmega + проходной конденсатор. Цифровое питание - проходной кондей + фильтр + 0.1 + 10.0 керамика. Да питание - как лом. Земли раздельные. Опора -REF 198. Стоит как лом.
Меня волнует - откуда синусойда на входе. Ну пусть у АЦП входное 1кОм, но для операционника, способного выдать зо мА, да еще если у него на выходе емкость в 10 мкФ стоит - детский лепет.
4 разряда - результат усреднения синусоиды. Когда на входе напряжение 0.1 В и менее - шебуршит только младший разряд. А вот при 4В - уже 4.
Mike121234 вне форума  
Непрочитано 27.05.2011, 14:00  
avtoneru
Прописка
 
Регистрация: 17.10.2010
Сообщений: 113
Сказал спасибо: 2
Сказали Спасибо 20 раз(а) в 12 сообщении(ях)
avtoneru на пути к лучшему
По умолчанию Re: AtMega АЦП

Такая мысль - эта самая переменка - "паразитка" насколько я понял из первого сообщения - присутствует только при соединении выхода операционника и входа МК.
Все таки попробуйте вместо внешней опоры - внутренню ... у меня мега88 нормально работала с делителем 100к + 20к, измеряло точно и не фонило ничего.
Ешё я бы попробывал между операционником и входом МК поставить резистор 1-2 кОм, а уже после резистора емкость 0,1-1 мкФ ...

Ещё вопрос - а операционник Rail-to-Rail? возможно 4 В ему - много .
avtoneru вне форума  
Непрочитано 27.05.2011, 14:25  
Alecsej
Вид на жительство
 
Регистрация: 10.08.2005
Сообщений: 385
Сказал спасибо: 0
Сказали Спасибо 161 раз(а) в 140 сообщении(ях)
Alecsej на пути к лучшему
По умолчанию Re: AtMega АЦП

Нагружать ОУ выход на емкость напрямую есть дурной тон. Большинство не допускает единиц нан, максимальные цифры отражены в ДШ.
Alecsej вне форума  
Непрочитано 27.05.2011, 14:37  
Mike121234
Вид на жительство
 
Аватар для Mike121234
 
Регистрация: 02.04.2008
Адрес: Ленинград
Сообщений: 346
Сказал спасибо: 67
Сказали Спасибо 8 раз(а) в 7 сообщении(ях)
Mike121234 на пути к лучшему
По умолчанию Re: AtMega АЦП

Сообщение от Alecsej Посмотреть сообщение
Нагружать ОУ выход на емкость напрямую есть дурной тон. Большинство не допускает единиц нан, максимальные цифры отражены в ДШ.
Это почему?
Что может произойти сверхъестественного? Особенно, если сигнал слабоизменяющийся во времени... Ну не знаю. Первый раз слышу про дурной тон. Там же не 10 000 мкФ.... И скорости не 10 кГц, и АЦП НЕ параллельный....
И где в документации написано, что емкость не может быть большой? http://www.analog.com/static/importe...77_727_747.pdf

Единственная проблема - это ее перезарядка при вкючении или резком изменении напряжения (ток надо большой выдавать). Но для современных ОУ это не проблема. И потом, емкость в 100 мкФ это не криминал. А процесс, повторюсь, очень медленный.

Последний раз редактировалось Mike121234; 27.05.2011 в 14:48.
Mike121234 вне форума  
Непрочитано 27.05.2011, 14:42  
Mike121234
Вид на жительство
 
Аватар для Mike121234
 
Регистрация: 02.04.2008
Адрес: Ленинград
Сообщений: 346
Сказал спасибо: 67
Сказали Спасибо 8 раз(а) в 7 сообщении(ях)
Mike121234 на пути к лучшему
По умолчанию Re: AtMega АЦП

Сообщение от avtoneru Посмотреть сообщение
Такая мысль - эта самая переменка - "паразитка" насколько я понял из первого сообщения - присутствует только при соединении выхода операционника и входа МК.
Все таки попробуйте вместо внешней опоры - внутренню ... у меня мега88 нормально работала с делителем 100к + 20к, измеряло точно и не фонило ничего.
Ешё я бы попробывал между операционником и входом МК поставить резистор 1-2 кОм, а уже после резистора емкость 0,1-1 мкФ ...

Ещё вопрос - а операционник Rail-to-Rail? возможно 4 В ему - много .
Операционник запитан +15В, так что +4 ему не много
А вот насчет резистора с кондеем.... Внутри АЦП, как известно, стоит резистор от 100 до 1кОм последовательно с емкостью, и постановка последовательно 2кОм образует делитель, там даже в доке где-то написано, что источник должен иметь сопротивление не больше 1кОм....
Сейчас мне платы спаяют с 88 из другой партии - гляну. А делитель... Попробую, но все же чистая опора на ref 198 мне представляется куда как лучше....

Последний раз редактировалось Mike121234; 27.05.2011 в 14:49.
Mike121234 вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Трансивер+ATmega= неработает АЦП !! Tcom Микроконтроллеры, АЦП, память и т.д 2 27.05.2011 14:16
ATMega 8 + TWI _OXY_GEN_ Микроконтроллеры, АЦП, память и т.д 4 03.06.2009 17:33
Проблема с АЦП в ATmega 16L malyshevsergey Микроконтроллеры, АЦП, память и т.д 5 16.06.2007 00:55
АЦП на МК без АЦП zelanez Микроконтроллеры, АЦП, память и т.д 7 29.07.2006 09:59
АЦП ATmega 48 Tcom Микроконтроллеры, АЦП, память и т.д 2 11.10.2005 20:32


Часовой пояс GMT +4, время: 10:10.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot