ネオピクセルみたいなインタフェースで、VFDをPWMドライブできそうなICを見つけました。
TM1925
Shenzhen Titan Micro Elecが製造している9chLEDドライバIC TM1925(データシート)です。
内部ブロック図
とってもシンプルです。ネオピクセルみたいにDINとDOUTがあります。RGB LEDを3つドライブでき、出力は256段階のPWMになっています。
出力ピンが9chあるので、普通にある7セグメント+ドットの合計8セグメントのVFDを、1つのICでドライブできます。
DIN,DOUTピンは普通のCMOS構造です。出力ピンはオープンコレクタになっています。VFDは点灯させたいセグメントをLowレベルにすれば良いため、オープンコレクタ出力はもってこいです。
制御方法
ネオピクセルと同じく、RGBの順に24bitのデータをDINへ入力します。
DOUTを別のICのDINに入れることで、出力ピン数を増やすことができます。
最初のICが受け取ったデータのうち、自分のデータだけ除去して残りのデータをDOUTから出力します。
まさにネオピクセルと同じインタフェースです。
電圧範囲
このICの電源電圧やロジックレベル(VDD)は5Vになっています。このため3.3Vのマイコンの場合にはレベル変換が必要になってしまいます。
出力ピン(Vout)は通常24Vまで耐えられます。出力ピンの絶対最大定格(Vout max)は30Vもあるので、スタティック点灯のVFDであれば余裕でドライブできます。
試しに時計を作ってみる
以前作ったこの時計のドライバ部分を、今回見つけたドライバICに置き換えて作ってみます。
以前作った時には、VFD時計専用のMM5316Nを使いました。この時計のVFDの部分はそのまま活かして、それ以外の部分を新規に設計します。
ブロック図
こちらが今回作る回路のブロック図です。時計の機能はESP32が行います。VFDはスタティック点灯するため電源電圧は24Vにします。この電圧は5Vから昇圧して生成します。
VFDにはIV-6を使っています。
VFDドライバICは、先ほどは9chのTM1925を紹介しましたが、チャンネル数が不足するので12ch内蔵しているTM1926を2つ使います。
TM1926のDINのロジックレベルは5Vです。ESP32のロジックレベルは3.3Vなので、3.3Vから5Vへ変換するための1chレベルシフタを使います。
基板の設計
今回の基板は、筐体となる目覚まし時計の蓋に元から空いている穴を利用して、USBコネクタやネジを取り付けられるようにしたいと思います。そこで、穴の位置を正確に測定しデータ化しました。このデータをdxf形式で保存します。
先ほどのdxfファイルをUser.Eco1レイヤーに読み込みます。読み込んだ位置座標を参考にしながら、正確な位置にUSBコネクタとネジ穴を配置しました。それ以外の領域に回路を配置します。
丸い基板ができました。この丸い基板が目覚まし時計の中にスッポリと収まります。
丸い基板と捨て基板とはミシン目で切り離せるようにしました。今回実験的に、上の図のようにコの字型にミシン目を入れてみました。中央をラジペンで摘み、むしり取ることで、捨て基板からメインの基板を分離することができます。
ミシン目の設計はPCBgogoのサイトを参考にしました。
上記のページのルーター加工のところに穴の大きさや間隔が書いてあります。
PCBgogoに基板を発注
さて今回は、日本語で基板を注文できるPCBgogoに基板を発注したいと思います。
パラメータの設定
まずは製造してもらう基板のパラメータを設定します。基板のサイズ以外、基本的には何も変更する必要はありません。
今回の基板のサイズは100mm x 100mmなので、「外形寸法」を「100」x「100」mmにします。
あとは基本デフォルトの値を利用し、一部お好みで変更していきます。
今回の基板の色は黒くしたいと思っています。そのため「レジスト」を「黒」にしました。ツヤ消し黒もよかったのですが、高かったのでやめました。
あとは、表面処理を鉛フリーの「無鉛はんだ」に変更しました。
クリームはんだを印刷するためのメタルマスクも一緒に作ってもらいます。
メタルマスクは枠があるのが標準ですが、大きくで邪魔なので「枠なし」がおすすめです。
私は、基板とメタルマスクとをマップピンを使って位置合わせをしており、そのようにデータを作っているので、その穴が開くように「認識マーク」を「通り穴」に設定します。
マップピンを使う方法は下記の記事をご覧ください。
メタルマスクは標準サイズはとても大きいので、「ご要望」のところに基板サイズよりも少し大きめで「110mm x 110mmにカットしてください。」と日本語で書いてみました。いつもは英語で書いているのですが、ここの部分が日本語でも大丈夫か今回の注文で確認したいと思います。ここも日本語OKだったら本当に日本語だけで注文できます。
以上でパラメータの設定は完了で、右側の赤い「カートに入れる」をクリックします。
ガーバーファイルのアップロード
ガーバーファイルをアップロードするウィンドが表示されるので、右側の茶色の「ガーバーデータを入稿」をクリックしてガーバーファイルを指定します。
確認をクリックします。
データのレビュー待ち
アップロードが完了すると、PCBgogoが製造できるデータかどうかチェックが始まります。これには数10分から1時間程度かかることもあるのですが、今回は基板だけ数分で完了しました。これは早いです。
しかしメタルマスクが何時間経ってもチェックが終わりません。
ご要望の欄を日本語で書いてしまったのが悪かったのでしょうか。何時間待っても進捗がないのでメールで問い合わせてみました。とりえあえず英語で送ってみます。
するとどうでしょう。日本語で返事がありました。問い合わせも日本語で大丈夫なんですね。これは安心です。
レビューに数時間かかりましたが、問題なく製造できることが確認され支払い可能になりました。
支払い
配達業者と支払い方法を選択して、支払いを行います。発送業者ですが、OSCよりもDHLの方が安いってことあるんですね。OSCの方が安いのかと思っていました。
右の赤い「支払い」をクリックすると選択した支払い方法で支払いができます。
TM1925上手く動作するでしょうか?
PCBgogoに基板の注文まで完了しました。VFDをネオピクセルのように制御できたらとても便利ですよね。Arduinoのライブラリもあるのでプログラムも簡単です。上手く動作するでしょうか。とても楽しみです。
基板が届いたら実験してみようと思います。
VFDの実験には、このVFD用電源モジュールが便利ですよ
2024.2.1 つづきの記事はこちらです。
コメント