Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Voltímetro de bricolaje con Arduino y un teléfono inteligente

Componentes y suministros

Arduino UNO
× 1
PHPoC WiFi Shield para Arduino
× 1
Resistencia 100k ohm
× 1
Resistencia 1M ohm
× 1
Cables de puente
× 1

Acerca de este proyecto

Demostración

Si es nuevo en Arduino, puede comenzar con los Tutoriales de Arduino para principiantes.

Cómo funciona

Podemos usar el pin de entrada analógica Arduino para medir el voltaje. Sin embargo, el voltaje máximo medible es 5V.

Para aumentar el voltaje medible, necesitamos usar un divisor de voltaje

InTheory

Tenemos:

V_measure =(R1 + R2) / R2 * V_in

proporción = (R1 + R2) / R2

=> V_measure =ratio * V_in

Si elegimos R1 =10 * R2, tenemos:

V_measure =11 * V_in

Dado que el máximo de V_in permitido es 5V => El máximo de voltaje medible es 55V

Para limitar la ejecución actual a través del pin de Arduino, que puede causar daño a Arduino, debemos elegir el valor de la resistencia lo más grande posible.

Elijo R1 =1 Mohm, R2 =100Kohm

En la práctica

Allí hay algunos problemas en la práctica

  • El valor de R1 y R2 tiene errores. Los errores provocan el error de V_measure
  • La fuente de energía de Arduino puede ser inestable. Hace que el V_REF de la entrada analógica sea inestable. Por tanto, provoca el error en el cálculo de V_in. => causa error en el cálculo de V_measure

Estos problemas se resuelven en la parte de Calibración

Calibración

1. Mide el valor real de (R1 + R2) / R2

Esto debe hacerse solo una vez para obtener la proporción

Cableado como se muestra a continuación:

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

ratio =A1_read_value / A0_read_value

Código para esta calibración => consulte ResisterCalibration.ino en la parte del código

2. Inestabilidad de la fuente de alimentación

La inestabilidad de la fuente de alimentación provoca inestabilidad en la referencia de voltaje del pin analógico. Provoca una medida incorrecta en el cálculo de voltaje.

Para resolverlo, necesitamos medir la referencia de voltaje con frecuencia.

¿Cómo medir la referencia de voltaje?

Conecte 3.3V al pin A1

La referencia de voltaje se mide indirectamente según el valor en A1:

V_reference =1023 * 3.3 / A1_value

Cómo calcular la V_medida:

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

Cableado principal:

Cómo

  • Cableado como circuito de "cableado de calibración de resistencia"
  • Cargar ResistorCalibration.ino
  • Trazador serial abierto
  • Copie el valor de la proporción
  • Reemplace este valor en la línea 5 de Voltmeter.ino
  • Recableado como "cableado principal"
  • Cargar Voltmeter.ino
  • Cargue la interfaz de usuario web ( voltmeter.php y voltmeter_body.jpg ) a PHPoC Shield
  • Acceda a la página web http://phpoc_shield_ip_address/voltmeter.php para ver el voltaje.

Puede ver el voltaje en el teléfono inteligente de la siguiente manera:

Consejos de cableado:

El mejor kit de inicio de Arduino para principiantes

Vea el mejor kit de Arduino para principiantes

Código

  • ResistorCalibration.ino
  • Voltímetro.ino
  • voltímetro.php
ResistorCalibration.ino Arduino
- Cableado como se describe en la parte de Calibración
- Ejecute este código una vez
- Trazador serial abierto
- Copiar el valor de la relación
- Reemplace este valor en la línea 5 de Voltmeter.ino
 double ratio; int analogReadAverage (int pin, int read_time) {unsigned long read_value =0; // lee el valor analógico en el valor read_time times:for (int i =0; i  
Voltímetro.ino Arduino
Este es el código principal. Antes de cargar este código, necesitamos:
- subir ResistorCalibration.ino
- Monitor serial abierto
- copie el valor de la relación y reemplace el valor en la línea 5 de este código
 double V_measure; double V_in; double V_reference; double ratio =11.59; double mapFloat (doble x, doble in_min, doble in_max, doble 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  
voltímetro.php PHP
Este archivo es la interfaz de usuario web. Debe cargarse en PHPoC Shield junto con la imagen de fondo voltmeter_body.jpg
     PHPoC Shield - VOLTMETER     html {altura:100%;} cuerpo {ancho:100%; altura:100%;; text-align:center;}. contenedor {ancho:100%; altura mínima:99%; altura máxima:100%;} lienzo {fondo:url (cuerpo_voltímetro.jpg); background-size:contener; familia de fuentes:'Segment7Standard'; font-weight:negrita; font-style:italic;}     

Esquemas

Debe cargarse en PHPoC Shield

Proceso de manufactura

  1. Consola de edición de Photoshop DIY con Arduino Nano RP 2040
  2. Sistema de asistencia que usa Arduino y RFID con Python
  3. Control remoto universal usando Arduino, 1Sheeld y Android
  4. DIY Sensor infrarrojo de latidos del corazón con Arduino
  5. Medición de frecuencia y ciclo de trabajo con Arduino
  6. Voltímetro de bricolaje con Arduino y una pantalla Nokia 5110
  7. Sonda usando arduino y visualización en procesamiento IDE
  8. MobBob:Robot Arduino DIY controlado por un teléfono inteligente Android
  9. Control del brillo del LED usando Bolt y Arduino
  10. Brazo robótico simple e inteligente con Arduino
  11. Radio FM usando Arduino y RDA8057M