Table des matières:

Mesure de la vitesse du moteur à l'aide d'Arduino : 6 étapes
Mesure de la vitesse du moteur à l'aide d'Arduino : 6 étapes

Vidéo: Mesure de la vitesse du moteur à l'aide d'Arduino : 6 étapes

Vidéo: Mesure de la vitesse du moteur à l'aide d'Arduino : 6 étapes
Vidéo: Contrôler un moteur avec ARDUINO facilement 2024, Décembre
Anonim
Mesure de la vitesse du moteur à l'aide d'Arduino
Mesure de la vitesse du moteur à l'aide d'Arduino
Mesure de la vitesse du moteur à l'aide d'Arduino
Mesure de la vitesse du moteur à l'aide d'Arduino
Mesure de la vitesse du moteur à l'aide d'Arduino
Mesure de la vitesse du moteur à l'aide d'Arduino

Est-il difficile de mesurer le régime du moteur ??? Je ne pense pas. Voici une solution simple.

Un seul capteur IR et Arduino dans votre kit peuvent le faire.

Dans cet article, je vais donner un tutoriel simple expliquant comment mesurer le RPM de n'importe quel moteur à l'aide d'un capteur IR et d'Arduino UNO/nano

Fournitures:

1. Arduion uno (Amazon) / Arduion nano (Amazon)

2. Capteur infrarouge (Amazon)

3. Moteur à courant continu quelconque (Amazon)

4. LCD 16*2 (Amazon)

Les outils utilisés

1. Fer à souder (Amazon)

2. Pince à dénuder (Amazon)

Étape 1: Étape: 1 Assurer l'état de fonctionnement des capteurs et des appareils

Qu'est-ce qu'un capteur IR ? Le capteur IR est un appareil électronique qui émet de la lumière afin de détecter un objet de l'environnement. Un capteur infrarouge peut mesurer la chaleur d'un objet ainsi que détecter le mouvement. Habituellement, dans le spectre infrarouge, tous les objets émettent une certaine forme de rayonnement thermique. Ces types de rayonnements sont invisibles à nos yeux, mais un capteur infrarouge peut détecter ces rayonnements.

Qu'est-ce qu'un moteur à courant continu ? Un moteur à courant continu (CC) est un type de machine électrique qui convertit l'énergie électrique en énergie mécanique. Les moteurs à courant continu prennent de l'énergie électrique par courant continu et convertissent cette énergie en rotation mécanique.

Les moteurs à courant continu utilisent des champs magnétiques générés par les courants électriques générés, qui alimentent le mouvement d'un rotor fixé dans l'arbre de sortie. Le couple de sortie et la vitesse dépendent à la fois de l'entrée électrique et de la conception du moteur.

Qu'est-ce qu'Arduino ?

Arduino est une plate-forme électronique open source basée sur du matériel et des logiciels faciles à utiliser. Les cartes Arduino sont capables de lire les entrées - lumière sur un capteur, un doigt sur un bouton ou un message Twitter - et les transformer en sortie - activer un moteur, allumer une LED, publier quelque chose en ligne. Vous pouvez dire à votre carte quoi faire en envoyant un ensemble d'instructions au microcontrôleur de la carte. Pour ce faire, vous utilisez le langage de programmation Arduino (basé sur le câblage) et le logiciel Arduino (IDE), basé sur le traitement.

Télécharger ARDUINO IDE

Étape 2: Comment ça marche ?

Alors quelle est la logique derrière cela ??

Il fonctionne de manière très similaire à l'encodeur. Les encodeurs sont assez difficiles à comprendre pour les débutants. Tout ce que vous devez savoir, c'est que le capteur infrarouge génère des impulsions et que nous découvrons l'intervalle de temps entre chaque impulsion.

Dans ce cas, le capteur IR enverra une impulsion à Arduino chaque fois que son faisceau IR est intercepté par les hélices des moteurs. Normalement, nous utilisons des hélices à deux pales, mais j'ai utilisé des hélices à trois pales comme indiqué sur la figure. en fonction du nombre de pales d'hélice, nous devons modifier certaines valeurs lors du calcul du régime.

Considérons que nous avons une hélice qui a deux pales. Pour chaque rotation du moteur, la lame interceptera le rayon IR deux fois. Ainsi, le capteur IR produira des impulsions à chaque fois qu'elles seront interceptées.

Maintenant, nous devons écrire un programme qui pourrait mesurer le nombre d'impulsions produites par le capteur IR à un intervalle de temps particulier.

Il y a plus d'une façon de résoudre un problème mais nous devons choisir laquelle est la meilleure dans ces codes j'ai mesuré la durée entre les interruptions (capteur IR) j'ai utilisé les fonctions micros() pour mesurer la durée des impulsions en micro secondes.

vous pouvez utiliser cette formule pour mesurer le RPMRPM = ((1/duration)*1000*1000*60)/lames

où, durée - intervalle de temps entre les impulsions.

60 - secondes à minutes

1000 - moulin à sec

1000 - micro à fraiser

pales - pas d'ailes dans l'hélice.

Écran LCD - L'Arduino met à jour les registres de commandes et de données de l'écran LCD. Qui affiche les caractères ASCII sur l'écran LCD.

Étape 3: programmez votre Arduino à l'aide d'Arduino IDE

#comprendre

LiquidCrystal LCD (9, 8, 7, 6, 5, 4); const int IR_IN = 2; //capteur IR INPUT long prevmicros non signé; // Pour stocker l'heure longue durée non signée; // Pour stocker le décalage horaire non signé long lcdrefresh; // Pour stocker le temps d'actualisation de l'écran LCD int rpm; // Valeur RPM booléen currentstate; // État actuel du balayage d'entrée IR boolean prevstate; // État du capteur IR dans la configuration de l'annulation de l'analyse précédente() { pinMode(IR_IN, INPUT); lcd.begin (16, 2); micros précédents = 0; état précédent = FAIBLE; } boucle vide() { ////////////////////////////////////////// ///////////////////////////////////// RPM mesure currentState = digitalRead (IR_IN); // Lire l'état du capteur IR if(prevstate != currentstate) // S'il y a un changement dans l'entrée { if(currentstate == LOW) // Si l'entrée ne change que de HIGH à LOW { duration = (micros() - prevmicros); // Différence de temps entre les révolutions en microsecondes rpm = ((6000000/duration)/3); // rpm = (1/ temps millis)*1000*1000*60; micros précédents = micros(); // stocker l'heure pour le calcul de la révolution nect } } prevstate = currentstate; // stocker ces données d'analyse (analyse précédente) pour l'analyse suivante /////////////////////////////////// ///////////////////////////////////////////// Affichage LCD si ((millis()-lcdrefresh) >= 100) { lcd.clear(); lcd.setCursor(0, 0); lcd.print("Vitesse du moteur"); lcd.setCursor(0, 1); lcd.print("RPM = "); lcd.print(tr/min); lcdrefresh = millis(); } }

Étape 4: Simulation à l'aide de Proteus

Simulation avec Proteus
Simulation avec Proteus

Ce projet a parfaitement fonctionné lorsque j'ai essayé de simuler cela avec l'aide de proteus.

Au lieu d'utiliser un capteur infrarouge, j'ai utilisé un générateur d'impulsions CC qui simulera l'impulsion infrarouge similaire à celle générée lorsque les rayons infrarouges frappent les pales des hélices.

vous devez apporter des modifications à votre programme en fonction du capteur que vous utilisez

Le capteur IR avec LM358 doit utiliser cette commande.

if(currentstate == HIGH) // Si l'entrée ne change que de LOW à HIGH

Le capteur IR avec LM359 doit utiliser cette commande.

if(currentstate == LOW) // Si l'entrée ne change que de HIGH à LOW

Étape 5: Exécution du matériel

Exécution matérielle
Exécution matérielle
Exécution matérielle
Exécution matérielle
Exécution matérielle
Exécution matérielle

Pour un schéma, utilisez les images de simulation ou reportez-vous aux codes de programme et effectuez les connexions en conséquence. Téléchargez le code du programme sur Arduino et mesurez le régime de n'importe quel moteur. Restez à l'écoute pour mon prochain article et regardez ma chaîne YouTube.

Conseillé: