Table des matières:
- Étape 1: Étape: 1 Assurer l'état de fonctionnement des capteurs et des appareils
- Étape 2: Comment ça marche ?
- Étape 3: programmez votre Arduino à l'aide d'Arduino IDE
- Étape 4: Simulation à l'aide de Proteus
- Étape 5: Exécution du matériel
Vidéo: Mesure de la vitesse du moteur à l'aide d'Arduino : 6 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:05
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
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
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é:
Vitesse de contrôle du MOSFET à moteur CC à l'aide d'Arduino : 6 étapes
Vitesse de contrôle du MOSFET à moteur CC à l'aide d'Arduino : dans ce didacticiel, nous allons apprendre à contrôler la vitesse d'un moteur à courant continu à l'aide d'un module MOSFET. Regardez la vidéo
Moteur pas à pas contrôlé par moteur pas à pas - Moteur pas à pas en tant qu'encodeur rotatif : 11 étapes (avec photos)
Moteur pas à pas contrôlé par moteur pas à pas | Moteur pas à pas en tant qu'encodeur rotatif : Vous avez quelques moteurs pas à pas qui traînent et vous voulez faire quelque chose ? Dans ce Instructable, utilisons un moteur pas à pas comme encodeur rotatif pour contrôler la position d'un autre moteur pas à pas à l'aide d'un microcontrôleur Arduino. Alors sans plus tarder, allons-y
Moteur 24 V CC vers moteur universel haute vitesse (30 volts) : 3 étapes
Moteur 24 V CC en moteur universel haute vitesse (30 volts) : Bonjour ! Dans ce projet, je vais vous apprendre à convertir un moteur 24 V CC normal en un moteur universel 30 V. Personnellement, je pense qu'une démonstration vidéo décrit le mieux un projet. . Alors les gars, je vous recommanderais de regarder la vidéo en premier.Project V
Comment faire fonctionner un moteur à courant continu sans balai Drone Quadcopter à l'aide du contrôleur de vitesse de moteur sans balai HW30A et d'un testeur de servomoteur: 3 étapes
Comment faire fonctionner un moteur à courant continu sans balais pour drone quadrirotor à l'aide du contrôleur de vitesse de moteur sans balai HW30A et d'un testeur de servomoteur : L'appareil peut également être utilisé comme générateur de signal pour régulateur de vitesse électrique (ESC), alors vous ne pouvez pas
Comment contrôler le moteur à courant continu sans balai Drone Quadcopter (type à 3 fils) en utilisant le contrôleur de vitesse du moteur HW30A et Arduino UNO: 5 étapes
Comment contrôler le moteur CC sans balai du drone quadrirotor (type 3 fils) à l'aide du contrôleur de vitesse du moteur HW30A et de l'Arduino UNO : Description : Le contrôleur de vitesse du moteur HW30A peut être utilisé avec 4 à 10 batteries NiMH/NiCd ou 2-3 cellules LiPo. Le BEC est fonctionnel avec jusqu'à 3 cellules LiPo. Il peut être utilisé pour contrôler la vitesse du moteur Brushless DC (3 fils) avec un maximum jusqu'à 12Vdc.Specific