====== LED点灯(電池1本) ======
===== 概要 =====
通常、LEDを点灯させるためには、電圧が2V以上必要となります。
従って、電池1本で点灯させるためには、次のような方式を使って、電圧を上げて点灯させます。
* インバータ+倍圧整流方式
* 昇圧型スイッチングコンバータ方式
* チャージポンプ方式
今回は、チャージポンプ方式をPICで実現してみました。
===== 動作原理 =====
難しい原理ではありません。
電池1本、コンデンサ(数百uF)1個、LED1個、抵抗(数十Ω)1個があれば、手動でも、LEDを点灯させることができます。
<点灯手順>
- 電池にコンデンサを接続して、コンデンサを充電します。(約1秒間)
- 電池にコンデンサを直列に接続します。
- 更に、LEDと抵抗を直列に接続すると、LEDが点灯し、暫くするとすると消灯します。(約0.5秒間)
{{:imgpaste:202004:htmikan-20200429-121132.png}}
これと同様の手順を、PICで自動的に行わせます。
尚、PIC自身の動作電圧は、データシート上では、クロック周波数(今回は31kHzにしています)を低くしても、2V以上が必要です。
しかし、一旦起動すると、その後の電圧は、2V以下でも動作します。(実測値では、1.1Vでも動作可能)
{{:imgpaste:202004:htmikan-20200429-121139.png}}
===== 回路図 =====
スイッチ(SW1)は、起動時は3Vまたは2.4Vにします。起動後は1.5Vまたは1.2Vにします。
※自動車で言う、セルモーター(self starter motor)のような役目ですね。
{{:imgpaste:202004:htmikan-20200429-121217.png}}
===== ソースコード =====
//**********************************************************************
void main()
{
OSCCON = 0b00000000; //32kHz
CMCON0 = 0b00000111;
ANSEL = 0b00000000;
TRISIO = 0b00001000;
//
while (1) {
GPIO.F1 = 1;
GPIO.F0 = 1;
Delay_ms(1000);
GPIO.F1 = 0;
GPIO.F0 = 0;
Delay_ms(500);
}
}
//**********************************************************************
===== 動作確認 =====
点灯と消灯を繰り返します。
{{:imgpaste:202004:htmikan-20200429-121335.png}}{{:imgpaste:202004:htmikan-20200429-121339.png}}
コンデンサ(C2)の充電と放電の波形です。
約1.5Vまで充電されます。
{{:imgpaste:202004:htmikan-20200429-121348.png?500}}
グランド(GND)レベルから見た、コンデンサ(C2)のマイナス端子の波形です。
約-1.2Vあります。
{{:imgpaste:202004:htmikan-20200429-121359.png?500}}
LED未接続時の出力波形です。
約2.9Vあります。
{{:imgpaste:202004:htmikan-20200429-121420.png?500}}
LED接続時の出力波形です。
約2.1Vあります。LEDは、1.8V以上のとき点灯しています。
{{:imgpaste:202004:htmikan-20200429-121456.png?500}}
如何ですか?
消費電流は、約1mAなので、アルカリ電池(2000mAh)1本で、4ヶ月以上も点滅させることが出来ます。
4ヶ月≒((2000mAh÷1mA)×1.5(パルス駆動))÷24時間÷30日
このページは稲崎様の閉鎖したHPのコピーで、著作権は稲崎様にあります。[[elechobby:picdic:picdic|詳細]]
This page is a copy of Mr. Inasaki's closed website, and the copyright is held by him.[[elechobby:picdic:picdic|Details]]