■ナダ電子製「プリンタシールド」応用例
 Arduino UNOでチャートレコーダを実現

2016-09-01

※トランジスタ技術2014年6月号への投稿原稿から抜粋

●プリンタシールドでチャートレコーダ

 神戸のナダ電子(株)からArduinoやGR-SAKURAに搭載できる「シールド」として、感熱プリンタが発売されました。
プリンタシールドと名付けられています。

 ※AS-289R概略仕様
  通信方式: シリアル
     TTLレベル 9600bps, 8Bit, パリティ無し, 1ストップビット
     無手順
  印字方式: ラインサーマル方式
  ドット総数: 384ドット/ライン
  ドット密度: 8ドット/mm
  印字有効幅: 48mm
  文字コード: UTF-8
    ANK文字、JIS第一第二水準漢字コードのキャラクタジェネレータを搭載
  記録紙:   幅58mm,直径50mm,長さ30m
   ・プリンタ作動用に別途5V電源が必要(容量4A程度)
    Arduinoからの電源供給では電流が不足する

 このプリンタが持つビットイメージ印字機能を利用して、Arduinoが取り込んだA/D値を波形としてプリントするチャートレコーダを作ってみました。
入力は2チャンネル。
Arduinoとこのシールド、それに若干の付加回路と電源があれば、電圧変化を示す連続したグラフが得られます。

 PCでデータ処理するのではなく紙に記録を残すので、停電がおきてもその直前までのデータは失われません。
停電すると印字は止まりますが電源復帰とともに(ほうっておいても)再開されます。
紙が無くなるまで長時間、長期間の記録が可能です。

・プリント例
プリンタの下にArduinoがいます。
 (クリックで拡大↓)

 


・Arduinoとの接続
 A0入力とA1入力のA/D値を描画します




・信号を引き出すのにこの基板を
 サンハヤトの「UB-ARD03-P」を使って必要な信号を引き出します。




・紙送り速度を設定できるように
 デジタルスイッチを付加します。



印字の開始・停止、そしてチャンネルごとの印字オン・オフ・スイッチと紙送り速度設定用のデジタルスイッチを付加したものです。
アナログ部はAREF端子の基準電圧(1.1V)をOP-AMPでバッファして外に引き出しています。
VR1、2による入力ゲイン設定(分圧比調整)とVR3、4によるゼロ位置調整機能を付けました。

  ※スケッチ prnsld01a.inoで動かしてみてください。
     (zip圧縮しています)







・入力レンジを変える

 テスタのように便利に使えるようするには入力レンジの切り替え機能が必須です。
入力電圧を減衰させるアッテネータでレンジを決めます。
そして、A/D入力の1.1Vフルスケールに対し、10倍くらい感度をアップする直流増幅回路を付加して最小レンジを広げます。
1-2-5ステップで設定できるようにしています。
 直流増幅回路は正負の電圧を扱うので、負電圧の電源も必要になってきます。
チャージポンプIC(MAX660)を使って-5Vを発生させています。



手組みした回路↓ (クリックで拡大)


サンハヤトのユニバーサル基板がArduinoとプリンタシールド
の間に入る。



 10倍増幅で使うOP-AMP(A1)のオフセット電圧と入力バイアス電流が誤差の発生につながります。
汎用品のLM358やTL064では力不足です。
A2のオフセット電圧が大きいとゼロ位置(JP1、2をオンしたとき)が合わなくなってしまいます。
 A1にはOP297を、A2とA3にはLT1013を使いました。
LT1013はLM358の上位互換品として「もう少しオフセット電圧が小さければ」という場面で便利に使えます。

 4つの半固定抵抗は多回転のポテンショメータを使っています。

   ※スケッチ prnsld02a.inoで動かしてみてください。
     (zip圧縮しています)



※旧スケッチ:prnsld_ino_02.zip へのリンク (2014-04-21)


・プリント例



こんなチャートが得られます。
紙送り速度は印字を開始したときと設定を変えたときにプリントします。

●プリンターシールドで「温度と照度」を記録

出力例は、下のブログ記事(2016年08月17日)をご覧ください。

・回路図 (クリックで拡大↓)


  ※スケッチ prnsld03.zip へのリンク  (2016-09-01)


以前のチャートレコーダでは、10ポジションのデジタルスイッチ
で紙送り速度を決めていました。
今回、スケッチを少し変えて、「Fast/Slow」の押しボタンスイッチ
で速度を変えるようにしました。

これで、10コまでだった紙送り速度の設定が、好きなだけ
増やせます。   ※限度がありますが(笑)

以前の最遅設定が6時間/cmだったのを、12時間/cmと1日/cm
の2つを増やしました。
1日/cmだと、1カ月の記憶でわずか30cmしか紙が出ません。

速度の設定はEEPROMに記録してますんで、停電があっても
復旧すれば記録を続行します。
このあたり、PCでのデータロギングとは違って、つないで
動かせば記録が取れるということで便利なわけです。

アナログ入力部の処理は以前のと同じです。


●参考ブログ記事  (居酒屋ガレージ日記)
2016年08月26日 ナダ電子プリンタシールドで室温と照度を記録  (記録例)
2016年08月19日 仕事場の温度と照度  (記録例)
2016年08月17日 ナダ電子プリンタシールドのデモ回路  (prnsld03)
2015年10月06日 チャートレコーダーのスケッチを修正 prnsld01aとprnsld02a
2015年06月24日 電池イジメ Ni-Cd電池の充電特性
2015年05月27日 温度を上げたときのニッ水電池の内部抵抗変化を調べる
2015年04月03日 ダイソーのUSB出力ACアダプタT362とG208の温度上昇
2015年04月03日 プリンタシールドでチャートレコーダの記事が韓国「電子技術」に
2015年03月10日 電池イジメ エネループとエネループ・ライトの現状
2015年03月09日 エネループ・プロのJIS耐久試験 続行中
2015年02月23日 エネループ・プロのJIS耐久試験 こんな具合です
2015年01月17日 コードレス電話用充電池#2
2014年12月16日 「プリンタシールド」を「箱」に入れる
2014年08月16日 出窓のセンサー
2014年08月11日 プリンタシールドをArduinoから分離
2014年07月11日 エナジャイザーリチウム乾電池 放電時の発熱
2014年07月09日 トラ技8月号リーダーズ・フォーラム
2014年06月16日 「プリンタシールド」で「チャートレコーダ」を!
2014年05月10日 プリンタシールドの記事がトラ技に載ってます
2014年03月11日 「プリンタシールドでチャートレコーダ」、これがしたかった
2014年02月24日
ひょっとしてこのカバーのせいで?#3(エネループプロ実験)
2014年02月19日
ひょっとしてこのカバーのせいで?#2(エネループプロ実験)
2014年02月01日
入力レンジ切り替え回路
2014年01月25日
プリンタシールド、付加回路
2014年01月21日
プリンタシールド、長時間記録の例
2014年01月11日
ナダ電子の「プリンタシールド」でチャートレコーダ(動画あり)
2013年12月11日 「プリンタシールド」

●お役立ちツール

・マイコン型導通チェッカー組み立てキット   配線チェックにどうぞ