====== 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]]