ソミーの部屋(入口)メインタイトル標識

アマチュア無線ルームロゴ

Arduino, Load Cell, LCD, I2C, RTC, Jarnal Printer

 

Arduino を使うのは2回目です。数々のトラブルを超えてシステムが完成しましたので記録に残します。どなたかのお役に立てば幸いです。

私へのメールは
連絡先アドレス


 


ジャーナルプリンタとArduinoをケースに収めました

JP Panel Printer Model:JP-QR701-TTL

JP Panel Printer Model:JP-QR701-TTL

 基板むき出しでは落ち着かないので、一先ずジャーナルプリンタ、リアルタイムクロックとArduinoをケースに収めました。LCDを備えた荷重計本体とはI2Cで接続します。回路図をまとめながらやっていたので時間がかかってしまいました。Auduinoは、ケースを開けなくてもプログラムの変更ができるように、USBミニBを接続できるように小さな窓を開けました。テストのため電流制限が出来る3Aの外部電源を繋いでいたのですが、プリンタ動作時には電流制限が一瞬働いていました。ということは、一瞬ですが3A以上流れている・・・・9V2AのACアダプタでは不足?そのため、電解コンデンサを増強しておきました。(動作音で電源の善し悪しがわかります。Hi)こんな、ちっこいプリンタに大きな電源は似合わない!

JP Panel Printer Model:JP-QR701-TTL

JP Panel Printer Model:JP-QR701-TTL

JP Panel Printer Model:JP-QR701-TTL

 JP Panel Printer Model:JP-QR701-TTL プリンタの電源電圧について
// Printer performance may vary based on the power supply voltage,
// thickness of paper, phase of the moon and other seemingly random
// variables.
// This lets you tweak the timing to avoid excessive delays and/or
// overrunning the printer buffer.
See・・・・ https://github.com/adafruit/Adafruit-Thermal-Printer-Library/blob/master/Adafruit_Thermal.cpp

私の実験結果からすると「電源は9V以上電流も2A以上取れるものが必要です」
(フロー制御がないので、ヒータ加熱電力が印字速度に影響する)

Load Cell,Arduino nano I2C Arduino nano ,RTC,JornalPrinter

Arduinoで初めてのI2Cシステム

Arduinoで初めてのI2Cシステム

 ロードセルで荷重を読み Ardino で処理してLCDに表示するシステムと、リアルタイムクロックとジャーナルプリンタを接続した Ardino をI2Cで相互接続しています。図のI2Cと書かれた位置で切り離して、単独で使用することを想定しています。不慣れなI2Cやまともな取説もない安価なRS-232/TTLサーマルプリンタの扱いに時間をとられてしまいました。

sprintf warning 2021.09.24

Arduino

Arduino

 Arduino IDE で、環境設定でコンパイラ警告を「より多く」に設定していると sprintf で warning を出してきます。 sprintf は Arduino の標準関数ではないので、 warning 不可避なのでしょうか。

Arduinoバグ退治 2021.09.22

Arduinoバグ退治

Arduinoバグ退治

 2週間以上解決できなかったArduinoを使ったシステムのバグを退治することが出来ました。LCDを繋げたマスターとプリンタを繋いだスレーブ2台のArduinoがI2Cバスで繋がり、バスにRTCが乗っているというシステムで、マスター側のAruduinomoはI2Cを切り離しても単独でも動作します。このシステムは正常?に動いていても、翌朝には止まってしまうという状況でした。マスターArduinoとスレーブArduinoがそれぞれ別個にRTCにアクセスするのですが、スレーブ側のArduinoが同じくスレーブRTCにアクセスするので問題を見誤っていました。詳細は後日、ソフトウェアルームで報告します。

Arduinoヒューズ 2021.09.15

Arduinoヒューズ

Arduinoヒューズ

 先日のIC-9700に続き、今日は Arduino nano のヒューズ を飛ばしました。 +5V出力ラインをショートさせてしまいました。その時の Arduino の電源はパワーバンクからUSBコネクタ接続でした。匂いと樹脂の膨れですぐにわかります。不注意が続いています。気を付けなきゃ、、、表面実装の500mAヒューズの手持ちがなかったので、とりあえずは写真のように、出来るだけ細い銅線で繋ぎました。Arduinoは元に戻りました。

Arduinoヒューズ 2021.09.15

Arduinoヒューズ

Arduinoヒューズ

 今日は Arduino nano のヒューズ を飛ばしました。 +5V出力ラインをショートさせてしまいました。その時の Arduino の電源はパワーバンクからUSBコネクタ接続でした。匂いと樹脂の膨れですぐにわかります。不注意が続いています。気を付けなきゃ、、、表面実装の500mAヒューズの手持ちがなかったので、とりあえずは写真のように、出来るだけ細い銅線で繋ぎました。Arduinoは元に戻りました。

フライス盤動画 2021.09.12

 8月31日の記事で使用している縦フライス盤を使用している動画を掲載しました。(うーん、なんかよくわかりませんね。)

精度測定 2021.09.11

IC-9700壊した

IC-9700壊した

 一番安い分銅を購入(子供の頃、上皿天秤を買って以来だ!)して、先日作った荷重測定装置の精度を測定してみました。その辺にあるもので簡単に精度合わせをしただけでしたが、何と10gから1kgまでぴったり!! ここから先は適当な品を加えて2kgまで測定、これなら精度等級の四級は軽く合格だな。・・・・これだけなら2000円も出せば外見も立派な秤が買えるので作る価値なし?

I2C通信その2 2021.09.06

I2C通信

I2C通信

 Arduino IDE を使ってプログラム中、流れる画面を停止するためにシリアルモニタのボーレートを一時的に変更していたのを忘れ、「あれ?タイムスタンプ以降の文字が化けてる!?」で悩みました。IDEを再インストールしたおかげでバージョンも新しくなりました。シリアルモニタってボーレート設定が間違っていてもタイムスタンプだけは、通信と関係なく表示されるんですね!考えてみればタイムスタンプはIDEが直接出しているので”当たり前田のクラッカー”

I2C通信 2021.09.03

I2C通信

I2C通信

 昨日の記事で使用している RTC DS3238 リアルタイムクロック と 一昨日のサーマルプリンタを 8月26日の記事の荷重計測器に組み込もうとしたのですが、Arduino nano にはプログラムが収まりそうにない(既にスケッチが48%)ので、2台の Arduino nano を使う事にしました。 1台は計測器側に、もう一台はRTCとプリンタ側に使い、I2Cでデータを渡すようにします。近距離なので大丈夫?!そこで先ずはWeb上でサンプルスケッチを探し、やり方を学ぶことにしました。
今日の収穫、(1)Arduinoは貧者のASIC! (2)I2CやPWMのはハードの助けでライブラリがコンパクト! (3)github や www のおかげで初心者でも開発が格段にラク・・既知

RTC DS3238 2021.09.02

サーマルプリンタ

サーマルプリンタ

 昨日の記事で使用している RTC DS3238 リアルタイムクロック で使っている2016リチウム電池が膨れてきました。本来ならば2032型の2次電池を使うのですが、手元になかったので短時間ならいいやという事でその辺にあった2016を突っ込んで開発をやっていたのですが、「あれ?ちょっと膨れてきたような・・・」というわけで外してみたらやはり(左側の電池)膨らんでいました。基板を見るとVCCから200Ωとダイオードを通して5Vがバッテリーに繋がっていました。うーん。 この電池で 200Ω じゃ膨らむよな~ (写真クリックで拡大して) 47kΩ(赤丸) に変えて、もうしばらく使います。

サーマルプリンタ 2021.09.01

サーマルプリンタ

サーマルプリンタ

 3000円でお釣りがくるサーマルプリンタを動作確認のためにArduinoで動かしました。ついでにリアルタイムクロックも繋ぎました。今日は部品調達で秋葉原を歩きましたが、ワクチン接種済みの元気な老人(自分もそうだろ?!)が目につきました。話は飛びますが、実はこのプリンタを動かすのに、近くにあった6V電源を利用していたのです、しかし、それがのちに問題を引き起こします。

縦フライス盤 2021.08.31

縦フライス盤

縦フライス盤

 LCDの窓を切るのに縦フライス盤を使いました。<写真クリックで拡大>金属加工機という点では安価で玩具みたいな品ですが、プラスチックは勿論、このようなアルミダイキャスト3mm厚程度ならば容易に加工できます。シャンク径(歯を取付る部分の直径)は6mm、刃径は2mmを使用しました。この手の仕事をするときに重要なのは、切削する品をしっかり固定する治具です。ワークを垂直の状態で固定するために、写真にあるように7mm厚のアルミ板で垂直のベッドを作り、Cクランプでワークを固定しました。”ボール盤”の次には”バンドソー”その次には”フライス盤”があると非常に加工が楽になります。これが無いとドリルで小径の穴をいっぱい並べてて切り取り、やすりで仕上げることになります。(ちなみに前回記事の作品はそんな方法で作りました)

Arduino nano 2021.08.26

Arduino nano

Arduino nano

 Arduino nanoを使った物を作っていましたが、ようやく試作機が完成しました。さて、これは何でしょうか? 秤のように垂直荷重を、そして二つのレバーをつまむ様な荷重の2種類を測ることができます。そのほかにプリンタの接続や、リアルタイムクロックを搭載するなどもいくつかの機能を装備することを計画しています。

2000円台の小型秤 2021.08.21

2000円台の小型秤

2000円台の小型秤

 ロードセルを使った品を自作しているので、2000円台の小型秤を購入しバラしてみました。これをこの価格で売るには、、、専用ICを作って安いフェノール基板にペタッと乗せて液晶と一体化して、、、うーん、100万枚以上作ったんだなー。私は必要な機能を作り込む必要があったので Arduino を使っています。

USB mini-B ケーブル 2021.08.18

USB mini-B ケーブル

USB mini-B ケーブル

 Arduino nano でのプログラミングのために、以前購入してあったUSB mini-B ケーブルを使ったところ、開発用のWin10PCが認識しなくなりました。「あれ、このケーブル激安品だったので電源だけしか繋がっていないんだ」と早合点してヨドバシのポイントで「USB mini-B ケーブル」を注文! ケーブルにテプラで”電源専用”表示を貼り付けました。念のため、ケーブルの接続状態をテスターで当たってみると、「え、ちゃんとデータ線も繋がってる!」 もう一度Arduinoに繋ぐと「今度は、認識で来たぞ」、でもケーブルをコネクタの奥まで挿入すると電源も断!、、、、やっぱりだめか、、、しばらく挿抜をくりかえると、「問題なく動いてる」、、、やっと気づきました、「mini-B側の接点が汚れてたんだ」、、、mini-Bはあまり使わないし、そんなところ磨いたことないなー。信頼性ないので電源用のラベルはそのままにしました。

ArduinoでLoadCell 2021.08.14

ArduinoでLoadCell

ArduinoでLoadCell

 ArduinoUNO は値段が高いので安い ArduinoNANO にして、1602ブルー反転液晶と、LED,ブザー、スイッチを組み込みました。圧力をかけた状態でタクトスイッチを押すと、その状態での力がグラム重数値でEEPROMに記録され、次回圧力を加えたときに、LCDに値が標示されるとともに、設定値を超えると圧電ブザーが鳴るようにしました。

ArduinoでLoadCell 2021.08.12

ArduinoでLoadCell

ArduinoでLoadCell

 先日の秋葉原散歩中、秋月電子でSC133 10kgという Load Cell と AD コンバータモジュール AE-HX711-SIP を購入してきました。以前購入してあった Arduino UNO を接続して、サンプルスケッチを動かしました。SC133 10kgの定義部分を書き加えただけで、シリアルモニタへのほぼ正常な値が出力されました。
#define OUT_VOL 0.002f //定格出力 [V]
#define LOAD 10000.0f //定格容量 [g]
あらためて Arduino は楽だ!と感じました。さて、この次はここを起点にLCD表示などを追加して作品に仕上げる予定です。

ここから始まりました

【Tips】