NeoPixel でバーサライタ検討
以前、M5Stack ATOM Matrix で ハンディーバーサライタを製作を楽しんだのですが、LED25個のマトリクスの1列分である5個のLEDしか使用しておらずもったいないなと感じておりました。
この”もったいなさみ”を解消するべく今回はLED5個から25個に拡張してバーサライタ製作いたしました。
いわゆるNeoPixel系のLEDでのガチのバーサライタ製作は初めてですので、丁寧に段階を踏んで進めます。
目次
リフレッシュレート
バーサライタはLEDを高速回転で残像を残して絵を投影しますので、
LEDのリフレッシュレートは非常に重要なファクターなります。
以前各種フルカラーLEDのリフレッシュレートを測定しております。
ここではM5Stack ATOM Matrix搭載のLED WS2812B-2020のリフレッシュレートを測定いたしました。
ATOM Matrixを分解してLEDマトリクス基板を取り出しました。
もう後戻りできません。。。。
No Remorse… pic.twitter.com/SfRMuX2Y9Z
— HomeMadeGarbage (@H0meMadeGarbage) June 8, 2020
リフレッシュレート測定方法
LED1個を全白で点灯させて電源-LED間の10Ω抵抗の電圧降下をオシロ(ADALM2000)で測定しリフレッシュレートを測定します。
測定結果
データシートのとおりリフレッシュレートは約2kHzでした。
意外と早いですね。輝度はデューティで制御されておりました。
データシート信じて進めればいいだろとお思いかもしれませんが、
NeoPixel系の製品は何が本物でコピーかがわからないほど製品が存在し
モノによって性能が異なるので念のため測定いたしました。
バーサライタの構築
リフレッシュレート的にはバーサライタとして使用するには十分であると判断いたしましたので製作を進めます。
LED加工
ATOM MatrixのLEDマトリクス基板をぶった切って、バー状にしました。
(こっちのほうがよっぽどもったいないわ!)
退路を絶った pic.twitter.com/fp60sGR5fn
— HomeMadeGarbage (@H0meMadeGarbage) June 9, 2020
4mmピッチ 25セルのLEDバーが仕上がりました!
家にあるもので挟ピッチLEDバーが作れました pic.twitter.com/ZgYSpYYz42
— HomeMadeGarbage (@H0meMadeGarbage) June 9, 2020
WS2812B-2020
構成
制御には分解した残りのATOM Matrix基板 (ESP32-PICO)を用いており、
構成はほぼ以前のM5Stack ATOM Matrixを用いたハンディーバーサライタPOV1-ATOMと同じ構成です。
LEDを外に出してデータ線をD22に接続しました。
モータの電源は回転速度調整のため外部の安定化電源に接続しました。
[オモテ]
[ウラ]
動作
バーサライタ動作を検証します。
1周分解能調査
まずは1周する間にLED表示変更できる分解能を調査しました。
モータの回転数を目視で残像が残るギリギリの1秒当たり約10回転(600rpm)に設定し、LEDの色を赤→緑→青→黄で変えて表示させました。
LED点灯のライブラリはFastLEDを使用しています。
残像残るくらいの回転速度でLED25個シリーズで
1周40分割が限界かなNeopixelだとこんなもんか pic.twitter.com/khArZmFZ3f
— HomeMadeGarbage (@H0meMadeGarbage) June 9, 2020
1周40分解能が限界値となりました。
検証
NeoPixelの書き込みプロトコルは以下の通りです。
LED 25セル書き込む時間は 1.25u × 24 × 25 + 50u = 約0.8 msec となります。
600rpmで回転させると1周にかかる時間は 0.1 sec ですので、
理論上の分解能は 0.1 / 0.8m = 125 なります。
実際にはマイコンの演算時間なども含まれますので実測は40になりました。
NeoPixelの書き込みプロトコルの性質上、SPI入力のLED使用時のように200分解能以上の達成は不可能であるといえます
(今回のようにシリーズにLEDをつなぐ場合)。
あとリフレッシュレート的にも2kHz (0.5msec)なので600rpm 200分解能は厳しいです。
アニメーション表示
ピッチが狭いので比較的見やすいですが、やはり1周の分解能をあげれない点が厳しいです。
結果 実にもったいない。。。
やっぱり1周40分割じゃ物足りないね
狭ピッチでリフレッシュレート4kHz以上でSPI入力の
LEDバー欲しい#LED #バーサライタ #バーサライター #neopixel pic.twitter.com/0VQGqQ12sb— HomeMadeGarbage (@H0meMadeGarbage) June 9, 2020
おわりに
狭ピッチでリフレッシュレート4kHz以上で
SPI入力のLEDバーが欲しい!!