Arduino UNO R3(のATmega328P)を使った電流計各種
実験用の電流計、あれこれ作ってきました。
ハイサイド側に電流検出抵抗を入れることで、
供給電源とデバッグ側回路のGNDを共通にして
るというところが特徴かと。
液晶を使えば電流と電圧を同時に表示できるのですが、
あえて7seg LEDを使っています。
※手持ち部品の活用
※文字が大きいのがありがたい
発端はこれ。
シンプルにATmega328P内蔵の10bit ADCで
電流を計りました。
・2022年11月29日:Arduino UNO(のチップ)を使ったUSB電流計
・2022年12月02日:Arduino UNOを使ったUSB電流計 箱に入れて完成
最大表示が3桁で電流測定範囲は「999mA」まで。
1mAが最小桁というのが不満でした。
そこで、外付けの12bit ADCを使ったのがこれ。
・2022年12月14日:Arduino UNOを使ったUSB電流計 4桁表示も
4桁で最小桁が0.1mA。
でも最大が300.0mAまで。
電流検出抵抗の値もちょっと大きいし。(75mΩ)
出力に付けたCRDは電流検出アンプのゼロ付近にある
不感帯対策。
ちょっと電流を流しておくことで、ゼロ付近の非直線性を
避けて校正操作できるようにしました。
そして、トランジスタ技術2023年6月号のトラ技Jr.コーナに
載せてもらった回路がこれ。
16bit ADCで、999.9mAが最大。
※999.9を越えると1.xxxと表示
備忘録としてスケッチをアップしておきます。
※.inoではなく.txtにしています。
・10bit版 ダウンロード - usb_cur3a.txt
・12bit版 ダウンロード - usb_cur_12bit1a.txt
・16bit版 ダウンロード - cur_16bit1a.txt
タイマー割り込みと内蔵ADC変換完了割り込みを使った
7セグLEDの駆動方法や、校正データのEEPROMへの保存、
浮動小数点化したmap関数による直線補間の方法(電流,電圧計算)
などが参考になるかと。
10bitと12bitの回路で使った電流検出アンプ「INA180」
(差動入力タイプ)が60円ほど。
※オペアンプより安価
16bitの回路で使った「INA281」(FETソース出力型)が
ちょい高くて400円ほど。
| 固定リンク
「ツール」カテゴリの記事
- マイコン型導通チェッカーの部品(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)
コメント