Table des matières:

Comment lire le capteur de pression différentielle MPX5010 avec Arduino : 5 étapes
Comment lire le capteur de pression différentielle MPX5010 avec Arduino : 5 étapes

Vidéo: Comment lire le capteur de pression différentielle MPX5010 avec Arduino : 5 étapes

Vidéo: Comment lire le capteur de pression différentielle MPX5010 avec Arduino : 5 étapes
Vidéo: [Live #2] Debug du capteur de pression 2024, Novembre
Anonim
Comment lire le capteur de pression différentielle MPX5010 avec Arduino
Comment lire le capteur de pression différentielle MPX5010 avec Arduino

La façon dont j'ai écrit le code est telle qu'il peut être facilement modifié pour s'adapter à un capteur de pression différent. Modifiez simplement les variables const suivantes dans le code en fonction des valeurs de la fiche technique de tout capteur de pression:

  • valeur "sensorOffset" en mV
  • valeur de "sensibilité" en mV/mmH2O

Une fois que j'ai eu ce capteur de pression, j'ai cherché en ligne pour essayer de trouver un exemple de code pour extraire les lectures de pression de ce capteur en unités réelles de pression, KPa ou cmH2O. J'ai trouvé un exemple de code pour ce capteur exact, après l'avoir exécuté, j'ai remarqué que les lectures ne correspondaient pas à ce qu'elles devraient être sur la fiche technique, alors j'ai décidé d'écrire mon propre calcul et mon propre code… ça a l'air vieux mais ça marche, Hourra!! Alors j'ai pensé que je le partagerais avec le monde afin que d'autres personnes n'aient pas à subir la même douleur.

Prendre plaisir!!

Fournitures

Tu auras besoin:

  • Un capteur de pression MPX5010 (bien sûr)
  • Un Arduino, Uno ou tout autre
  • Du tuyau en silicone (à connecter du capteur de pression au robinet de pression)
  • Petits serre-câbles (pour fixer le tuyau en silicone)
  • Petit tube de 2mm en laiton ou en plastique (j'ai utilisé le tube d'un bidon WD40)
  • Du ruban isolant (nécessaire uniquement si votre tuyau en silicone est trop gros pour votre tube WD40)

Étape 1: Connecter le circuit

Connecter le circuit
Connecter le circuit
Connecter le circuit
Connecter le circuit

Voir l'image de connexion super facile

Étape 2: connectez le capteur de pression

Connecter le capteur de pression
Connecter le capteur de pression
Connecter le capteur de pression
Connecter le capteur de pression
Connecter le capteur de pression
Connecter le capteur de pression
  • Connectez votre tuyau en silicone au port du capteur de pression, utilisez un serre-câble si vous en avez besoin pour faire une bonne étanchéité
  • Percez un trou de 2 mm dans le tuyau pour lequel vous souhaitez détecter la pression de l'air
  • Poussez le tube WD40 dans le trou, il devrait être bien ajusté. Utilisez un peu de super colle pour compléter le joint
  • Faites glisser votre tuyau en silicone sur le tube WD40 (j'ai dû enrouler du ruban isolant autour du tube pour qu'il s'adapte). Ajoutez ensuite un petit serre-câble

Étape 3: Télécharger le code

Télécharger le code
Télécharger le code
Télécharger le code
Télécharger le code

Téléchargez mon code sur votre Arduino, puis cliquez sur le terminal série pour afficher les numéros (le bouton avec le symbole de la loupe en haut à droite de l'écran).

Vous devriez voir le temps en millisecondes, puis un ', ' puis la valeur de la pression.

Vous avez la possibilité dans le code de calculer le nombre en kPa ou en cmH2O, il suffit de commenter la ligne dont vous n'avez pas besoin.

Ajoutez un "retard (500);" si vous souhaitez ralentir les lectures pour les rendre plus faciles à préparer sur le terminal.

La façon dont j'ai écrit le code est telle qu'il peut être facilement modifié pour s'adapter à un capteur de pression différent. Modifiez simplement les variables const suivantes dans le code en fonction des valeurs de la fiche technique de tout capteur de pression:

  • valeur "sensorOffset" en mV
  • valeur de "sensibilité" en mV/mmH2O

Étape 4: extraire les valeurs des capteurs vers Excel

Extraire les valeurs des capteurs vers Excel
Extraire les valeurs des capteurs vers Excel
Extraire les valeurs des capteurs vers Excel
Extraire les valeurs des capteurs vers Excel
Extraire les valeurs des capteurs vers Excel
Extraire les valeurs des capteurs vers Excel
Extraire les valeurs des capteurs vers Excel
Extraire les valeurs des capteurs vers Excel
  1. Enregistrez quelques lectures dans votre terminal série Arduino. Le doit être au format: "temps (ms), lecture de la pression"
  2. Débranchez le câble USB
  3. Sélectionnez toutes les valeurs de votre terminal série et copiez
  4. Collez-les dans un bloc-notes
  5. Cliquez sur fichier > enregistrer sous
  6. Tapez votre nom de fichier puis changez l'extension en ".csv" (très important) et enregistrez-le
  7. Ouvrez votre explorateur de fichiers et vous devriez voir votre fichier avec le logo Excel dessus (cela signifie que vous avez correctement créé le fichier.csv)
  8. Double-cliquez sur votre nouveau fichier.csv et il s'ouvrira dans Excel et il aurait dû trier automatiquement vos valeurs en deux colonnes distinctes et se débarrasser de la virgule (c'est pourquoi les fichiers.csv sont géniaux !)

Ensuite, vous pouvez continuer et créer des graphiques de pression au fil du temps ou de ce que vous voulez.

BTW: CSV signifie "valeurs séparées par des virgules".

Étape 5: Extra ringard Bit

Morceau ringard supplémentaire
Morceau ringard supplémentaire
Morceau ringard supplémentaire
Morceau ringard supplémentaire

Bravo d'être arrivé jusqu'ici ! Cela signifie que vous avez réussi le test de nerd et en récompense, je vais vous donner quelques détails techniques.

J'ai donc mentionné au début un exemple de code que j'ai trouvé pour ce capteur exact qui m'a donné les mauvaises valeurs. Pour le vérifier, j'ai utilisé leur équation pour calculer quelques points sur le graphique de réponse (ci-joint) à partir de la fiche technique et j'ai constaté que ceux-ci ne correspondaient pas au graphique. J'ai donc créé mon propre calcul et je l'ai croisé avec le graphique de la fiche technique pour prouver que cela fonctionne en théorie, puis j'ai enregistré des lectures avec les deux codes et superposé les graphiques que j'ai joints.

Sur les graphiques ci-joints, la ligne bleue est l'exemple de code que j'ai trouvé et la ligne rouge est mon code. Le problème est assez évident lorsque l'on regarde le graphique car l'exemple de code Web ne mesure pas 0 à température ambiante, ce qu'il devrait faire car nous mesurons la pression différentielle.

Ok, donc ce ne sera pas trop technique après tout, désolé de vous décevoir mais j'espère que vous l'avez quand même apprécié:)

Conseillé: