ラベル cap1 の投稿を表示しています。 すべての投稿を表示
ラベル cap1 の投稿を表示しています。 すべての投稿を表示

2017年3月31日金曜日

ESP8266のanalogWrite、使用上の注意


ESP8266 / ESP-WROOM-02のanalogWriteでおかしな現象に遭遇しました。回避策も合わせてご紹介します。

■複数analogWrite同時出力でちらつく■

Power LEDをドライバに接続して「じわーっと明るくする」制御をしていたところ、「じわー」のところでちらつく現象が発生しました。調べてみると
  • analogWriteの値を1ch変えただけではちらつかない
  • 2ch以上同時に変えるとちらつく

ことがわかりました。ここにたどり着くまで大変でした……。OTA処理で時間を取られているんじゃないか、温度センサーの読み込みでひっかかるんじゃないか、もしかしてPower LEDドライバに問題があるんじゃないか……。「じわー」のプログラムに問題があるんじゃないか……。など。

以下切り分けのためのコードです。ご覧の通り、単純に値を整数で加算していくので、ちらつくはずないですが、激しくチラつきます。


ここで「もしかして、analogWriteをほぼ同時に複数書き換えると問題が生じるのではないか?」と思い至りました。以前、analogWriteのソースを調べたことがあったのですが、通常のカウンターとコンパレータではなく結構めんどうくさい割り込み処理を使って全部ソフトで処理されていましたので。書き換えの時に処理が追いつかない等でパルス幅が乱れるのだと思います。

で、書き換えたのがこちらです。


問題なく動作します。ESP8288 / ESP-WROOM-02のanalogWriteを複数同時に書き換えるときにはご注意ください。

■CM■

ここで使用しているPower LEDドライバ基板、スイッチサイエンスのESPrや弊社Board1をそのまま挿して、300mA x 3chのLEDを制御できます。オンボードの温度センサーを使って、基板の温度上昇を検知して出力を下げる、なんてこともできます。

どぞよろしく▶Cap1 - LED Drivers for ESP

2017年3月17日金曜日

ESPr / Board1用 Power LED Driver発売です


またヘンな基板を発売してしまいましたw

スイッチサイエンス社ESPr / 弊社Board1と重ねて使えるLEDドライバ基板です。LEDを300mAで定電流駆動します。スイッチング動作なので効率良いです。24VのACアダプタを使用する場合、Vf合計で19vまでのLEDを直列に接続できます。

3chあるのでパワーRGB LEDを接続してWiFi対応無段階照明コントローラとしてお使いください。

基板上のコネクタ穴はESPr / Board1に合わせてありますが、直接配線すればArduinoでも使えます。

ボード上には温度センサーSTTS751も載せてありますので、温度監視もできます。Vf合計値と電源電圧の差が大きいと発熱も大きくなるので気をつけてください。発熱といえば、省エネルギーというイメージとは裏腹にパワーLEDの発熱も凄いです。必ずしっかりした放熱器に取り付けて使用しましょう。300mA x RGBだと数十秒で燃えます(経験者語)。

なお、商品にはブロックターミナル、ESPr、Board1、ピンソケット、LED、ACアダプタ、ジャンパワイヤなどは附属しておりません。別途お買い求めください。

商品サポートページはこちらです。