SOARISTO工房 Logo

ペガソス計画(11) - 週刊「ファランクスを作る」

 前回の続きです。

 またも、電装系です。

CIWS Tiny Phalanx, 4D Systems gen4-uLCD-70D-SB

 4D Systemsの「gen4-uLCD-70D-SB」(159.95ドル)です。

 7年4ヶ月前に、4.3インチの「uLCD-43PT-AR」(480x272ピクセル)を購入し、2年1ヶ月前に、arduinoと接続検証していましたが、思うところあって、新たに買い直しました。

CIWS Tiny Phalanx, 4D Systems gen4-uLCD-70D-SB

 「gen4-uLCD-70D-SB」は、7.0インチで、800×480ピクセルとなっています。

CIWS Tiny Phalanx, 4D Systems gen4-uLCD-70D-SB

 「gen4-uLCD-70D-SB」の裏面です。

 LCDコントローラが、第三世代の「Picaso」から、第四世代の「Diablo16」に変わっています。

 また、ケーブルの接続が、ピンヘッダではなく、FFCケーブル(30ピン)になっています。

 あわせて、GPIOやオーディオ出力などのピンヘッダが、メインボード上から削除されています。(必要な場合は、「gen4-Breakout」ボードなどを使って取り出す)

CIWS Tiny Phalanx, 4D Systems uLCD-43PT-AR gen4-uLCD-70D-SB

 「uLCD-43PT-AR」(左側)と「gen4-uLCD-70D-SB」(右側)の比較です。

 中学生と大学院生ぐらい、違います。

CIWS Tiny Phalanx, 4D Systems gen4-uLCD-70D-SB Arduino Serial Interface

 と、いうことで、今日も今日とて、制御回路を作製します。

 「ArbotiX-M Robocontroller」(Arduino ATmega644P)は、2つのシリアルポートを持っていますが、1つ(Serial0)は書き込み用、もう 1つ(Serial1)は「Dynamixel Robot Servo」用に予約されています。

 そこで、以前に接続検証したとおり、Arduino ATmega644P側から、Serial0を、FTDI用とTFTディスプレイ用とに、切り替えて使えるようにします。

CIWS Tiny Phalanx, 4D Systems gen4-uLCD-70D-SB Arduino Serial Interface

 左側が、以前に作った初号機。右側が、今回作り直した弐号機。

 初号機では、「トライステートバッファ」(SN74HC126AP)とワイヤードORの組み合わせでしたが、弐号機では、「アナログ・マルチプレクサ/デマルチプレクサ」(TC4053BP)を使って、TX/RXの双方向スイッチングを実現しています。

CIWS Tiny Phalanx, 4D Systems gen4-uLCD-70D-SB Arduino Serial Interface

 また、これまでArduino ATmega644Pの書き込み用には、「FTDI Cable 5V」を使っていましたが、将来のことを考えて、秋月の「FT232RQ USBシリアル変換モジュールキット」に変更しました。

 あわせて、「nVIDIA Jetson TX2」からも制御できるよう、ピンヘッダを追加しておきました。(ついでに、TFTディスプレイの強制リセット回路も)

CIWS Tiny Phalanx, 4D Systems uLCD-43PT-AR gen4-uLCD-70D-SB

 「ArbotiX-M Robocontroller」に「gen4-uLCD-70D-SB」を接続し、デバッグしているところ。

 microSDカードに格納した画像ファイルを読み出し、表示させています。

 Diablo16のArduino用ライブラリは、FAT16フォーマットをサポートしており、一般的なファイル入出力関数で、画像その他ファイルを読み書きすることができます。

 画像は、24bit/ピクセルから16bit/ピクセルに、ツールを使って減色しています。

 LCDコントローラが、Picaso世代からDiablo16世代に換わり、画像の表示速度が、若干速くなったように思います。
(メモリ-メモリ間のブロック転送に対応したとか?)

CIWS Tiny Phalanx, 4D Systems gen4-uLCD-70D-SB Arduino Serial Interface

 弐号機に、さらに回路を追加。

 手前右側は、LEDをPWM制御して点灯させる回路で、手前左側は、温度センサ(サーミスタ)の回路です。

CIWS Tiny Phalanx, 4D Systems gen4-uLCD-70D-SB Arduino Serial Interface

 LEDの点灯制御には、NPN型のデジタルトランジスタ(RN1201など)を使えば簡単ですが、どうも、「ローサイドスイッチ」にすると、GNDが他の回路から浮くので、これが気持ち悪いのです。

#以前の、HRD05003の出力制御の時と、同じ事由。

 そこで、NPN型のデジタルトランジスタに、PchのMOSFETを組み合わせ、「ハイサイドスイッチ」を構成し、GNDを他と共通化しています。

 最近は、小型(TO-92パッケージなど)のMOSFETの選択肢がかなり減ってしまったため、SC-59パッケージのMOSFET(2SJ168)を、「SOT-23変換基板」を改造したものを使って、わざわざDIPパッケージに変換しています。

#この方法は、ドラレコ電源制御回路の時に使ったワザ。

 SC-59は、米粒より小さいパッケージのため、ハンダ付けは、なかなかにシビれます。

CIWS Tiny Phalanx, 4D Systems gen4-uLCD-70D-SB Arduino Serial Interface

 回路の裏側。

(つづく)

Trackback(0)

Trackback URL: https://www.soaristo.org/mt/mt-tb.cgi/1238

Post Comment