• I






      
           

Научно-популярный образовательный ресурс для юных и начинающих радиолюбителей - Popular science educational resource for young and novice hams

Основы электричества, учебные материалы и опыт профессионалов - Basics of electricity, educational materials and professional experience

КОНКУРС
language
 
Поиск junradio

Радиодетали
ОК
Сервисы

Stock Images
Покупка - продажа
Фото и изображений


 
Выгодный обмен
электронных валют

Друзья JR



JUNIOR RADIO

 

Индикатор уровня заряда аккумулятора на Arduino



 

 

Все батареи имеют определенный предел напряжения для разряда, если он выходит за установленные пределы, срок службы батареи резко сократится. Будучи энтузиастами электроники, у всех нас может быть батарея для тестирования наших прототипов. Поскольку мы концентрируемся на прототипе во время эксперимента, мы меньше заботимся о батарее. Предлагаемая схема зарядного устройства покажет вам, сколько энергии осталось в батарее, эта схема может быть подключена к аккумулятору, пока вы прототипируете свои схемы. Когда эта цепь указывает на низкую батарею, вы можете зарядить аккумулятор. Цепь имеет 6 светодиодов, один светодиод горит одновременно, чтобы указать уровень напряжения батареи. Если ваша батарея заполнена, то большинство светодиодов светится, и вы разряжаетесь или собираетесь умирать, правый светодиод горит.


 

Схема состоит из Arduino, который является мозгом системы, потенциальным делителем, который помогает Arduino пробовать входное напряжение. Для калибровки вышеуказанной настройки используется предустановленный резистор. Серия из 6 светодиодов отображает уровень заряда батареи.

Калибровка светодиодных индикаторов

Ниже приведена связь между уровнем светодиода и уровнем заряда аккумулятора:

LED1 - от 100% до 80%

LED2 - от 80% до 60%

LED3 - от 60% до 40%

LED4 - 40% до 20%

LED5 - от 20% до 5%

LED6 - <5% (зарядите аккумулятор)

Arduino измеряет узкий диапазон напряжения от 12,70 В до 11,90 В. Полностью заряженная батарея должна иметь напряжение выше 12.70 В после отсоединения от зарядного устройства. Низкое напряжение батареи не должно опускаться ниже 11,90 В для 12 В герметичной свинцово-кислотной батареи.

 

 

Код программы:

//--------Program developed by R.Girish---------//
int analogInput = 0;
int f=2;
int e=3;
int d=4;
int c=5;
int b=6;
int a=7;
int s=13;
float vout = 0.0;
float vin = 0.0;
float R1 = 100000;
float R2 = 10000;
int value = 0;
void setup()
{
Serial.begin(9600);
pinMode(analogInput,INPUT);
pinMode(s,OUTPUT);
pinMode(a,OUTPUT);
pinMode(b,OUTPUT);
pinMode(c,OUTPUT);
pinMode(d,OUTPUT);
pinMode(e,OUTPUT);
pinMode(f,OUTPUT);
digitalWrite(s,LOW);
digitalWrite(a,HIGH);
delay(500);
digitalWrite(b,HIGH);
delay(500);
digitalWrite(c,HIGH);
delay(500);
digitalWrite(d,HIGH);
delay(500);
digitalWrite(e,HIGH);
delay(500);
digitalWrite(f,HIGH);
delay(500);
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
}
void loop()
{
value = analogRead(analogInput);
vout = (value * 5.0) / 1024;
vin = vout / (R2/(R1+R2));
Serial.println("Input Voltage = ");
Serial.println(vin);
if(vin>12.46) {digitalWrite(a,HIGH);}
else { digitalWrite(a,LOW);}
if(vin<=12.46 && vin>12.28) {digitalWrite(b,HIGH);}
else { digitalWrite(b,LOW);}
if(vin<=12.28 && vin>12.12) {digitalWrite(c,HIGH);}
else { digitalWrite(c,LOW);}
if(vin<=12.12 && vin>11.98) {digitalWrite(d,HIGH);}
else { digitalWrite(d,LOW);}
if(vin<=11.98 && vin>11.90){digitalWrite(e,HIGH);}
else {digitalWrite(e,LOW);}
if(vin<=11.90) {digitalWrite(f,HIGH);}
else {digitalWrite(f,LOW);}
delay(2000);
}
//--------Program developed by R.Girish---------//

 

 

В начало обзора



Купить радиодетали для ремонта
 



Необходимо добавить материалы...
Результат опроса Результаты Все опросы нашего сайта Архив опросов
Всего голосовало: 380



          

Радио для всех© 2024