TM1640による7セグメントLEDディスプレイ

7セグメントLEDディスプレイ 自作基板
当サイトのリンクにはアフィリエイト広告が含まれています。
スポンサーリンク

はじめに

秋月電子で売っているTitan Micro Electronics製7セグメントLEDドライバーIC、TM1640を使用したディスプレイを製作しました。このIC一つで16桁の表示が可能です。

この基板で、初めてKiCADを使用してパターン設計、Elecrowへ基板発注を行ってみました。

スポンサーリンク

回路図

TM1640回路図

回路はデータシートの推奨回路の通りです。7セグメントLEDは最大の16個で製作します。

電源5V、シリアルインターフェース(CLK、DIN)で動作します。

このICはダイナミック点灯と呼ばれる制御方式で動作しており、何がダイナミックなのかというと「それは残像だ・・・」ということです。実際には同時に1つの7セグメントLEDしか点灯していませんが、高速に切り替わることで人間の目には全部点灯している様に見えます。これによって制御ピン数を削減したり、消費電力を節約したり出来ます。

しかし16桁も表示してホントにチラつかないんでしょうか?確認してみたいと思います。

部品リスト

品名参照名数量数値・仕様規格・フットプリント
抵抗R2 R1 210kΩ1608サイズ
コンデンサC1 C22100uF/6.3V~電解コンデンサ
直径:6.3mm
ピッチ2.50mm
コンデンサC3 10.1uF/6.3V~1608サイズ
ICIC1 1TM1640
秋月電子(I-13225)
SOP28
7セグメント
LED
U1 U2 U3
U4 U5 U6
U7 U8 U9
U10 U11U12
U13 U14 U15
U16
16OSL10321-LR
秋月電子(I-12286)
赤色、カソードコモン
OptoSupply
端子J1 1ピンヘッダ1×04
ピッチ2.54mm

部品は種類が少なくてシンプルですね。7セグメントLEDはカソードコモン品を使用します。今回は秋月電子で売っているオプトサプライのOSL10321-LR(赤色)を使用することにしました。8mm文字サイズでコンパクトです。(スタンレー電気のNKR131Sとピン互換だそうです)

※2020/7に確認したらOSL10326シリーズの方が色のラインナップが充実しているみたいですね…ドットのピン配列が異なるため、今回の基板ではこれは使えません。

基板レイアウトと完成予想予想3D 図

基板レイアウト(C面)3D表示
基板レイアウト(S面)3D表示

Elecrowは100mm角の基板サイズまでお安く発注出来ます。今回は小さい7セグにしましたが横が8桁までが限界だったので、2行にしてます。また、4桁づつ少し間隔を開けて、それぞれ違うパラメーターを表示させて使ったりしようかなと考えてます。

裏面にはこのサイトのURLのQRコードをシルク印刷してみました。
方法については、下記のページにまとめましたので参照ください。

3D表示はレイトレーシングをONにするとリアルに見えますね。 裏面は暗くなったのでOFFにしてます。

C面の部品実装図

C面の部品実装図。※ S面には部品はありません。

到着した基板

Elecrowで製作した基板

Elecrowから届いた基板がこちらです。レジスト色は青で注文してみました。

今回の基板でKiCADでの基板設計、ガーバー書き出し、Elecrowへの発注のやり方を覚えたので、調子に乗って次々と基板を発注しています。組み立てと動作確認が全然出来てませんが、出来たらボチボチと記事を作って公開したいと考えてます。

組み立て後の写真

組み立て後の外観(C面)
組み立て後の外観(S面)

部品の種類が少ないため、組み立ては簡単です。ただ、7セグメントLEDが16個×10ピンでこれだけで160箇所もはんだ付け・リードカットをしないといけません。
修行だと思ってひたすらにはんだ付けしました。フロー半田したくなりますね。

7セグメントLEDの向きだけは絶対に間違えないように気を付けて作業しました。

組み立てた後から気がつきましたが、この基板をスモークのアクリルの裏に配置しようとした場合、電解コンデンサが飛び出して邪魔です。背の低いものを使用するか、裏面(S面)につければ良かったかもです。

動作確認

サクッと動作確認!したいところですが、PICマイコンのプログラムがまだ出来ていません。自分のPICマイコンのお勉強のために作った側面もあります。

今回はとりあえずArduinoで動作確認してみます。GithubでTM1640とそのシリーズのライブラリを公開してくれています。

GitHub - maxint-rd/TM16xx: Arduino TM16xx library for LED & KEY and LED Matrix modules based on TM1638, TM1637, TM1640 and similar chips. Simply use print() on 7-segment and use Adafruit GFX on matrix.
Arduino TM16xx library for LED & KEY and LED Matrix modules based on TM1638, TM1637, TM1640 and similar chips. Simply us...

これとAruduino Uno(互換品)を使ったら拍子抜けするほど簡単に動作させることができました。さすがArduinoです先人の豊富なライブラリが活かせますね。

Aruduinoで動作確認中の様子

16個同時点灯させてもチラツキもほとんど気になりません。

TM1640テスト表示

しかし、表示の並びが思ったのと逆です。U1~U16(7セグLEDのGRID1~16)までを、下位の桁を1として配線したのですが、普通逆なんでしょうか?

プログラムで何とか出来るのかもしれませんが、基板作り直そうかな~orz

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