Вход

Просмотр полной версии : Отслеживание напряжения на АКБ


skanch
10.02.2017, 21:40
Может кому-то пригодится схема отслеживания напряжения на АКБ в машине для самостоятельного изготовления "умного" блока питания на контроллере Arduino (https://duino.ru/arduino-pro-mini.html) . Я (как и многие) отслеживаю состояние АКБ через делитель напряжения и аналоговый вход на Arduino. Как это делается можно почитать здесь (http://tim4dev.com/arduino-secret-true-voltmeter/). Но есть альтернативный способ сделать это. Использовать регулируемый стабилитрон TL431 (http://www.naliwator.narod.ru/other/tl431rus.pdf).

Работает схема следующим образом:если потенциал на Ref меньше 2,5В, стабилитрон TL431 заперт и через него проходит мизерный ток - 0,4 мА. Оптрон тоже заперт и на выходе уровень "LOW"(чтобы оптрон гарантированно был заперт при токе в 0.4 мА параллельно ставим резистор на 220 Ом ) .
Величина напряжения Uз при котором открывается оптрон , определяется делителем напряжения R1 и R2. Его можно рассчитать по формуле:

R2 = 2,5 х R1/(Uз — 2,5)

Я поставил R2 на 20К, что соответствует примерно 15В. И последовательно с R2 поставил подстроечник R7 на 10К, что в итоге дало возможность плавной регулировки порога срабатывания стабилитрона в интервале напряжения от 10.4 В до 14.6 В. Стабилитрон реагирует на изменение напряжения с точностью в 0.01 В.

Когда на контакте Ref больше 2,5 В, стабилитрон TL431 откроется и оптрон тоже, что даст на выходе уровень "HIGH". Это дает возможность отследить средствами Arduino напряжение на АКБ и что-то сделать по событию: если на выходе оптрона уровень "LOW" (АКБ просел), то выключаем что-то или все по алгоритму установленной программы, если на выходе оптрона уровень "HIGH"(АКБ в норме)- программа отрабатывает по алгоритму и ждет когда АКБ "обсохнет" и на выходе оптрона снова окажется "LOW". Если использовать две такие схемы, то можно одновременно отслеживать и "просадку", и максимально высокое напряжение на АКБ. Как-то так...
Схема мною была опробована на одном из моих распределителей питания (http://www.pccar.ru/showthread.php?t=25628) и как мне показалось - работала более стабильно, нежели с отслеживанием через аналоговые входы Arduino.
На мой взгляд этот метод гораздо проще и заслуживает внимания...
Но это мое мнение...

Небольшой простенький код :


int inPin = 5; // контакт, к которому подключен выход стабилитрона
int outPin = 13; //контрольный светодиод "АКБ в норме"
int outPin1 = 8; //контрольный светодиод "АКБ разряжен"

void setup()

{
pinMode(inPin, INPUT);// Устанавливаем контакт, как "Вход"
pinMode(13, OUTPUT); // Устанавливаем контакт, как "Выход" (просто для контроля работы):
pinMode(8, OUTPUT); // Устанавливаем контакт, как "Выход" (просто для контроля работы):
}

void loop()

{

if (digitalRead(inPin) == LOW)//если АКБ разряжен, то
{
digitalWrite (13, LOW);// выключаем контроль "АКБ в норме"
digitalWrite (8, HIGH); // и включаем контроль "АКБ разряжен"
}

else // иначе

{
digitalWrite (13, HIGH); // включаем контроль "АКБ в норме"
digitalWrite (8, LOW); // и выключаем контроль "АКБ разряжен"
}
}


Добавил вариант схемы блока питания с использованием вышеуказанного стабилитрона (на схеме Q1, Q2, Q3 - сборки на стабилитроне TL431 для отслеживания напряжения на АКБ).

ВладимирC
11.02.2017, 00:02
Спасибо, еще бонусом развязка от бортсети, для тех кому она нужна конечно. В этом случае выход оптрона с резистором отрываем от общей земли и подаем на развязанную землю. Или вообще, не используя Ардуино, подключаем выход оптрона к управляющему контакту DC-DC и рубим питание полностью.

ВладимирC
11.02.2017, 11:33
Да, еще добавлю. По даташиту:
"Микросхемы TL431C и TL431AC
предназначены для работы при
температурах от 0°C до 70°C, а микросхемы
TL431A и TL431AI для работы от –40°C до
85°C" Для автомобиля конечно предпочтительнее TL431A и TL431AI

skanch
11.02.2017, 13:58
Да, еще добавлю. По даташиту:
"Микросхемы TL431C и TL431AC
предназначены для работы при
температурах от 0°C до 70°C, а микросхемы
TL431A и TL431AI для работы от –40°C до
85°C" Для автомобиля конечно предпочтительнее TL431A и TL431AI
Согласен - это немаловажно! Благодарю за дополнение!
У "ST Microelectronics" (https://lib.chipdip.ru/583/DOC001583217.pdf) в новых версиях микросхемы температура еще выше.

skanch
13.02.2017, 20:05
В продолжение темы...
Сделал "переходную" плату для тестов на свой распределитель питания. "Сдул" делители напряжения с платы и впаял "переходник" со стабилизаторами. Использовал два стаба -один для отслеживания напряжения старта системы (не менее 12.2В), второй отслеживание "просадки" на АКБ (11.9В). Установка напряжений подстроечными резисторами в пределах напряжения от 10.4 В до 14.6 В. Точность отслеживания напряжения видно на видео.

7kkg3-LW8cY

ВладимирC
13.02.2017, 23:09
А для чего так много MP1584?

skanch
14.02.2017, 01:02
А для чего так много MP1584?
Один питает Arduino, три с регулируемым напряжением и временными задержками на выход... Еще один канал не регулируемый по напряжению (на нем напряжение АКБ), но тоже с возможностью временной задержки. Всего четыре канала. В этой версии так...

mazay66
14.02.2017, 21:00
Стабилитрон реагирует на изменение напряжения с точностью в 0.01 В.
Классно! Если будете менять плату под монтаж стабилитрона, советую ещё разместить на плате дополнительный ключ, срабатывающий от +12В (от лампы заднего хода) и коммутирующий цепь питания +5В. Это добавит универсальности данному блоку и не потребует больших вложений.
P.S. Для а/м с автоматической коробкой передач, потребуется секундная задержка на срабатывания ключа.

skanch
14.02.2017, 21:06
...советую ещё разместить на плате дополнительный ключ, срабатывающий от +12В (от лампы заднего хода) и коммутирующий цепь питания +5В.
Вполне реализуемо - почему бы нет?!

ВладимирC
15.02.2017, 00:45
Один питает Arduino, три с регулируемым напряжением и временными задержками на выход... Еще один канал не регулируемый по напряжению (на нем напряжение АКБ), но тоже с возможностью временной задержки. Всего четыре канала. В этой версии так...

Наверноe вопрос неправильно поставлен был). Питание ардуино и выходы я и по схеме вижу, заинтересовало для чего именно на практике используются эти выходы, учитывая ещё и наличие NSD?

skanch
15.02.2017, 01:13
Наверноe вопрос неправильно поставлен был). Питание ардуино и выходы я и по схеме вижу, заинтересовало для чего именно на практике используются эти выходы, учитывая ещё и наличие NSD?
Плата разрабатывалась под конкретный заказ. Подразумевалось питание планшета - отдельный канал, питание USB HUB - отдельный канал, наличие канала с NSD (что заказчик планировал от него питать- ответить затрудняюсь). Четвертый канал - свободный. Еще на плате разведены два слаботочных канала с выходом через оптрон или твердотельное реле и два канала на "Вход" для подключения внешних аналоговых датчиков или кнопок. Проект был реализован - заказчик доволен, остались платы и я задействовал все каналы (что захочет установщик - известно установщику). Какой-то специальной задачи по использованию каналов я не ставил. Как-то так...

ВладимирC
15.02.2017, 11:31
Плата разрабатывалась под конкретный заказ. Подразумевалось питание планшета - отдельный канал, питание USB HUB - отдельный канал, наличие канала с NSD (что заказчик планировал от него питать- ответить затрудняюсь). Четвертый канал - свободный. Еще на плате разведены два слаботочных канала с выходом через оптрон или твердотельное реле и два канала на "Вход" для подключения внешних аналоговых датчиков или кнопок. Проект был реализован - заказчик доволен, остались платы и я задействовал все каналы (что захочет установщик - известно установщику). Какой-то специальной задачи по использованию каналов я не ставил. Как-то так...

Спасибо, теперь понял. Думал какой то свой проект, вот и заинтересовался. А так все очень красиво.

skanch
30.10.2017, 13:06
В настоящий момент схему на регулируемом стабилитроне TL431 не использую - большой ток потребления (до 20 мА), погрешность, которая меня не устраивает и размеры (количество) деталей. Рекомендую использовать супервизоры питания. "Супервизоры питания - интегральные микросхемы, которые изменяют состояние своего выходного цифрового сигнала ("0" или "1"), если уровень напряжения питания снизился ниже определенной пороговой величины напряжения".
На рисунке схема подключения супервизора (http://www.farnell.com/datasheets/47845.pdf) питания. Средствами одной микросхемы можно отследить только одно состояние напряжения (без дополнительной "обвязки"). Пример настройки минимального напряжения:
на регулируемом источнике питания выставляем желаемое напряжение "Vin"(как пример - 11.5В), по схеме - подстроечником в делителе напряжения добиваемся на выходе супервизора изменения состояния выхода на противоположное (есть супервизоры, на выходе которых при срабатывании появляется "0" - подтягивается к "земле", а есть у которых появляется "высокий" уровень - "1" ), в нашем случае это "0" - появляется "земля". Теперь схема будет работать следующим образом : если напряжение на входе делителя выше 11.5В, то на "Pin" контроллера через резистор 10К будет подаваться +5В, что соответствует "высокому" уровню "HIGH", но как только напряжение на входе делителя упадет ниже 11.5В - на выходе супервизора появляется "земля" и соответственно контроллер воспринимает это уже, как уровень "LOW".
Точно так же выставляется отслеживание "максимального" напряжения, только уже на другом "пине" контроллера и с другим супервизором.