« 「充電しない!」K水道店君の現場用LEDランプ | トップページ | 超低速2相パルス発生回路 »

2024年3月19日 (火)

Arduino UNO R3(のATmega328P)を使った電流計各種

実験用の電流計、あれこれ作ってきました。
ハイサイド側に電流検出抵抗を入れることで、
供給電源とデバッグ側回路のGNDを共通にして
るというところが特徴かと。

現用中のはこの3つ。
Cc11_20240319130701

液晶を使えば電流と電圧を同時に表示できるのですが、
あえて7seg LEDを使っています。
  ※手持ち部品の活用
  ※文字が大きいのがありがたい

発端はこれ。
シンプルにATmega328P内蔵の10bit ADCで
電流を計りました。
Cur10bit
2022年11月29日:Arduino UNO(のチップ)を使ったUSB電流計
2022年12月02日:Arduino UNOを使ったUSB電流計 箱に入れて完成

最大表示が3桁で電流測定範囲は「999mA」まで。
1mAが最小桁というのが不満でした。

そこで、外付けの12bit ADCを使ったのがこれ。
Cur12bit

2022年12月14日:Arduino UNOを使ったUSB電流計 4桁表示も
4桁で最小桁が0.1mA。
でも最大が300.0mAまで。
電流検出抵抗の値もちょっと大きいし。(75mΩ)
出力に付けたCRDは電流検出アンプのゼロ付近にある
不感帯対策。
ちょっと電流を流しておくことで、ゼロ付近の非直線性を
避けて校正操作できるようにしました。

そして、トランジスタ技術2023年6月号のトラ技Jr.コーナ
載せてもらった回路がこれ。
Cur16bit

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円ほど。

|

« 「充電しない!」K水道店君の現場用LEDランプ | トップページ | 超低速2相パルス発生回路 »

ツール」カテゴリの記事

Arduino」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




« 「充電しない!」K水道店君の現場用LEDランプ | トップページ | 超低速2相パルス発生回路 »