Индикатор напряжения АКБ на Attiny13

На микроконтроллере

Устройство предназначено для контроля за напряжением на аккумуляторе 12 вольт, путем изменения прошивки аккумулятор может быть применен на любое напряжение: 1.2 вольт, 3.7 вольт, 6 вольт и т.п. Чтобы изменять параметры измерения не объязательно копаться в прошивке, проще повозиться с резисторным делителем — подобрать сопротивления.

Схема индикатора:

Индикатор напряжения АКБ на Attiny13

Схема основана на микроконтроллере Attiny13, в качестве индикаторов использованы 3 светодиода. Алгоритм работы программы я думаю понятен и обьяснять не буду. В кратце: При достижении определенного значения напряжения на аккумулятора загорается определенный светодиод (тухнет, если напряжения уменьшается).

Если напряжение упало до 11.8 вольт, загорается последний светодиод D3 (остается гореть из всех трех), а если же напряжение опустится ниже чем 11.8-11.6 то данный же светодиод (D3) начнет мигать, оповещая о критически низком напряжении на АКБ.

Исходный код программы:

$regfile = «attiny13.dat» ‘ используем ATmega16
$crystal = 100000

Config Adc = Single , Prescaler = Auto , Reference = Avcc
Config Portb.0 = Output
Config Portb.1 = Output
Config Portb.2 = Output

Start Adc
Do
If Getadc(2) >= 805 Then
Portb.0 = 1
Else
Portb.0 = 0
End If
If Getadc(2) >= 845 Then
Portb.1 = 1
Else
Portb.1 = 0
End If
If Getadc(2) >= 890 Then
Portb.2 = 1
Else
Portb.2 = 0
End If

If Getadc(2) <= 805 Then
Toggle Portb.0
Waitms 100
Reset Portb.0
Waitms 500
End If
Loop
Return

End

Исходник и проект в протеусе можно скачать ЗДЕСЬ…, исходник в BASCOM AVR.

Оцените статью