реклама на сайте
подробности

 
 
> Контроль за питанием ATmega32, использование внутреннего ADC
B_Sergey_N
сообщение Aug 8 2008, 22:08
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 17
Регистрация: 28-07-08
Из: г. Санкт-Петербург
Пользователь №: 39 246



Всем привет!
Задача следующая. Необходимо контролировать питание контроллера, индикация светодиодами: ну например при нормальном питании - один цвет, при падающем - свечение меняется. Решил использовать внутренний АЦП, но не знаю как, какой, к примеру, лучше использовать Aref. Читал здесь на форуме, но так и не нашел нормального ответа.

Изначально все было так: AVcc соединялся с AREF; к AVcc, ADC0 и земле припаял переменник; и теперь на ADC0 подавалось половина AVcc. Ну запустил AЦП, вроде все заработало, при изменении переменником напряжения на ADC0 измнялась и индикация, вот, но потом понял, что ступил, так как при изменении самого напряжения питания контроллера ничего не работало, уровень на ADC0 относительно AVcc не менялся.

Короче, народ, подскажите плиз, как лучше сделать такую штуковину.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
VDG
сообщение Aug 8 2008, 22:23
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 845
Регистрация: 10-02-06
Пользователь №: 14 193



Нормальное питание у него одно: 5V.
Как к примеру будете контроллировать питание 2V, когда сам контролллер уже после 4V не соображает и выключен BOD-ом?


--------------------
Go to the top of the page
 
+Quote Post
B_Sergey_N
сообщение Aug 8 2008, 22:27
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 17
Регистрация: 28-07-08
Из: г. Санкт-Петербург
Пользователь №: 39 246



Цитата(VDG @ Aug 9 2008, 02:23) *
Нормальное питание у него одно: 5V.
Как к примеру будете контроллировать питание 2V, когда сам контролллер уже после 4V не соображает и выключен BOD-ом?


По даташиту питание у контроллера 4,5 - 5,5В
Я подаю 5В, при снижении ниже 4,5В должен показать это диодами
Go to the top of the page
 
+Quote Post
defunct
сообщение Aug 9 2008, 01:00
Сообщение #4


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата
уровень на ADC0 относительно AVcc не менялся

Ничего никуда подавать не нужно. У вас и так питание уже подано на AVCC а значит его уже можно измерить. Просто используйте канал не ADC0, а канал 30.

Цитата(B_Sergey_N @ Aug 9 2008, 01:27) *
Короче, народ, подскажите плиз, как лучше сделать такую штуковину.

У АЦП есть калибровочный канал 1.22V (Vbg). С помощью него и определяйте питание.

Aref = 1024 * 1.22V / ADC

По этой формуле вы найдете Reference, если референс поставить на AVCC (как оно у вас и стоит) == VCC - то и получите искомое питание.
Go to the top of the page
 
+Quote Post
Боинг749
сообщение Aug 25 2008, 12:29
Сообщение #5


Частый гость
**

Группа: Новичок
Сообщений: 83
Регистрация: 25-08-08
Пользователь №: 39 801



Цитата(defunct @ Aug 9 2008, 05:00) *
У АЦП есть калибровочный канал 1.22V (Vbg). С помощью него и определяйте питание.

Чёта я не понял 07.gif

Мне всегда казалось, что "1,22V" - это стабилизированное напряжение, которое от Vcc никак не зависит (в определённых пределах конечно.. Например в диапозоне 2...5,5В)
Go to the top of the page
 
+Quote Post
defunct
сообщение Aug 26 2008, 12:31
Сообщение #6


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(Боинг749 @ Aug 25 2008, 15:29) *
Чёта я не понял 07.gif
Мне всегда казалось, что "1,22V" - это стабилизированное напряжение, которое от Vcc никак не зависит

Именно. Никак не зависит от VCC.
Именно поэтому с помощью Vbg и можно измерить VCC без доп. компонентов снаружи.
Внимательно посмотрите на приведенную выше формулу.
Go to the top of the page
 
+Quote Post
Syberian
сообщение Aug 27 2008, 02:18
Сообщение #7


Участник
*

Группа: Свой
Сообщений: 68
Регистрация: 29-12-06
Из: Омск
Пользователь №: 23 999



Цитата(defunct @ Aug 26 2008, 15:31) *
Именно. Никак не зависит от VCC.
Именно поэтому с помощью Vbg и можно измерить VCC без доп. компонентов снаружи.
Внимательно посмотрите на приведенную выше формулу.


Дополнительные компоненты нужны! Как минимум потому, что подача на вход АЦП напряжения, больше AVCC на 0.7В приведет к выгоранию меги. Так что лучше перестраховаться делителем. И ток, если что, ограничит, и диапазон расширит...

Цитата
А откуда 10% разброс у Bandgap? Я все время считал что он раз в 10 меньше. На какой странице ДШ приведена эта цифра?


Погрешность измерения АЦП = +-1 LSB. Учитывая, что АЦП 10-битный, получаем 0.1% погрешность измерения.
Но величина выхода АЦП напрямую зависит от Vref, и поэтому точность будет зависеть от стабилизации Vref.
В свое время интересовался пределами этой стабилизации.
ATmega8 при работе в качестве "напряжометра" с запиткой от Vref в термокамере держала погрешность менее 1% почти во всем темп. диапазоне! (от -35 до +65). Единственно, жутко плавала тактовая RC-генератора - процентов на 30....
От -35 и ниже мега резко начинала "врать" в большую сторону. А Vref уменьшался.

Сообщение отредактировал Syberian - Aug 27 2008, 02:28
Go to the top of the page
 
+Quote Post
defunct
сообщение Aug 30 2008, 01:46
Сообщение #8


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(Syberian @ Aug 27 2008, 05:18) *
Дополнительные компоненты нужны! Как минимум потому, что подача на вход АЦП напряжения, больше AVCC на 0.7В приведет к выгоранию меги. Так что лучше перестраховаться делителем. И ток, если что, ограничит, и диапазон расширит...

Вы поняли о чем я говорю?

Напряжение питания чипа можно измерить без внешних компонентов внутренним каналом Vbg. Для это нужно:
1. выбрать reference - AVCC;
2. снять показания канала Vbg;
3. расчитать по формуле (приведенной ниже) напряжение питания.

VCC = 1.22 * 1024 / ADC

Куда тут делитель подключать? И ток где ограничивать собирались?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- B_Sergey_N   Контроль за питанием ATmega32   Aug 8 2008, 22:08
|- - VDG   Цитата(B_Sergey_N @ Aug 9 2008, 02:27) Я ...   Aug 8 2008, 22:44
||- - B_Sergey_N   Цитата(VDG @ Aug 9 2008, 02:44) Тогда все...   Aug 8 2008, 23:10
||- - VDG   Цитата(B_Sergey_N @ Aug 9 2008, 03:10) На...   Aug 9 2008, 11:12
|- - domowoj   Цитата(defunct @ Aug 9 2008, 08:00) Ничег...   Aug 9 2008, 02:32
||- - defunct   Цитата(domowoj @ Aug 9 2008, 05:32) defun...   Aug 9 2008, 03:40
||- - zhevak   Цитата(domowoj @ Aug 9 2008, 08:32) Но ра...   Aug 9 2008, 11:31
|- - Syberian   Цитата(Боинг749 @ Aug 25 2008, 15:29) Чёт...   Aug 26 2008, 11:45
||- - sysel   Внутри есть встроенный источник опорного напряжени...   Aug 26 2008, 11:52
|- - B_Sergey_N   Цитата(defunct @ Aug 30 2008, 05:46) Вы п...   Sep 19 2008, 13:59
- - B_Sergey_N   Всем огромное спасибо, пойду пробовать. Отпишусь п...   Aug 9 2008, 13:12
- - Qwertty   А откуда 10% разброс у Bandgap? Я все время считал...   Aug 26 2008, 21:16
- - Maik-vs   Цитата(Qwertty @ Aug 27 2008, 01:16) А от...   Aug 27 2008, 07:23


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 9th August 2025 - 09:25
Рейтинг@Mail.ru


Страница сгенерированна за 0.01436 секунд с 7
ELECTRONIX ©2004-2016