Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Voltmètre DIY utilisant Arduino et Smartphone

Composants et fournitures

Arduino UNO
× 1
PHoC WiFi Shield pour Arduino
× 1
Résistance 100k ohm
× 1
Résistance 1M ohm
× 1
Câbles de raccordement
× 1

À propos de ce projet

Démonstration

Si vous êtes nouveau sur Arduino, vous pouvez commencer avec les didacticiels Arduino pour les débutants.

Comment ça marche

Nous pouvons utiliser la broche d'entrée analogique Arduino pour mesurer la tension. Cependant, la tension maximale mesurable est de 5V.

Pour augmenter la tension mesurable, nous devons utiliser un diviseur de tension

En Théorie

Nous avons :

V_mesure =(R1 + R2) / R2 * V_in

rapport =(R1 + R2) / R2

=> V_measure =ratio * V_in

Si on choisit R1 =10 * R2, on a :

V_mesure =11 * V_in

Puisque le maximum du V_in admissible est de 5V => Le maximum de la tension mesurable est de 55V

Pour limiter le courant à travers la broche d'Arduino, ce qui peut endommager Arduino, nous devons choisir une valeur de résistance aussi grande que possible.

Je choisis R1 =1 Mohm, R2 =100Kohm

En pratique

est quelques problèmes dans la pratique

  • La valeur de R1 et R2 comporte des erreurs. Les erreurs provoquent l'erreur de V_measure
  • La source d'alimentation d'Arduino peut être instable. Cela rend le V_REF de l'entrée analogique instable. Par conséquent, cela provoque l'erreur de calcul de V_in. => cela provoque une erreur dans le calcul de V_measure

Ces problèmes sont résolus sur la partie Calibration

Étalonnage

1. Mesurer la valeur réelle de (R1 + R2) / R2

Cela ne doit être fait qu'une seule fois pour obtenir le ratio

Câblage comme l'image ci-dessous :

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

ratio =A1_read_value / A0_read_value

Code pour cet étalonnage => voir ResisterCalibration.ino dans la partie code

2. Instabilité de l'alimentation

L'instabilité de l'alimentation entraîne une instabilité de la référence de tension de la broche analogique. Cela provoque une mauvaise mesure dans le calcul de la tension.

Pour le résoudre, nous devons mesurer fréquemment la référence de tension.

Comment mesurer la référence de tension ?

Connectez 3.3V à la broche A1

La référence de tension est mesurée indirectement en fonction de la valeur dans A1 :

V_reference=1023 * 3.3 / A1_value

Comment calculer la V_mesure :

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

Câblage principal :

Comment faire

  • Câblage en tant que circuit de "câblage d'étalonnage de résistance"
  • Télécharger ResistorCalibration.ino
  • Ouvrir le traceur série
  • Copier la valeur du rapport
  • Remplacez cette valeur à la ligne 5 de Voltmeter.ino
  • Recâblage en tant que "câblage principal"
  • Télécharger Voltmeter.ino
  • Télécharger l'interface utilisateur Web (voltmeter.php et voltmeter_body.jpg ) vers PHPoC Shield
  • Accédez à la page Web http://phpoc_shield_ip_address/voltmeter.php pour voir la tension.

Vous pouvez afficher la tension sur le téléphone intelligent comme suit :

Conseils de câblage :

Le meilleur kit de démarrage Arduino pour débutant

Voir le meilleur kit Arduino pour les débutants

Code

  • ResistorCalibration.ino
  • Voltmeter.ino
  • voltmètre.php
ResistorCalibration.inoArduino
- Câblage comme décrit dans la partie Calibration
- Exécutez ce code une fois
- Ouvrez le traceur série
- Copier la valeur du rapport
- Remplacez cette valeur à la ligne 5 de Voltmeter.ino
double ratio;int analogReadAverage(int pin, int read_time){ unsigned long read_value =0 ; // lit l'analogique dans la valeur read_time times:for(int i =0; i  
Voltmeter.inoArduino
C'est le code principal. Avant de télécharger ce code, nous devons :
- télécharger ResistorCalibration.ino
- ouvrir Serial Monitor
- copiez la valeur du ratio et remplacez la valeur à la ligne 5 de ce code
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){ read_value long non signé =0 ; for(int i =0; i  
voltmètre.phpPHP
Ce fichier est l'interface utilisateur Web. Il doit être téléchargé sur PHPoC Shield avec l'image d'arrière-plan voltmeter_body.jpg
PHPoC Shield - VOLTMETER 

Schémas

Il doit être téléchargé sur PHPoC Shield

Processus de fabrication

  1. Console d'édition Photoshop DIY utilisant Arduino Nano RP 2040
  2. Système de présence utilisant Arduino et RFID avec Python
  3. Télécommande universelle utilisant Arduino, 1Sheeld et Android
  4. Capteur de rythme cardiaque infrarouge DIY utilisant Arduino
  5. Mesure de la fréquence et du cycle de service à l'aide d'Arduino
  6. Voltmètre DIY avec Arduino et un écran Nokia 5110
  7. Sonar utilisant arduino et affichage lors du traitement de l'IDE
  8. MobBob :Robot Arduino DIY contrôlé par smartphone Android
  9. Contrôle de la luminosité des LED à l'aide de Bolt et Arduino