« 「ふげん」の資料から「トリチウム」の管理を読む | トップページ | 1970年代の三枚おろししていない「トラ技」 »

2018年10月24日 (水)

Arduino UNOでLEDの駆動デューティを変えてみる

LEDの駆動デューティを変えた時の輝度変化を見るための
実験にArduinoを使ってみました。
単純な「PWM」なんですが、Arduinoに備わっているPWMは
「analogWrite()」で、どちらかというとD/Aコンバータの代わり
です。  (分解能が8bit)
そこで今回の実験では、
・8bit タイマー2のOC2Aに方形波を出力。
・これをT1入力に入れて16bit タイマー2でカウント。
・タイマー2をPWMモードにしてOC1Bに出力。
・PWMの分解能は1/1000。
PWMのデューティと周波数を設定できるよう、16進の
ロータリーDIP SWと出力用のMOS-FETを小基板に
乗せました。
・回路図
Led

・配線の様子
組んだLED群です。  (実際に使うのはこれではありませんが)
基本、デューティを1/2にしたら明るさ半分、デューティ1/4なら
明るさも1/4にという比例関係になるんですが、「目で見た感じ」
が分かりません。
それを調べるための実験です。
FETのソース側に入れた抵抗の電圧を測れば、駆動電流が
読めるということにしました。
砲弾型LEDの最大定格、20~30mAで、1/10デューティの
駆動ならピーク100mAというのが多いでしょうか。

作った制御スケッチのアップロード↓ へ。
※特徴的な処理
・タイマー0はArduinoのシステムで使っている。
・自由になるのはタイマー1と2。
・PWMの分解能が欲しいから、タイマー1が16ビットなので
 これを使う。
・PWMデューティを設定するスイッチの周期的読み出しに
 は、「millis()」で1msカウンタの変化をチェックして、変化
 したら1mS経過フラグをオン。
・これでチャタリング除去の時間待ちを処理。
   実際の処理は、時間待ちせずに時間経過をチェック。
   処理が終わるまで待つというプログラムの書き方は×。
ATtiny2313を使ったパルス発生器 ←これはアセンブラでごそごそ。

|

« 「ふげん」の資料から「トリチウム」の管理を読む | トップページ | 1970年代の三枚おろししていない「トラ技」 »

コメント

これって、「平均電流が同じでも、パルス点灯の方が人間には明るく見える」という話が本当なのかの確認ですよね。結果がどうなったのか気になってます。

何かの事情で記事に出来なくなったのなら、このままスルーしてください。

この話は以前から引っ掛かっていたので、可能なら私も実験してみようかと思ってます。

投稿: ラジオペンチ | 2018年11月15日 (木) 18時31分

ラジオペンチさん、するどいつっこみ!
「明るさ」の測定は、これ↓
http://act-ele.c.ooco.jp/blogroot/igarage/article/4044.html
で、数値化可能なんです。
  ※センサーの時定数とかは、自作モノなんでどうにでも。
でも、見た目は数値化できない!
デジタルカメラのレンズを絞って(NDフィルタも登場)、低速シャッターにして(スキャンタイミングを無視できるよう)、明るさの変化を撮影画像上の輝度として数値にしても・・・

結果・・・ 人の目の応答がよくわかりません。

目で見ての明るさ、元の瞬時的発光輝度に依存しているように感じます。
でも、デューティを低くするとそれなりに暗く見えるわけで・・・。

ヒューマンエレクトロニクス系の論文を探せば調べている人がいてたり、測定の方法を論じてたりするんだろうと思ってますが・・・不明です。
私には、数値として示せません。

ということで、この実験はおしまいです。
実際に光らせてみて(使用するLEDとその回路系で)判断して!が結論でっす。

投稿: 居酒屋ガレージ店主(JH3DBO) | 2018年11月15日 (木) 21時59分

了解です。

試してみたい回路のアイディアがあるのでちょっとやってみます。

投稿: ラジオペンチ | 2018年11月16日 (金) 08時52分

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/604464/67308124

この記事へのトラックバック一覧です: Arduino UNOでLEDの駆動デューティを変えてみる:

« 「ふげん」の資料から「トリチウム」の管理を読む | トップページ | 1970年代の三枚おろししていない「トラ技」 »