Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Измерение напряжения каждого из последовательно соединенных аккумуляторов с помощью АЦП
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Mastakkos
Ситуация такая.

Есть устройство, которое питается от батареи последовательно соединенных аккумуляторов, 12 В каждый. Аккумуляторов, например 5 (вообще, может быть разное количество). Необходимо с помощью atmega определять напряжение на каждом из аккумуляторов.

Проблем осложняется тем, что МК питается от одного из тех же аккумуляторов, через КРЕНку. Даже если мы применим дифференциальный режим АЦП, абсолютные значения на измерительных пинах плюса и минуса не могут превышать абсолютного значения VCC МК относительно GND МК, согласно даташиту. А это максимум 5 В. Если был был один аккуулятор - проблем бы не было. сделали делитель на резисторах, и всего делов. Но аккумуляторов-то несколько. Т.е. уже на втором аккумуляторе мы получаем превышение над VCC МК на 12 c лишним вольт.

Подскажите, как выкрутиться из этой ситуации?
Tanya
Цитата(Mastakkos @ Jul 2 2011, 18:33) *
Подскажите, как выкрутиться из этой ситуации?

Если хотите точно, то можно...
1. конденсатор коммутировать (несколько реле) - подсоединяем его к нужной коробочке, а потом - на вход АЦП.
2. несколько точных делителей...
3. несколько схем на ОУ - дифференциальных усилителей (есть готовые... с допустимым синфазным в сотни вольт)
4 - 100 - эти пункты оставляю другим фантазерам..
prottoss
Цитата(Mastakkos @ Jul 2 2011, 20:33) *
Ситуация такая.

Есть устройство, которое питается от батареи последовательно соединенных аккумуляторов, 12 В каждый. Аккумуляторов, например 5 (вообще, может быть разное количество). Необходимо с помощью atmega определять напряжение на каждом из аккумуляторов.
Обычно, у меги 8 входов АЦП. К каждому входу АЦП, через рассчитаный делитель цепляете линейку батарей.
Далее рассчитываете алгоритм измерения.
1. Измеряете напряжение первой батареи (Б1).
2. Запоминаете значение Б1.
3. Измеряете напряжение Б1+Б2.
4. Запоминаете Б1+Б2.
5. Вычисляете Б2=(Б1+Б2)-Б1...
6. ИТД...
domowoj
Поставьте на каждый акк. по своему измерителю на, допустим,
на какой-либо Тиньке, имеющей на борту АЦП и УАРТ.
И МК собирающий эту информацию через опторазвязку.
Microwatt
Цитата(Mastakkos @ Jul 2 2011, 17:33) *
Проблем осложняется тем, что МК питается от одного из тех же аккумуляторов, через КРЕНку.

Это очень плохое решение. Питайте все от ВСЕХ аккумуляторов. Иначе батарея скоропостижно помрет.
Mastakkos
Tanya, за споосбы спасибо, только они мне не показались такими уж точными. На каскаде делителей будет огромная потеря точности просто из-за того, что шкалу АЦП с 12 вольт растягиваем до 50 вольт. Конденсатор имеет свойство разряжаться, схемы с реле и ОУ весьма громоздки.

prottoss, ну это в принципе то же, что у Tanya, пункт 2. Алгоримт вполне рабочий, но проблема та же - шкала АЦП должна соответствовать 50-ти вольтам вместо 12-ти, что дает нам слишком большую "цену деления".

domowoj, наиболее сложный и интересный вариант, но с учетом того, что на батареях ещё какое-какие утилитарные действия производит бы неплохо, скорее всего я так и сделаю. Благодарю!

Microwatt, в общем случае я с вами согласен, в этом частном - не очень. Что плохого сделает аккуму на 33 А*ч и 12 вольт маленький микроконтроллер без особой обвязки? Перекос конечно будет, но какой-нибудь совсем микроскопический.
domowoj
Цитата(Mastakkos @ Jul 3 2011, 02:02) *
domowoj, наиболее сложный и интересный вариант, но с учетом того, что на батареях ещё какое-какие утилитарные действия производит бы неплохо, скорее всего я так и сделаю. Благодарю!

Как раз не совсем сложный.
Поставить на каждой плате измерителя 3х разрядный микропереключатель, которым устанавливать № аккумулятора
(3 разряда - 8 штук), и программа МК в каждом измерителе будет одна и та же, и схема и печатка тоже.
Для связи с "центральным" МК, который должен опросить каждый из акк. по его номеру, организуйте интерфейс "токовая петля".

Недостатком наверное является бОльшая погрешность измерения,
чем, скажем, в варианте с переключаемым конденсатором.
prottoss
Цитата(Mastakkos @ Jul 3 2011, 01:02) *
...но проблема та же - шкала АЦП должна соответствовать 50-ти вольтам вместо 12-ти, что дает нам слишком большую "цену деления".
А Вам какая точность нужна? для 8 акк. 12 вольт точность будет (примерно) 8*12 / 1024 = 0,09 вольт на деление.

Вариант от domowoj, безусловно, хороший, но относительно дорогой.
Sirko
Цитата
Вариант от domowoj, безусловно, хороший, но относительно дорогой.
По сравнению со стоимостью одного
Цитата
аккуму на 33 А*ч и 12 вольт
то - не сильно.

Но при использовании многоканального, 16-и битного АЦП и резитивного делителя на каждый узел, между аккууляторами - получается в районе 13 бит (это в идеале) на каждый аккум. Т.е. где-то 1мВ дискретность. А если показания должным образом отфильтровать (в цифре), то эти 13 бит можно растянуть еще на пару-тройку бит.

Схематически, такой вариант мне кажется по проще. (имхо)
Mastakkos
НЕХ, интересные ссылки, спасибо! Не знал, что это целая отдельная отрасль.

Цитата
Для связи с "центральным" МК, который должен опросить каждый из акк. по его номеру, организуйте интерфейс "токовая петля".


Ну мне UARЕ по-привычнее.

Цитата
Недостатком наверное является бОльшая погрешность измерения,
чем, скажем, в варианте с переключаемым конденсатором.


Вот этого не понял совершенно. В чем источник БОльшей погрешности, на ваш взгляд?

Цитата
А Вам какая точность нужна? для 8 акк. 12 вольт точность будет (примерно) 8*12 / 1024 = 0,09 вольт на деление.


На этом форуме многократно встречал утверждение, что последние два бита измерения АЦП стоит отбрасывать, т.к. точность у них обычно невысокая, и им можно доверять горазло меньше, чем остальным. Указанная вами точность вполне достаточна, если бы она была стабильной.




prottoss
Цитата(Mastakkos @ Jul 4 2011, 02:28) *
На этом форуме многократно встречал утверждение, что последние два бита измерения АЦП стоит отбрасывать, т.к. точность у них обычно невысокая, и им можно доверять горазло меньше, чем остальным. Указанная вами точность вполне достаточна, если бы она была стабильной.
Почитайте аппноуты, касающиеся использования АЦП
вот здесь http://www.atmel.com/dyn/products/document...ubfamily_id=760
и еще обратите внимание вот на это семейство AVR http://www.atmel.com/dyn/products/param_ta...bfamily_id=1603 - здесь расширенный АЦП.
Mastakkos
Да, вот ещё вопрос. Если мы ставим на каждую батарею по своей attiny, то от чего она должна питаться? Отчевидно, от своей же батареи через КРЕНку? Не повлияет ли это на точность измерений при колебании степени заряженности батареи?
prottoss
Цитата(Mastakkos @ Jul 4 2011, 02:43) *
Да, вот ещё вопрос. Если мы ставим на каждую батарею по своей attiny, то от чего она должна питаться? Отчевидно, от своей же батареи через КРЕНку? Не повлияет ли это на точность измерений при колебании степени заряженности батареи?
Если аккумуляторы не планируется разряжать ниже 5 вольт а в качестве опорного напряжения для АЦП будет использоваться напряжение питания МК то погрешность будет складываться как нестабильность источника питания плюс погрешность самого АЦП.

Кстати, при питании от линейного стабилизатора - аля КРЕНка - нужно еще подсчитать, какой потребляемый ток от одного канала будет, все таки КРЕНке гасить как-никак 7 вольт. А там еще и оптроны потребляют...
domowoj
Цитата(Mastakkos @ Jul 4 2011, 03:28) *
Ну мне UART по-привычнее.

Токовая петля это тот же RS232, но сигнал токовый,
если не изменяет память, "0" - течет ток 20мА,
"1" -течет ток менее 3 мА(или наоборот).
Преимущество - опторазвязка, бОльшая помехоустойчивость,


OlegPowerC
Посмотрите здесь
http://www.edn.com/contents/images/6648791.pdf
Я бы отказался от AVR и поставил бы дискретный сигма-дельта АЦП
Mastakkos
Цитата(domowoj @ Jul 4 2011, 05:35) *
Токовая петля это тот же RS232, но сигнал токовый,
если не изменяет память, "0" - течет ток 20мА,
"1" -течет ток менее 3 мА(или наоборот).
Преимущество - опторазвязка, бОльшая помехоустойчивость,


Ну я UART не голым пускать собрался, а через MAX485, а потом через отпроны. Вопрос по поводу токовой петли: как организовать коммуникацию нескольких МК батарей с одним головным МК? С UART вроде все просто - головной МК - мастер, остальные слейвы, всех сажаем на одни и те же провода, только для мастера RX и TX поменяются местами. В итоге возможна двусторонняя коммуникация между мастером и каждым слейвом в отдельности. Коммуникация между слейвами невозможна, но она собственно и не нужна.

А как то же самое с токовой петлей реализовать?
ukpyr
Цитата
А как то же самое с токовой петлей реализовать?
последовательным соединением оптопар
domowoj
Цитата(ukpyr @ Jul 5 2011, 02:21) *
последовательным соединением оптопар

!
Mastakkos
domowoj, прошу прощения, насчет токовой петли я несколько не в теме. Вот нашел в инете сейчас картинку одну - вы про такую схему говорите?

Нажмите для просмотра прикрепленного файла

Если да, означает ли, что при такой схеме RS485 уже можно и не использовать? Расстояние между устройствами около метра, но так же в пределах метра есть источник ЭМИ (двигатель 5 кВт).
domowoj
Да это она.
Только у мастера нужно соорудить полноценный управляемый генератор тока и (без ограничевающего резистора)
подать на, последовательно соединенные светодиоды "слейвов".
Транзисторы оптронов "слейвов" объединить в "монтажное ИЛИ" и подать на светодиод RX мастера.
Tanya
Цитата(domowoj @ Jul 5 2011, 19:38) *
Да это она.

Сомнительно... Оптронов какой-то избыток...
domowoj
Цитата(Tanya @ Jul 5 2011, 23:11) *
Сомнительно... Оптронов какой-то избыток...

Да, оптронов избыток,
в 2 раза можно сократить.
Tanya
Цитата(domowoj @ Jul 5 2011, 20:17) *
Да, оптронов избыток,
в 2 раза можно сократить.

Также бы и нарисовали свое ИЛИ... А то вопрощающий, которому эта схема показалась нормальной, не так поймет.
Я тоже... не очень... только догадываюсь. И номиналы подозрительные. Типа - невидимый входной фильтр...
domowoj
Можно конечно за ТС всё сделать, но нужно же напрягать извилины.
К сожалению на большом компе посыпался недавно купленный Террабайтник,
а на ноуте нет ни одной рисовалки,
только набросок от руки, намек для ТС.
Забыл нарисовать токоограничивающий резистор впослед светодиоду
Tanya
Цитата(domowoj @ Jul 5 2011, 20:51) *
Можно конечно за ТС всё сделать, но нужно же напрягать извилины.
К сожалению на большом компе посыпался недавно купленный Террабайтник,
а на ноуте нет ни одной рисовалки,
только набросок от руки, намек для ТС.
Забыл нарисовать токоограничивающий резистор впослед светодиоду

Я бы так не делала...
Попробую без рисунков. Все слейвы зажигают свои светодиоды на стороне мастера. А фотоприемники этих рабских светодиодов объединены пресловутым ИЛИ (это еще как посмотреть... ИЛИ или И....) на хозяйской стороне.
domowoj
Не возражаю, так даже лучше, и оптронов меньше.
Mastakkos
Всем спасибо большое, вроде разобрались! )

Отправляю итоговую схему напоследок. Покритикуйте, если что не так.

Нажмите для просмотра прикрепленного файла
domowoj
В Б-Э ранзисторных ключей обязательно резистор,
R1 , и ему подобные, можно и увеличить.
Ток через светодиоды оптронов(5 мА) - "маловато будет".
И я бы все-таки объединил коллекторы, проинвертировав потом сигнал еще раз.
Sirko
Цитата
Покритикуйте, если что не так
Не вижу смысла применять ключи на стороне слэйвов.

И вообще, извините, что повторяюсь, но целесообразнее использовать один хороший АЦП, вместо этого всего огорода.
В чем выигрыш Вашего подхода?

Как по мне, проще сделать так.
Нажмите для просмотра прикрепленного файла
Доводы я приводил Здесь.


Забыл сказать, - по поводу:
Цитата
Я бы так не делала...
в этом есть смысл.

Если каждый, индивидуальный АЦП находится вблизи своей батареи, т.е. удаленно от основного контроллера, то опто-развязку желательно делать индивидуально на каждом из слэйвов и на мастере. Это повысит помехоустойчивость и повысит ремонтопригодность устройства в случае "криворукого" обслуживания аккумуляторов.
Microwatt
Вполне работоспособно. А математика сложений-вычитаний- калибровок - на то и программеры, чтоб им служба медом не казалась.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.