Table des matières:
- Étape 1: Choisissez un fil Sigal
- Étape 2: Étendre le fil à la carte Arduino
- Étape 3: Analyse du signal
- Étape 4: Codez votre analyse de signal
- Étape 5: Identifiez un filtre
- Étape 6: Filtrage: Partie 1
- Étape 7: Filtrage: Partie 2
- Étape 8: Filtrage: Partie 3
- Étape 9: Filtrage: Partie 4
Vidéo: Utilisez Arduino pour afficher le RPM du moteur : 10 étapes (avec des images)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:07
Ce guide décrira comment j'ai utilisé un Arduino UNO R3, un écran LCD 16x2 avec I2C et une bande LED à utiliser comme indicateur de vitesse du moteur et voyant de changement de vitesse dans ma voiture de piste Acura Integra. Il est écrit en termes d'une personne ayant une certaine expérience ou une exposition au logiciel Arduino ou au codage en général, au logiciel mathématique MATLAB et à la création ou à la modification de circuits électriques. À l'avenir, cela pourrait être révisé pour être plus facile à comprendre pour quelqu'un avec peu ou pas d'expérience avec ces sujets.
Étape 1: Choisissez un fil Sigal
Vous aurez besoin d'obtenir un signal qui correspond au régime du moteur. Il est possible d'ajouter un système qui mesure la vitesse du moteur mais il est beaucoup plus pratique de puiser dans un fil existant qui transporte les informations de vitesse du moteur. Une seule voiture peut avoir plusieurs sources pour cela, et cela peut varier énormément même d'une année à l'autre sur un seul modèle de véhicule. Pour les besoins de ce tutoriel, je vais utiliser l'exemple de ma voiture, une piste modifiée 2000 Acura Integra LS. J'ai trouvé sur mon moteur (B18B1 avec OBD2) une tension de sortie inutilisée de 12 V élevée et tombant à 0 V après avoir effectué un tour complet.
Éléments qui aideront à identifier un signal potentiel de régime moteur:
- Schéma de câblage pour votre véhicule
- Recherche de forums pour votre véhicule impliquant des signaux moteur/ECU
- Un sympathique mécanicien ou passionné de voitures
Étape 2: Étendre le fil à la carte Arduino
Une fois que vous avez choisi un signal approprié, vous devrez l'étendre à l'endroit où vous placez votre carte Arduino. J'ai décidé de placer le mien à l'intérieur du véhicule où se trouvait la radio, alors j'ai acheminé le nouveau fil du moteur, à travers un œillet en caoutchouc dans le mur coupe-feu, et jusqu'à la zone de la radio. Comme il existe déjà une quantité abondante de guides pratiques sur le dénudage, le soudage et la protection du câblage, je n'expliquerai pas ce processus.
Étape 3: Analyse du signal
C'est là que les choses peuvent se compliquer. Avoir une compréhension générale de l'analyse du signal et des commandes vous aidera beaucoup, mais c'est faisable avec peu de connaissances.
Le fil de signal choisi ne crachera probablement pas la valeur exacte de la vitesse du moteur. Il devra être façonné et modifié pour donner le nombre exact de tours par minute du moteur que vous souhaitez. Étant donné que chaque voiture et chaque fil de signal choisis peuvent être différents, à partir de ce moment, je vais expliquer comment j'ai utilisé le signal de position du distributeur sur mon Integra.
Mon signal est normalement de 12 V et tombe à 0 V lorsque je termine une rotation complète. Si vous connaissez le temps nécessaire pour effectuer une rotation complète ou un cycle complet, cela peut facilement être traduit en tours/minute en utilisant certains concepts de base.
1 / (secondes par cycle) = cycles par seconde, ou Hz
Tours par minute = Hz * 60
Étape 4: Codez votre analyse de signal
Cette méthode nécessite d'obtenir le temps nécessaire au signal d'entrée pour effectuer un cycle complet. Heureusement, le logiciel Arduino IDE a une commande qui fait exactement cela, PulseIn.
Cette commande attend qu'un signal franchisse un seuil, commence à compter et arrête de compter lorsque le seuil est à nouveau franchi. Certains détails doivent être notés lors de l'utilisation de la commande, j'inclurai donc un lien vers les informations de PulseIn ici:
PulseIn renverra une valeur en microsecondes, et pour garder le calcul simple, cela devrait être immédiatement converti en secondes normales. En suivant les calculs de l'étape précédente, cette durée peut être assimilée directement en RPM.
Remarque: après essais et erreurs, j'ai découvert que le distributeur effectue deux rotations pour chaque rotation du vilebrequin du moteur, j'ai donc simplement divisé ma réponse par 2 pour en tenir compte.
Étape 5: Identifiez un filtre
Si vous avez de la chance, votre signal n'aura pas de « bruit » (fluctuations) et votre régime moteur sera exact. Dans mon cas, il y avait beaucoup de bruit provenant du distributeur qui donnait souvent des tensions loin de ce qu'on attend. Cela se transforme en des lectures très fausses de la vitesse réelle du moteur. Ce bruit devra être filtré.
Après une analyse du signal, presque tout le bruit est arrivé à des fréquences (Hz) bien supérieures à ce que le moteur lui-même produisait (ce qui est vrai pour la plupart des systèmes dynamiques réels). Cela signifie qu'un filtre passe-bas est un candidat idéal pour s'occuper de cela.
Un filtre passe-bas laisse passer les basses fréquences (désirées) et atténue les hautes fréquences (indésirables).
Étape 6: Filtrage: Partie 1
La conception du filtre peut être effectuée à la main, mais l'utilisation de MATLAB accélérera considérablement cette opération si vous avez accès au logiciel.
Un filtre passe-bas peut être assimilé à une fonction de transfert (ou fraction) dans le domaine de Laplace (domaine fréquentiel). La fréquence d'entrée sera multipliée par cette fraction et la sortie est un signal filtré qui ne contient que les informations que vous souhaitez utiliser.
La seule variable de la fonction est tau. Tau est égal à 1 / Omega, où Omega est la fréquence de coupure que vous souhaitez (doit être en radians par seconde). La fréquence de coupure est la limite où les fréquences supérieures à celle-ci seront supprimées et les fréquences inférieures à celle-ci seront conservées.
Je règle la fréquence de coupure égale à un RPM que mon moteur n'atteindra jamais (990 RPM ou 165 Hz). Les graphiques FFT montrent à peu près quelles fréquences mon signal brut transportait et les fréquences qui sortaient du filtre.
Étape 7: Filtrage: Partie 2
Ici, MATLAB a été à nouveau utilisé pour gagner du temps. La fréquence de coupure est définie, et à partir de laquelle la fonction de transfert résultante est affichée. Gardez à l'esprit que cette fraction ne s'applique qu'au domaine Laplace et ne peut pas être directement utilisée sur un microcontrôleur basé sur le temps comme Arduino UNO R3.
Étape 8: Filtrage: Partie 3
MATLAB a une commande qui convertira une fonction continue (domaine fréquentiel) en une fonction discrète (domaine temporel). La sortie de cette commande fournira une équation qui peut être facilement incorporée dans le code Arduino IDE.
Étape 9: Filtrage: Partie 4
Dans l'esquisse Arduino, incluez les variables u et y avant la configuration. La commande float définit simplement comment la variable stockera les données (des choses comme la valeur maximale, les décimales, etc.) et un lien vers plus d'informations à ce sujet sera fourni ici: https://www.arduino.cc/reference/en/language /varia…
Dans la boucle où s'effectue la conversion du signal brut en régime moteur, incluez la variable u et l'équation multiple y. Il existe plusieurs façons d'utiliser cela, mais la variable u doit être définie sur le signal d'entrée brut mesuré et la variable y sera la valeur filtrée.
Conseillé:
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
Utilisez un moteur d'entraînement à courant continu pour tapis de course et un contrôleur de vitesse PWM pour alimenter les outils : 13 étapes (avec photos)
Utilisez un moteur d'entraînement à courant continu pour tapis roulant et un contrôleur de vitesse PWM pour alimenter les outils : des outils électriques tels que des fraises et des tours à métaux, des perceuses à colonne, des scies à ruban, des ponceuses et plus encore peuvent nécessiter des moteurs de 5 HP à 2 HP avec la possibilité d'ajuster la vitesse tout en maintenant le couple .Par coïncidence, la plupart des tapis roulants utilisent un moteur 80-260 VDC avec
Comment démonter un ordinateur avec des étapes et des images faciles : 13 étapes (avec des images)
Comment démonter un ordinateur avec des étapes et des images faciles : Il s'agit d'instructions sur la façon de démonter un PC. La plupart des composants de base sont modulaires et facilement démontables. Cependant, il est important que vous soyez organisé à ce sujet. Cela vous aidera à éviter de perdre des pièces, et aussi à faire le remontage ea
Utilisez des sorts pour contrôler votre ordinateur ! : 7 étapes (avec des images)
Utilisez des sorts pour contrôler votre ordinateur ! : Vous avez toujours voulu utiliser des sorts comme Harry Potter ? Avec un peu de travail et un peu de reconnaissance vocale, cela peut être maîtrisé. Choses dont vous avez besoin pour ce projet : Un ordinateur avec Windows XP ou Vista Un microphone Un peu de temps et de patience ! Si vous avez apprécié ce Instructabl
Afficher la boîte à lumière à partir d'une boîte en bois : 9 étapes (avec des images)
Boîte à lumière d'affichage à partir d'une boîte en bois : ma femme et moi avons offert à ma mère une sculpture en verre pour Noël. Quand ma mère l'a ouvert, mon frère a dit "RadBear (en fait, il a dit mon nom) pourrait te construire une boîte à lumière!". Il a dit cela parce qu'en tant que collectionneur de verre, j'ai