Звуков индикатор за изтощена батерия / Arduino - Low Battery Alarm
/kn34pc.com/конструкции/...

След като конструирах радиоуправляеми модели с Arduino и nRF24L01, установих че трябва да предпазя изпълнителните механизми при спадане на напрежението на батериите, тъй като те започват да реагират неадекватно. Както е известно производителят гарантира стабилна работа на Arduino в интервал на захранващото напрежение от 7V до 12V, а запазва работоспособност дори в малко по-широк обхват.

Когато една конструкция реализирана под управление на Arduino се захранва с батерии, например 2 бр. Li-Ion (с напрежение около 8V) или 6 бр. батерии тип R6 или AA (с напрежение 9V), то при изтощаването им под определена стойност, процесите в Arduino се нарушават.

За да избегнем този ефект е необходимо да поставим сигнализатор, аларма, при изтощаване на батериите под прага на гарантирана работа на Arduino, а именно около 6,5V. По този начин може да защитим всяка наша конструкция от нежелани ефекти или да сменим батериите. Кодът, който предлагам има за цел именно тази защита, сигнализирайки спадането на батериите под избрания праг от 6,5V.

Този код може да се "вмъкне" в основния код на който и да е друг скеч и да ни осигури работата на Arduino.


Кратко описание на програмния код:

Част от напрежението на батерията се подава на аналогов вход на Arduino чрез резистивен делител. След като се провери неговата стойност се задава логически праг " <= 500" (приблизително 2,5V или 512 за АЦП). Ако тази функция е изпълнена, означава че напрежението на батерията е спаднало под определена стойност.

Тогава функцията изпраща на цифров изход на Arduino състояние "HIGH", последния придобива потенциал равен на захранването на платката и ако на изхода му е свързан LED диод, последният светва. И обратно, ако логическият праг е ">= 500" на цифровия изход се подава състояние "LOW", тоест напрежението на батерията е в норми и светодиодът е изключен.

Резистивният делител може да бъде със стойности 2,2 kΩ/6, 8kΩ ако захранването се осъществява с два броя Li-Ion батерии. Прагът "<= 500" може да се подбере по-точно за конкретното напрежние на батериите, така че да съответства на спад на напрежението на батериите до около 6,4-6,5 волта подавано на вход Vin на Arduino и детектирано чрез аналогов вход А0.

Ако обаче, заменим състоянията на цифровия изход "HIGH" / "LOW" с допълнителна функция за проверка, въвеждайки променливата "zumer", изграждаме подфункция zumer, в която включваме функцията "мигащ светодиод" (Blinking LED), но забележете – реализирана с команда "millis()" и в този случай на цифровия изход свързваме пиезозумер, който издава прекъсващ повторяем звук през 500 msec, това вече е сигурен индикатор за изтощена батерия, тоест звукова аларма.

Забележка: в Arduino IDE е включен код, наречен "Blink", който е реализиран с командата "delay()" и не е подходящ за случая поради това, че delay спира и забавя изпълнението на целия програмен код за определеното време на действие, в случая 500 msec.


В самия скеч на програмния код са дадени допълнителни разяснения за използваните константи, променливи и команди.


На следващата фигура може да се запознаете с електрическото схема на свързване:


low_battery_alarm.zip [zip,fzz,ino][6kb]

 

На следващото видео може да проследите работата на това малко, но полезно устройство: 

Валери Терзиев
3 май 2021 година