工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

Arduinoとスマートフォンを使用したDIY電圧計

コンポーネントと消耗品

>
Arduino UNO
× 1
Arduino用のPHPoCWiFiシールド
× 1
抵抗100kオーム
× 1
抵抗1Mオーム
× 1
ジャンパー線
× 1

このプロジェクトについて

デモンストレーション

Arduinoを初めて使用する場合は、初心者向けのArduinoチュートリアルを開始できます。

仕組み

Arduinoアナログ入力ピンを使用して電圧を測定できます。ただし、測定可能な最大電圧は5Vです。

測定可能な電圧を上げるには、分圧器を使用する必要があります

理論

<図>

V_measure =(R1 + R2)/ R2 * V_in

比率 = (R1 + R2)/ R2

=> V_measure =比率* V_in

R1 =10 * R2を選択すると、次のようになります。

V_measure =11 * V_in

許容V_inの最大値は5Vであるため=>測定可能な電圧の最大値は 55V

Arduinoに損傷を与える可能性のある、Arduinoのピンを流れる電流を制限するには、できるだけ大きな抵抗値を選択する必要があります。

R1 =1 Mohm、R2 =100Kohm を選択します

実際

あり 実際にはいくつかの問題があります

  • R1とR2の値にエラーがあります。エラーにより、 V_measure のエラーが発生します
  • Arduinoの電源が不安定な場合があります。アナログ入力のV_REFが不安定になります。したがって、 V_in。の計算でエラーが発生します。 => V_measure の計算でエラーが発生します

これらの問題は、キャリブレーション部分で解決されます

キャリブレーション

1。 の実際の値を測定します (R1 + R2)/ R2

比率を取得するには、これを1回だけ実行する必要があります

以下の画像としての配線:

<図>

ratio =(R1 + R2)/ R2 =V_measure / V_in =A1_read_value / A0_read_value

ratio =A1_read_value / A0_read_value

このキャリブレーションのコード=>コード部分のResisterCalibration.inoを参照

2。電源の不安定性

電源が不安定になると、アナログピンの電圧リファレンスが不安定になります。電圧計算で間違った測定値が発生します。

これを解決するには、電圧リファレンスを頻繁に測定する必要があります。

電圧リファレンスを測定する方法は?

3.3VをピンA1に接続します

<図>

電圧リファレンスは、A1の値に基づいて間接的に測定されます。

V_reference =1023 * 3.3 / A1_value

V_measureの計算方法:

V_in =mapFloat(A0_value、0、1023、0、V_reference); V_measure =ratio * V_in;

主な配線:

<図>

方法

  • 「抵抗校正配線」回路としての配線
  • ResistorCalibration.inoをアップロード
  • シリアルプロッタを開く
  • 比率の値をコピーします
  • Voltmeter.inoの5行目でこの値を置き換えます
  • 「メイン配線」としての再配線
  • Voltmeter.inoをアップロード
  • Webユーザーインターフェースをアップロードする( voltmeter.php および voltmeter_body.jpg )PHPoCシールドへ
  • Webページhttp://phpoc_shield_ip_address/voltmeter.phpにアクセスして、電圧を確認します。

スマートフォンの電圧は次のように表示できます:

<図>

配線のヒント:

<図> <図> <図>

初心者のための最高のArduinoスターターキット

初心者向けの最高のArduinoキットをご覧ください

コード

  • ResistorCalibration.ino
  • Voltmeter.ino
  • voltmeter.php
ResistorCalibration.ino Arduino
-校正部分で説明されている配線
-このコードを1回実行します
-シリアルプロッタを開く
-比率の値をコピーします
-Voltmeter.ino
 double ratio; int analogReadAverage(int pin、int read_time){unsigned long read_value =0;の5行目でこの値を置き換えます。 //アナログを値read_time回で読み取ります:for(int i =0; i  
Voltmeter.ino Arduino
これがメインコードです。このコードをアップロードする前に、次のことを行う必要があります。
--ResistorCalibration.inoをアップロードします
-シリアルモニターを開く
-比率の値をコピーし、このコードの5行目の値を置き換えます
 double V_measure; double V_in; double V_reference; double ratio =11.59; double mapFloat(double x、double in_min、double in_max、double out_min、double out_max){return(x --in_min)*(out_max --out_min)/(in_max --in_min)+ out_min;} int analogReadAverage(int pin、int read_time){unsigned long read_value =0; for(int i =0; i  
voltmeter.php PHP
このファイルはWebユーザーインターフェイスです。背景画像と一緒にPHPoCシールドにアップロードする必要がありますvoltmeter_body.jpg
 <!DOCTYPE html>    PHPoC Shield --VOLTMETER        

回路図

PHPoCシールドにアップロードする必要があります

製造プロセス

  1. Arduino Nano RP2040を使用したDIYPhotoshop編集コンソール
  2. PythonでArduinoとRFIDを使用した出席システム
  3. Arduino、1Sheeld、Androidを使用したユニバーサルリモコン
  4. Arduinoを使用したDIY赤外線ハートビートセンサー
  5. Arduinoを使用した周波数とデューティサイクルの測定
  6. ArduinoとNokia5110ディスプレイを備えたDIY電圧計
  7. arduinoを使用したソナーと処理IDEでの表示
  8. MobBob:Androidスマートフォンで制御されるDIY Arduino Robot
  9. BoltとArduinoを使用したLEDの明るさの制御
  10. Arduinoを使用したシンプルでスマートなロボットアーム
  11. ArduinoとRDA8057Mを使用したFMラジオ