8桁×2で十分なので
去年の夏コミの帰り、秋葉原の秋月で買ったAQM0802(http://akizukidenshi.com/catalog/g/gK-06795/)を使うつもりでいた
このLCDはいわくつきだ
デカップリング用の表面実装タイプのCを不注意で外してしまっている
I2C LCDではまりまくる(http://dad8893.blogspot.jp/2014/09/i2c-lcd.html)今回もいろいろぐちゃぐちゃやってるうちに3.3V電源では表示できなくなってしまった
自作の可変安定化電源でテストしてみるとVDDが4.0Vあたりで表示が薄くなって消えてしまう
プログラムのミスかもしれないが1行目も表示されなくなってしまった
ブレッドボードで実験しているうちに9V電池を直にVDDに入れてしまったので心配
LCD ControllerのST7032iにある「Bon」というパラメーター(VDDの3.3VをLCD用に内部で昇圧するらしいです)をいじったりすれば3.3Vでも動くかもしれないがストックが1個しかないので
手持ちにいくつかあるaitendoのSPLC792-I2Cを使うように作戦変更
AQM0802は余裕があればもう少し調べてみたいと思う
SPLC792-I2Cで実験続行
※以前書いた「aitendoのSPLC792-I2CをArduinoで使う方法」
(http://dad8893.blogspot.jp/2015/02/aitendosplc792-i2carduino.html)の
ブレッドボード図の配線が間違っていたので修正しました
I2CのSCL、SDAはSPLC792-I2Cの基板上で10kΩのRでプルアップされているのでそのまま使った
ファームウェアはStrawberry Linuxで公開されているST7032i用のものを多少変更して使った
http://strawberry-linux.com/catalog/items?code=27021
I2CのSCL、SDAで使うPORTCレジスタが内部プルアップされているようなのでこれをコメントアウト
//PORTC = _BV(4) | _BV(5); // SCL, SDA内蔵プルアップを有効SPLC792-I2Cも基板上でプルアップされてるし
I2Cの3.3V<->5Vのレベルシフトに使う予定の秋月の「PCA9306」(http://akizukidenshi.com/catalog/g/gM-05452/)はデフォルトだと基板上で1kΩでプルアップされているようなので、AVRの内蔵プルアップは外すことにした
二重でプルアップするとそれぞれのRの並列になってプルアップ抵抗の合計抵抗値が下がるのかな?わかんないけど(^q^;
クロック源を内蔵のRCオシレーターにしてこの際3.3Vに統一してしまえばしまえばI2Cのレベルシフトをしなくて済むかなと思ったが
ヒューズビットでCKOUTを有効にしてクロックの状態をオシロで計測すると
(1)F:8.333MHzとかなり誤差がある(+4.2%ぐらい)
ファンクションジェネレータとして使うのでこの誤差はでかすぎるので
クロック源は外部クリスタルで行くことにします
0 件のコメント:
コメントを投稿