|
|
  |
ADC - измерение напряжения, ADC в AVR |
|
|
|
Jul 19 2008, 14:50
|
Частый гость
 
Группа: Участник
Сообщений: 146
Регистрация: 13-07-08
Пользователь №: 38 908

|
Доброго времени суток, уважаемые! Пробую с помощью ADC 16ой меги измерить напряжение на линиях 3.3В и 5В. Для этого цепляю к одной из ног AD на меге [+3.3 Вольт] и [+5 Вольт] и от этих же ног вывожу резисторы 10кОм на корпус GND. Такой способ соединения я увидел в примере mikroPascal, но, как я уже убедился, примеры там "корявые" (и обычно неверно составленные), возник у меня вопрос: вообще так можно ли соединять VCC с ADC меги? И еще немного не ясно, нужно ли для этого делать что-то с опорным напряжением (AVCC вроде бы называется). Насколько я понял из даташита - по умолчанию в ATMEGA16 опорным считается напряжение 2.56 В, но если посчитать по формуле ADC=Vin*1024/Vref, а точнее Vin=ADC*Vref/1024, то 5 вольт я подключить не смогу - насколько я помню, ADC не может превышать 1024, таким образом измерить максимально возможное напряжение можно только равное опорному? Или я что-то не так понимаю?
|
|
|
|
|
Jul 19 2008, 15:30
|

извечный пессимист
    
Группа: Свой
Сообщений: 1 113
Регистрация: 9-10-06
Из: Днепропетровск
Пользователь №: 21 125

|
Цитата(kernel @ Jul 19 2008, 19:50)  Доброго времени суток, уважаемые! Пробую с помощью ADC 16ой меги измерить напряжение на линиях 3.3В и 5В. Для этого цепляю к одной из ног AD на меге [+3.3 Вольт] и [+5 Вольт] и от этих же ног вывожу резисторы 10кОм на корпус GND. Такой способ соединения я увидел в примере mikroPascal, но, как я уже убедился, примеры там "корявые" (и обычно неверно составленные), возник у меня вопрос: вообще так можно ли соединять VCC с ADC меги? И еще немного не ясно, нужно ли для этого делать что-то с опорным напряжением (AVCC вроде бы называется). Насколько я понял из даташита - по умолчанию в ATMEGA16 опорным считается напряжение 2.56 В, но если посчитать по формуле ADC=Vin*1024/Vref, а точнее Vin=ADC*Vref/1024, то 5 вольт я подключить не смогу - насколько я помню, ADC не может превышать 1024, таким образом измерить максимально возможное напряжение можно только равное опорному? Или я что-то не так понимаю? Да максимальное измеряемое напряжение равно опорному, поэтому у вас несколько вариантов: 1 - Установить опорное равное AVcc, если конечно у вас питание мегт +5В 2 - оставить опорное 2,56, а на вход напряжения подавать через делители на резисторах. Напряжение на вход подать через RC фильтр. Кстати, вы не сказали с какой точностью необходимо измерять данные напряжения.
--------------------
Slaves are those of this world Given freedom to lay chains upon The Master The wolf is no longer free Release the chains and come for me
|
|
|
|
|
Jul 19 2008, 15:47
|
Частый гость
 
Группа: Участник
Сообщений: 146
Регистрация: 13-07-08
Пользователь №: 38 908

|
Цитата(Stanislav_S @ Jul 19 2008, 23:30)  Да максимальное измеряемое напряжение равно опорному, поэтому у вас несколько вариантов: 1 - Установить опорное равное AVcc, если конечно у вас питание мегт +5В 2 - оставить опорное 2,56, а на вход напряжения подавать через делители на резисторах. Напряжение на вход подать через RC фильтр. Кстати, вы не сказали с какой точностью необходимо измерять данные напряжения. Спасибо за ответ. Точность желательна до сотых долей Вольт (если такое вообще возможно). Я так понимаю можно на AVcc можно подать 5В? (это и будет установкой опорного 5В?  ) И зачем нужен Aref? ЗЫ: мега питается от 5 Вольт
Сообщение отредактировал kernel - Jul 19 2008, 15:50
|
|
|
|
|
Jul 19 2008, 16:04
|

извечный пессимист
    
Группа: Свой
Сообщений: 1 113
Регистрация: 9-10-06
Из: Днепропетровск
Пользователь №: 21 125

|
Цитата(kernel @ Jul 19 2008, 20:47)  Спасибо за ответ. Точность желательна до сотых долей Вольт (если такое вообще возможно). Я так понимаю можно на AVcc можно подать 5В? (это и будет установкой опорного 5В?  ) И зачем нужен Aref? ЗЫ: мега питается от 5 Вольт Если нужна такая точность, то напряжение подаете через резистивный делитель, после него буфер на ОУ, далее RC фильтр, опорное установите 2,56 ( REFS1=1, REFS0=1) на выход ARef конденсатор 0,1 X7R, питание на AVcc через RC цепочку 100Ом 0,1мкФ.
--------------------
Slaves are those of this world Given freedom to lay chains upon The Master The wolf is no longer free Release the chains and come for me
|
|
|
|
|
Jul 19 2008, 16:20
|
Частый гость
 
Группа: Участник
Сообщений: 146
Регистрация: 13-07-08
Пользователь №: 38 908

|
Цитата(Stanislav_S @ Jul 20 2008, 00:04)  Если нужна такая точность, то напряжение подаете через резистивный делитель, после него буфер на ОУ, далее RC фильтр, опорное установите 2,56 ( REFS1=1, REFS0=1) на выход ARef конденсатор 0,1 X7R, питание на AVcc через RC цепочку 100Ом 0,1мкФ. Бррр... Я в этом деле новичок, можно ли расшифорвать следующее: Цитата напряжение подаете через резистивный делитель Мне просто нужно один резистор от AVCC до самого питания VCC подцепить, чтобы добиться 2.56? Или я не прав? Цитата после него буфер на ОУ Эмм.. А что это? Какой он нужен? Цитата далее RC фильтр Цитата конденсатор 0,1 X7R А что значит X7R? Цитата RC цепочку 100Ом 0,1мкФ  Я так понял, надо соединить как-то кондюк с резистором? Извиняюсь за глупые вопросы, просто никогда с этим не сталкивался
|
|
|
|
|
Jul 19 2008, 16:45
|

извечный пессимист
    
Группа: Свой
Сообщений: 1 113
Регистрация: 9-10-06
Из: Днепропетровск
Пользователь №: 21 125

|
Цитата(kernel @ Jul 19 2008, 21:20)  Бррр... Я в этом деле новичок, можно ли расшифорвать следующее: Мне просто нужно один резистор от AVCC до самого питания VCC подцепить, чтобы добиться 2.56? Или я не прав? Эмм.. А что это? Какой он нужен? А что значит X7R?  Я так понял, надо соединить как-то кондюк с резистором? Извиняюсь за глупые вопросы, просто никогда с этим не сталкивался  Примерно вот так, всякие питающие напряжения и другие подробности опущены.
Прикрепленные файлы
Test.pdf ( 34.25 килобайт )
Кол-во скачиваний: 271
--------------------
Slaves are those of this world Given freedom to lay chains upon The Master The wolf is no longer free Release the chains and come for me
|
|
|
|
|
Jul 19 2008, 16:57
|

Местный
  
Группа: Участник
Сообщений: 355
Регистрация: 27-03-07
Из: Україна, Чуднів
Пользователь №: 26 530

|
Цитата(kernel @ Jul 19 2008, 19:20)  Мне просто нужно один резистор от AVCC до самого питания VCC подцепить, чтобы добиться 2.56? Или я не прав? нет, не правы. У контроллера есть свои внутренние источники опорного напряжения. Ваши действия приводят к неправильной банальной разводке питания. обычно AVCC соединяют через фильтр питания, впрочем Вам уже Stanislav_S уже рассказал, как и нащёт подключения Цитата опорное установите 2,56 ( REFS1=1, REFS0=1) это раздел для начинающих.
--------------------
нельзя недооценивать предсказуемость глупости
|
|
|
|
|
Jul 19 2008, 17:03
|
;
     
Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509

|
Цитата(kernel @ Jul 19 2008, 18:47)  Спасибо за ответ. Точность желательна до сотых долей Вольт 5вольт да на 1024 разряда = 5/1024=4,88 мВ Так шо все в порядке. Цитата(kernel @ Jul 19 2008, 19:20)  А что значит X7R? Это ТКЕ - температурный коэфф. емкости. На Aref - например 1мкФ повесить. При настройке ADMUX= (1<<REFS0) Менять опорное по ходу нельзя - придецца ждать окончания переходного процесса.
|
|
|
|
|
Jul 19 2008, 17:08
|
Местный
  
Группа: Свой
Сообщений: 374
Регистрация: 6-09-05
Из: Тирасполь, Приднестровье
Пользователь №: 8 294

|
Цитата(Stanislav_S @ Jul 19 2008, 19:45)  Примерно вот так, всякие питающие напряжения и другие подробности опущены. То ли я тупой, то ли ничего не понимаю- зачем там ОУ? без него не будет работать? Зачем еще X7R? Зачем внешняя опора если делитель используется? Калибровки по внутренней опоре разве не достаточно?
|
|
|
|
|
  |
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0
|
|
|