nobcha23の日記

PICマイコンやArduinoを使う電子回路遊びを紹介します

PIC10F200 LED点灯ブースト制御 機能概要

PIC10F200を使用した高輝度白色LED駆動回路
(バッテリー2本型)の機能を説明します。

回路図ありきで次にプログラムで実験の後に
機能概要があるのですから、まあでっち上げ
方式みえみえです。


1.MAINから始まりcount1により8カウントループする。点滅
制御のサイクル。これは点灯+消灯が10μS*240*240サイ
クル=576mS基準で行われるものを制御します。
8回のうち、mode_cntに設定された数だけ点灯サイクルを続
けます。

2.点灯、消灯の基本サイクルはcount3に240を設定して回し
ます。このサイクルでは消灯するか点灯するかはonoffフラ
グを見て決めます。このサイクルはスイッチのチャタリング
防止センスにも使っています。

3.明暗の制御を行うサイクルはcount2に240をセットして行
います。240サイクル中duty_cntが正の時だけ点灯し、後は
消灯することで明るさを決めます。PWM風になってます。

4.インダクタをonoffスイッチングしてLED駆動電圧を作り
出すサイクルです。count4を使用し、1インストラクショ
ンサイクルの間インダクタに電流を流して、18サイクルぐ
らいoffして逆電圧を発生させLEDを光らせます。

今回タクトスイッチのチャタリング防止タイミングがちょっ
と長くなりすぎました。次回作り直すときはもうちょっと
短時間にして、長押しなら輝度設定を変えるようにしよう
と思います。