秋月のI2C接続液晶 AQM1602XAを基板に直付け
SDAとSCLの2線でつなげる液晶モージュールが
なかなか便利です。
先日来使っているのが16文字x2行のこれ。
AQM1602XA-RN-GBW
液晶の足は1.27mmピッチで一直線。
AE-AQM1602A(KIT)
これになると2.54mmピッチへの変換基板が付属しています。
内部昇圧回路のコンデンサが付いているので、
主回路への接続は、+電源・GND・SDA・SCLの4本だけ。
ところが、この基板を使うと、液晶を基板に貼り付けるのに
上に出っぱる
厚くなる(基板そのものは1.2mm厚)
と、使い勝手がよくありません。
そこで、こんなつなぎをしています。
足を曲げて外に膨らませ、2.54mmピッチの
ユニバーサル基板にハンダしちゃうのです。
ちょい拡大
コンデンサの取り付けは基板の裏(パターン側)で。
液晶板と基板の間にはスポンジタイプの両面テープ。
全面に貼ると剥がすとき大ごとになりそうなんで、
両端にちょっとだけ。
この液晶を使い、Arduino UNO R3(のチップで)こんなツールを
作っています。
二つともデジタルで周波数を設定できる2相パルス発生回路
です。
90度位相差のあるA相B相パルスを出力します。
CW/CCWとカウント方向を変えられます。
下のは 「fclk / n16」でATmega328の16bitタイマー、
アウトプットコンペアで分周する方式。
周波数を設定できる範囲は0.1Hz~9990.0Hz。
1/nですんで周波数が高くなると
ちょいと誤差が出ます。
割り込みの時間に余裕があったんで、パルス数を
指定して「何発出せ」をできるようにしてみました。
ロータリーエンコーダを回して周波数とパルス数を指定。
CWあるいはCCWスイッチを押すとパルスを出力。
設定数出したらSTOP。
2相パルスとして使わなくて、
「何発かのパルスが欲しい」
ときに便利。
お手軽ツールで、これってなかなか無いんじゃ
なかろうか。
上のはDDS方式で、0.01Hz単位で周波数を設定できます。
0.10Hz~9999.99Hz。
こっちは STOP・CW・CCWの操作だけ。
基準カウントクロックが80kHzで、16MHzクロックの
ATmega328にはなかなか重い仕事です。
80kHz=12.5μ秒で割り込みをかけてDDS処理。
タイマー1のコンペアマッチで2相パルスを出力します。
ポートを叩いてH/Lを出力するんじゃないので、ジッターは
ありません。 (DDSに起因するジッタはある)
80kHzで割り込み。
DDSのための32bit加算
次のコンペマッチで出力するA相B相を決定。
これを繰り返します。
※関連記事
・2024年6月2日:秋月電子通商のI2C接続液晶表示器
・2021年7月2日:秋月の液晶表示器 ACM0802C-NLW-BBW-IIC、I2Cのプルアップ抵抗
・2022年7月18日:秋月電子16文字x2行のI2Cインターフェース液晶AQM1602Y
・2024年9月12日:液晶表示:CG-RAMの表示がちょいと違う
※重要 液晶へのI2CアクセスとTWI割り込みを切り離せたから
高速割り込みが安定してできるようになったのです。
・2024年4月3日:超低速2相パルス発生回路・ケース入れ
・2024年4月7日:I2C液晶のアクセス、割り込み処理で遅れる原因らしきもの
・2024年4月12日:I2C液晶のアクセス、割り込みで処理しないようにすると
※2相パルスあれこれ
・2024年4月26日:治具作りは面白い:2相パルスの発生
・2014年07月01日:高速2相パルス発生回路
・2018年5月25日:アナログ入力で2相パルスの周波数と正転逆転を制御する発振器
※2相パルス発生回路 回路図
・2022年8月24日:パルスジェネレータを作ってみた:箱に入れた
これの出力はデューティ可変できますが
「パルスを何発欲しい」には対応していません。
設定も「周期」で、「周波数」として合わせたい時は
ちょいと不便。
「全部入り」を作ろうとすると、Ardino UNO-R3ベースでは
だいぶとチカラ不足。
いずれも、電源や表示器以外は、
ATmega328Pの中に入っている機能だけ
で実現していますんで、
「こんだけできるんやで」と褒めてやりたいところ
です。
※案
DDS方式の2相パルス発生器、割り込みの中では
処理時間の制限でもうなにもできませんが、
「外(main loop)」ではあれこれできそうです。
例えば、周波数を振らす。
何Hzから何Hzまで、何秒かけて周波数をup/down。
てな処理です。
DDS加算している値を変えると周波数が変わります。
割り込みでの処理時間は同じ。
設定メニューを出してあれこれでしょう。
SW4を付けとけば良かった。
| 固定リンク
「ツール」カテゴリの記事
- マイコン型導通チェッカーの部品(2025.02.21)
- ピンセット、危うし!(2025.01.09)
- EEPROMを使ったシリアル受信バッファ 512kバイトに増設(2024.12.26)
- 充電器用AC100V電源電流モニター回路(2024.12.13)
- DDS方式の2相パルス発生回路、周波数スキャン機能を付ける(2024.10.05)
「Arduino」カテゴリの記事
- UNO R4はanalogWrite(n,128)でデュティー50%の方形波が出るぞ(2025.06.03)
- DDS IC「AD9833」の出力にバッファアンプを(2025.05.27)
- DDS IC「AD9833」をArduino UNO R3で制御(2025.05.25)
- DDS IC「AD9833」の周波数レジスタ書き込みで(2025.05.23)
- Arduino UNO R3で周波数を計る(2025.05.16)
コメント