aitendoで購入した2.7インチSTNシリアル液晶モジュール(2P-S60779、解像度:128×64ドット、液晶コントローラ:ST7565R)をPIC(PIC16F687)で、先日の調査結果に基づきまずは全ドットONを試してみました。
全ドットONはST7565RのDisplay all points ONコマンドを使用しています。もともとは携帯用なのか一番上にそれっぽい表示がされました。
表示成功までにはいくつかつまずいたところがありました。
1.VOUT(FPC 11ピン)に12V (3.0V x4)が出ない
ゼロからSPIに関する処理をコーディングしたため最初は液晶モジュールに対する設定ミスを疑いましたが、設定値、シーケンスにミスはなし。 結局FPCと基板の接続に使用したコネクタと、FPCの接触不良(厚み不整合)が原因。FPCと基板を直接半田付けし問題は解決。 でも、コネクタを外すときに基板パターンが切れたり散々な目にあった(切れた部分は銅箔テープで修正)。 素直に最初から直接半田付けしておけばよかったととても後悔。
2.コントラストが極端に低い
デバッグ中、表示が何も出ていないと思っていたら、よく見ると極薄く表示されている。 V0(FPC 22ピン)の電圧を測ると、液晶モジュールのデータシートでの標準値8.90Vよりもかなり低い6V程度になっていた。 コントラストの目視確認とV0電圧を確認しながら、ST7565RのElectribuc Volume の設定値を変更していき、最終的には液晶モジュールのデータシートのサンプルにある52から32(いずれも10進数)に変更。 この時のV0の電圧値は8.72V。 ST7565Rの1+Rb/Raのコマンド設定値はデータシートどおり3のまま(1+Rb/Ra = 4.5)。
3.MPLAB X IDEのシミュレータのlogic AnalyzerでSPI (SSP)出力がモニタできない。 (PORT出力はモニタできる。)
原因不明。 SPI出力がシミュレータ上のlogic Analyzerで出ていないのが最初はプログラムの不具合だと疑っていたが、実物では同じプログラムできちんと動作。 シミュレータの仕様なのだろうか。 PICはPIC16F687を使用中。
SPIのプログラム作成は、http://ww1.microchip.com/downloads/en/devicedoc/spi.pdf を参考にしました。詳細に説明がありとても役に経ちました(英文です)。
Display all points ONをOFFしたとき。 ランダムにドットが表示されているのは表示用RAMをまだ初期化していないため。 電源プラグマークがでているのは謎。
FPCのコネクタは削除 RLEDに82Ωを実装 (LEDの電流は12mA)。 4つ角の黒いものは100均の戸当り防音テープ
関連記事
「グラフィック表示液晶モジュール 2P-S60779」買いました
「グラフィック表示液晶モジュール 2P-S60779」基板組み立て
「グラフィック表示液晶モジュール 2P-S60779」基板 ブレッドボード上でPICに接続
「グラフィック表示液晶モジュール 2P-S60779」 仕様確認
「グラフィック表示液晶モジュール 2P-S60779」 全ドットON
「グラフィック表示液晶モジュール 2P-S60779」世界地図表示
「グラフィック表示液晶モジュール 2P-S60779」文字も表示