2014.11.25

8x8x8 RGB LED cube 再構築中

Dsc01554

以前作った LED cube の調子が悪く、やっぱりきちんと制御基板を作り直そうと思います。フラットケーブルでLEDマトリクスをつなげていましたが、嵩張るのと箱が大きくなるので、制御基板に直接ハンダ付けしたいと思います。

Img_0548

マトリクスの大きさが15cm角の大きさで、ちょうどいい大きさのユニバーサル基板が無いのよ。しょうがないから、気ってつないで無理やり作りました。シフトレジスタとソースドライバを配置して、電源ラインの配線中です。

回路図も一応描いてみました。前回との違いは、シフトレジスタのクロックとラッチ信号をバッファを介して繋いだ点です。前の回路はarduinoの出力ピンから24個のシフトレジスタに分配していたので確実にファンアウト不足です。あと、シフトレジスタからのLED直接ドライブをやめてソースドライバをかませました。これで、シフトレジスタが電流過多で誤動作することはなくなるはず。

8x8x8rgb_2

ぼちぼち配線していきます。

| | Comments (0) | TrackBack (0)

2014.11.15

格安ArduinoUNO互換ボード

Dsc01553

Arduinoを使った電子工作をしていると、シールドが増えてきてArduino本体が複数欲しくなってきます。ただ、純正品は高級感がある代りに結構お高いのでございます。見てくれは悪くても安いほうがありがたいので、秋月のマイコンボード(実はArduino互換ボード)+必要なパーツで安く済ませていました。最小構成なら500円程度でなんとかなるんですが、Arduino完全互換機としてパーツを揃えると2割程度しか安くないのが玉に瑕です。

アメリカ産のDiavorinoは格安互換機で、しかもRED&BLACKのカッコイイ基板がお気に入りで、わざわざ航空便で取り寄せたりしましたが、こやつは3.3V電源を省略してまして、これまた使い方を選んじゃうんです。

完全に自作も可能ですが、個人でパーツを揃えてもあまり安くならないのが現状で、いろいろ探していましたら、ArduinoUNOフルコンパチで1000円の「びんぼうでいいの」を発見!これは安い。安全に国内で入手できる互換機では最安ではないでしょうか。さすがAitendo。

でも、4セットのうち1セットが動作不良。初期不良かはたまた私のハンダミスか。再検査依頼してみます。

| | Comments (0) | TrackBack (0)

2014.10.31

aitendo 16Segキャリーボードで時計を作ろう 7

週末の町内文化祭ネタにと作ってきた16seg時計が一応完成しました。カラーLEDキューブや、75*25ピクセルの電光メッセージボード、コマゴマしたマイコンを使った小物類を展示します。正直な話、興味をしめす人はほとんど居ませんが、にぎやかしでピカピカ光らせます。

16seg_clock_2

一応回路図も描いてみました。結局抵抗分圧での3.3Vが安定せず、Arduinoの3.3Vを使ってます。レギュレータを使った回路が必要ですね。

| | Comments (0) | TrackBack (0)

2014.10.26

aitendo 16Segキャリーボードで時計を作ろう 7

電源をスマホ用の2A対応アダプタにしたら、シフトレジスタ直結でもそれなりに明るいので定電流ドライバはやめて、電流制限抵抗も省略しました。ダイナミックドライブだと、抵抗をはさむと暗くなりすぎです。

手持ちのRTCモジュールが1.8~4.5Vの動作電源だったので、Arduinoの3.3Vを使ってましたが、最終的にATmega328でユニバーサル基板に作りこむときに、別途3.3Vを作らないといけません。RTCモジュールの消費電流はとても小さいのと、動作電圧の幅が極端に広いので(だったら5Vで動いて欲しかった)、簡単な抵抗分圧を試してみました。

(5V)_(1.8kΩ)_(3.3V)_(3.3kΩ)_(GND)

これをRTCの電源として使ったところ、I2Cでの読み出しに失敗します。よくわかりません。そこでいろいろ考えてみたんですが、I2Cのデバイスは3Vや5Vが混在していると基本的には信号レベルが保障されないので、レベルシフタを使って補正しないといけないはずなんですね。と言うことは、今までの回路は電源のみ3.3Vで、通信には5V系のI/Oと3.3V系のI/Oを直結してたので、動作マージンの関係でたまたま動いてただけなんですね。

こんなこともあろうかと、以前150円で買っていたI2C用双方向レベルシフタモジュールをかませたら、無事動いた次第です。

| | Comments (0) | TrackBack (0)

2014.10.19

aitendo 16Segキャリーボードで時計を作ろう 6

LEDドライバとしてTLC5940を使って配線を減らしてやろうと思って、いろいろ実験してみましたが、かなり難しいことがわかってきました。

元の回路はシフトレジスタを使って、単純に1セグメント1ピットのON/OFFを考えればよかったのですが、TLC5940はPWM出力で任意の明るさをLED毎にセットできるということで、単純にフォントのビット列を流し込むわけには行きません。また、4桁の16Segユニットをダイナミック表示で順次切り替えて表示するのに、割り込み(MsTimer2)ライブラリを使いたいのですが、TLC5940用ライブラリがPWM制御のためにTimer2割り込みを使っているため、MsTimer2ライブラリとTLC5940ライブラリが同時には使えません。

解決方法は、TLC5940ライブラリに4桁ダイナミック表示用の機能を追加すればなんとかなりそうですが、汎用性がないのと、フォントデータをTLC5940の各チャンネルデータに変換する処理のオーバーヘッドが大きそうで、かなり難易度が高いと思います。(私の手に余るコーディングですorz)

ここは順当にシフトレジスタ2連装、シンクドライバにトランジスタアレイを正しくかませて、明るい表示の時計にしようと思います。

| | Comments (0) | TrackBack (0)

2014.10.14

aitendo 16Segキャリーボードで時計を作ろう 5

Dsc01549

電子工作再開。とりあえず、作りかけのLED時計を再開。
表示ユニットと制御回路をジャンパーワイヤでつないでいるのを、スマートにリボンケーブルとコネクタでつなぎたかったので、買っておいたコネクタのメス側にはめ込む端子をケーブルの先に圧着しました。

これって、専用の圧着器が必要なんじゃないのかな?ラジオペンチでカシメるのはかなり難易度が高いです。しかも、14ピンの両端を2セットというと56個も・・・

基板上でよく見かけるコネクタはXHと言うそうです。この年ではじめて知りました。ちなみにラジオペンチでカシメたのはコンタクトピン@5円でした。

| | Comments (0) | TrackBack (0)

2014.04.22

8x8x8 RGB LED cubeの不安定な動作について

いろいろ悩んで、とりあえず動いたりしてますが、やはり動作が不安定でした。16Seg時計の試作で74HC595の取り出せる電流値が意外と少ない事に気が付きまして、RGB cubeではどうだろうと考えたところ、

74HC595の1ポートにぶら下がるLEDのVfと制限抵抗はそれぞれ、
 赤 Vf=2.0V、200Ω
 青 Vf=3.6V、100Ω
 緑 Vf=3.6V、100Ω

電源電圧5Vの時のLEDに流れる電流は
 赤 Ired=(5V-2.0V)/200Ω=15mA
 青 Iblue=(5V-3.6V)/100Ω=14mA
 緑 Igreen=14mA

それぞれ8ポート全部が点灯すると
 赤の8ポートに120mA、青・緑の8ポートには112mA流れることに成ります。

74HC595の各ポートの最大電流は20mAなので良さそうですが、IC全体の最大電流が80mAなのでパンクしてしまいますね。

解決方法はソースドライバをかますしかないですね。それか、TLC5940のような定電流ドライバICを使うという手もあります。回路設計のイロハのイのような気がしますが、我流ですのでこれも勉強です。
 

| | Comments (0) | TrackBack (0)

2014.04.03

aitendo 16segキャリーボードで時計を作ろう 4

16seg_clock

とりあえず、回路図を描いてみました。USBバスからの給電だと、LEDの輝度がぜんぜん足りないのが問題です。やっぱり定電流ドライバ内臓のTLC5940で組みなおしたほうがいいかも。

| | Comments (0) | TrackBack (0)

2014.04.01

aitendo 16segキャリーボードで時計を作ろう 3

なかなか時間が取れなくて、ぼちぼち作っています。RTCを組み込んで、電源を切ってもアジャストなしで現時刻を表示するようになったのと、時刻表示モードのほかに日付表示モードを実装しました。西暦、月、日、曜日を横スクロールで表示します。モード切替のためのプッシュスイッチも4個実装しました。

ローマ字によるメッセージを表示するには4桁だとちょっと厳しそうです。

| | Comments (0) | TrackBack (0)

2014.03.26

aitendo 16segキャリーボードで時計を作ろう 2

Dsc_0730

16SegLEDのキャリー基板にArduinoをつないで時計を作るのに、RTCモジュールを組み込みました。以前購入していたストロベリーリナックスのM41T62モジュールです。電源は4.5V以下なのでArduinoの3.3Vが使えます。これでいちいち時刻設定をせずにすみます。

あとは操作系のUI実装です。プッシュスイッチを4個つないで、モード切り替え、セット、+、-といった機能を作りこみます。これができてはじめて時計と名乗れます。

| | Comments (0) | TrackBack (0)

より以前の記事一覧