BS21 Lab の製品 - Arduino 用 漢字 LCD シールド - 3.3V について

13/nov/2012 新規
7/aug/2014 更新


【御注意】3.3V 環境については動作未確認です。以下は、参考情報としてお読み下さい。 ⇒ 2013年2月11日:Arduino Due でのみ、動作する事を確認しました。

⇒ 2013年11月15日追記:SG12832A1 の仕様では、入力電圧 VIH は、min. 2.2V となってますが、一方で、SG12832A1 が使用している ST7920 では、 VIHmin. 0.7 * Vdd となってますので、Vdd = +5V なら VIHmin. +3.5V になってしまいます。果たして、どちらを信用すれば良いのやら… もし後者ならば、3.3V 系の Arduino Due ではスペックを満たさない事になります(実際はマージンが有るはずなので、+3.3V でも、かろうじて動作するでしょうが、良くは無いですね…)。

⇒ 2014年8月7日追記:i2c バスリピーターを追加する事により 3.3V に対応した「Arduino 用 漢字 LCD シールドv2(製品番号:BS21LAB-014)(拡張構成)」を出しました。 もし宜しければ、そちらを御検討ください。


Arduino Due に、漢字 LCD シールドを載せ、表示させてみた写真です。(詳細は Arduino Due での動作 を参照)
Arduino Due +漢字LCDシールド

※ 後述の、Vcc = +3.3V, Vdd = +5V という組み合わせで動作させています。



まず、大前提としまして、本シールド付属の LCD (SG12832A1) は +5V 専用 (+4.5V〜+5.5V) です。この為、+5V 電源は、必ず必要となります。この LCD 用の電源を Vdd と呼ぶ事にします。つまり、Vdd = +4.5V〜+5.5V となります。
一方、漢字 LCD 制御 IC の ATmega328 (内蔵OSC 8MHz) の駆動電圧は、+2.7V〜+5.5V の範囲まで OK です。なので、ATmega328 だけは +3.3V での駆動が可能です。こちらを Vcc と呼ぶ事にします。つまり、Vcc = +2.7V〜+5.5V となります。

この為、Vcc = +3.3V, Vdd = +5V という組み合わせが発生する事になります。そこで、ATmega328 出力 ⇒ SG12832A1 入力、の時の電圧レベルの違いが問題にならないか、を検証します。
ATmega328 の出力電圧 VOH ですが、Atmel 社の SpecSheet を見ると、Vcc = 3V の時に min. 2.3V となっています。一方、SG12832A1 の入力電圧 VIH は、min. 2.2V となってます。 この為、仕様的には Vcc = +3.3V でも、SG12832A1 を制御する事は可能だと考えられます(繰り返しますが、弊社としましては、動作確認したのは上記組み合わせのみです)。なお、SG12832A1 出力 ⇒ ATmega328 入力、のラインは有りませんので、こちらの心配は不要です。


さて、基板の裏面に、5つのショートパッドがあります。
ショートパッド(SJ1〜SJ5)

上から、以下の様になっております。
Pad 名パッド左側パッド右側ショートさせた時の機能コメント
SJ1VccArduino 3V3 ピンArduino 本体から Vcc に 3.3V を供給するATmega328 を +3.3V 駆動する
SJ2Arduino 5V ピンArduino 本体から Vcc に 5V を供給するATmega328 を +5V 駆動する
SJ3VddArduino 本体から Vdd に 5V を供給するLCD を +5V 駆動する
SJ4R スイッチATmega328 の 16番ピン (PB2)ATmega328 の 16番ピンに R スイッチを接続するTWI 接続方式用
SJ5ATmega328 の 27番ピン (PC4)ATmega328 の 27番ピンに R スイッチを接続するSPI 接続方式用 (現時点では存在しません)

つまり、漢字 LCD 制御 IC の ATmega328 を +3.3V で駆動させるには、SJ2 ではなく SJ1 をショートさせれば良い事になります。 ただし、この場合でも LCD 駆動用に別途 +5V の供給が必要になりますので SJ3 のショートは必須となります(+3.3V からの昇圧回路を(パターンだけでも)用意しようかと思いましたが、スペースが無いので断念しました)。 また、この場合、電解コンデンサ C2 は Vcc ライン専用になります。LCD 用の Vdd ラインはコンデンサが1つも無い事になりますので、注意して下さい(以下の方法で増設は可能です。10〜100μF 程度、耐圧 6.3V 以上の電解コンデンサで大丈夫だと思います)。

なお、SJ1〜SJ3 のショートパッドをショート/開放させる代わりに、以下の所(シルクは有りませんが、回路図上では JPPWR という名称です)にピンヘッダーを立てて、ショートピン(付属してませんので御用意下さい)でショート/開放させる事も可能です。 この場合、基板裏面のショートパッドは SJ4 のみショートさせるだけで OK です(ショートさせないと R スイッチが有効になりません)。 また、Vdd の下に GND が有りますが、これは Vdd ライン専用のコンデンサ(付属していませんので御用意下さい)を入れられる様に、用意してあります(LCD 本体とφ3.2貫通穴の間なのでスペース的に苦しいですが)。
電源ジャンパー用

実際にピンヘッダーをハンダ付けしたのが、以下の左端の写真です(写真が逆さまになっているので注意)。ここでは、Vdd に青色のジャンパーピンを、Vcc に白色のジャンパーピンを接続してみます。 中央の写真が Vcc・Vdd 共に +5V を選択した設定方法です。一方、右端の写真が Vcc=+3.3V、Vdd=+5V を選択した設定方法になります。 繰り返しますが、基板裏面の SJ1、SJ2、SJ3 をショートさせない場合のみ有効な方法です。
電源選択ジャンパー +5V選択 +3.3V選択


さらに、EXT1 を用意してあります。ここの6ピンだけで、本シールドを制御できる事も可能です。 この場合も、基板裏面のショートパッドは SJ4 のみショートさせるだけで OK です(ショートさせないと R スイッチが有効になりません)。 また、Vdd と GND を隣り合わせにしていますので、ここに Vdd ライン専用のコンデンサ(付属していませんので御用意下さい)を入れる事も可能です。
EXT1 ピン

なお、EXT2 もありますが、こちらは目下、使用する予定はありません。
EXT2 ピン


Arduino 用 漢字 LCD シールドに戻る

Copyright (C) 2012-2014 BS21 Lab, All rights reserved.