TWELITEでLED照度調整

TWELITE 工作

TWELITE DIPのPWMを使ってLEDの照度調整をしてみます。PWMは事前設定した周期の中でHIGHとLOWになっている時間割合を指定することで、LEDをONにする時間を調整することができます。結果的にLEDの消費電力を調整することができるので、明るさ調整ができるという仕組みです。

ブレッドボードの回路図はこんな感じになっています。LED点灯とスイッチ入力の工作時の回路図で、緑LEDのアノードの接続をDO1からPWM1に付け替えただけです。そのため、SW1がそのまま残った回路になっています。

MONOSTICKを接続したWindow 10 PCの上で、PWM1のDuty比率を50%に設定(PWM1_duty = 50、ピンクマーカ部分)した場合のPythonコードは以下になります。このPWM1_dutyを5、50、95の3パターンにに設定してコードを実行してみました。それぞれのパターンでLEDの明るさに違いがでるはずです。なお、工作室のPCではMONOSTICKはCOM6に繋がっています。

import serial

s = serial.Serial(“COM6”, 115200, timeout=5)
pwm1_duty = 50
pwm1 = int(1024*pwm1_duty/100)
bs = ‘:0380010101%04X000000000000XX\r\n’ % pwm1
s.write(bs.encode())

s.close()

LEDの明るさだけではなく、実際のPWM1の信号がどうなっているのかを自分の目で見ると臨場感を感じられます。そこで、ロジックアナライザーLA1010をPWM1端子を観察してみました。

PWM1端子にLA1010のCH1を接続します。このPWM1端子には緑LEDのアノードを接続してあります。LA1010のGND信号端子は電池ボックスのマイナス線につなぎます。


Duty比 5%

PWM1のDuty比とは信号1周期のうち信号レベルがON(HIGH)になる割合です。Duty比が5%だと5%だけONになります。周期はこちらで紹介しているInteractive Modeツールで設定できるPWM HZになります。ディフォルトで1000Hz、つまり1ms周期になります。LA1010の表示はちゃんとそのことを表しています。この周期の95%の時間がOFF(LOW)なので、その割合だけLEDに電流が流れ点灯します。つまり、ほとんど点灯しっぱなしなので、明るく点灯します。


Duty比 50%

Duty比を50%に設定した場合、1ms周期の内、50%だけLEDが点灯します。なので、Duty比5%よりも暗くなります。LA1010での観察でもHIGHとLOWがちょうど半分ずつの綺麗な信号を見ることができます。


Duty比 95%

Duty比が95%だと、1ms周期の内5%のみLOWになりLEDに電流がながれます。95%はHIGHなので電流が流れないのでとても暗くなります。LA1010による観察結果も僅かしかLOWになっていないことがわかります。

このPWMのDuty比を可変とすることでLEDの照度調整ができますね。

コメント  

タイトルとURLをコピーしました