Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-23 12:52
Ist es schwierig, die Motordrehzahl zu messen? Ich glaube nicht. Hier ist eine einfache Lösung.
Nur ein IR-Sensor und Arduino in Ihrem Kit können dies tun.
In diesem Beitrag werde ich ein einfaches Tutorial geben, das erklärt, wie man die Drehzahl eines beliebigen Motors mit einem IR-Sensor und Arduino UNO / Nano misst
Lieferungen:
1. Arduion uno (Amazon) / Arduion nano (Amazon)
2. IR-Sensor (Amazon)
3. Gleichstrommotor beliebig (Amazon)
4. LCD 16*2 (Amazon)
Benutztes Werkzeug
1. Lötkolben (Amazon)
2. Abisolierzange (Amazon)
Schritt 1: Schritt: 1 Stellen Sie den Betriebszustand von Sensoren und Geräten sicher
Was ist ein IR-Sensor?IR-Sensor ist ein elektronisches Gerät, das Licht aussendet, um ein Objekt in der Umgebung zu erfassen. Ein IR-Sensor kann sowohl die Wärme eines Objekts messen als auch die Bewegung erkennen. Normalerweise strahlen alle Objekte im Infrarotspektrum irgendeine Form von Wärmestrahlung aus. Diese Arten von Strahlungen sind für unsere Augen unsichtbar, aber Infrarotsensoren können diese Strahlungen erkennen.
Was ist ein Gleichstrommotor?Ein Gleichstrommotor (DC) ist eine Art elektrische Maschine, die elektrische Energie in mechanische Energie umwandelt. Gleichstrommotoren nehmen elektrische Energie durch Gleichstrom auf und wandeln diese Energie in mechanische Rotation um.
Gleichstrommotoren verwenden Magnetfelder, die aus den erzeugten elektrischen Strömen entstehen, die die Bewegung eines in der Abtriebswelle befestigten Rotors antreiben. Das Abtriebsdrehmoment und die Drehzahl hängen sowohl vom elektrischen Eingang als auch vom Design des Motors ab.
Was ist Arduino?
Arduino ist eine Open-Source-Elektronikplattform, die auf benutzerfreundlicher Hardware und Software basiert. Arduino-Boards sind in der Lage, Eingaben zu lesen – Licht auf einem Sensor, einen Finger auf einer Taste oder eine Twitter-Nachricht – und sie in einen Ausgang umzuwandeln – einen Motor zu aktivieren, eine LED einzuschalten, etwas online zu veröffentlichen. Sie können Ihrem Board sagen, was es tun soll, indem Sie eine Reihe von Anweisungen an den Mikrocontroller auf dem Board senden. Dazu verwenden Sie die Programmiersprache Arduino (basierend auf Wiring) und die Arduino Software (IDE), basierend auf Processing.
ARDUINO-IDE herunterladen
Schritt 2: Wie funktioniert es?
Was ist also die Logik dahinter??
Es funktioniert ähnlich wie Encoder. Encoder sind für Anfänger ziemlich schwer zu verstehen. Alles, was Sie wissen müssen, ist, dass der IR-Sensor einen Impuls erzeugt und wir das Zeitintervall zwischen jedem Impuls herausfinden.
In diesem Fall sendet der IR-Sensor einen Impuls an Arduino, wenn sein IR-Strahl von Motorpropellern abgefangen wird. Normalerweise verwenden wir Propeller mit zwei Blättern, aber ich habe Propeller mit drei Blättern verwendet, wie in der Abbildung gezeigt. Abhängig von der Anzahl der Propellerblätter müssen wir einige Werte bei der Berechnung der Drehzahl ändern.
Nehmen wir an, wir haben einen Propeller mit zwei Blättern. Bei jeder Motorumdrehung fängt die Klinge den IR-Strahl zweimal ab. Somit erzeugt der IR-Sensor bei jeder Unterbrechung Impulse.
Jetzt müssen wir ein Programm schreiben, das die Anzahl der Impulse messen kann, die der IR-Sensor in einem bestimmten Zeitintervall erzeugt.
Es gibt mehr als eine Möglichkeit, ein Problem zu lösen, aber wir müssen wählen, welche in diesen Codes am besten ist. Ich habe die Dauer zwischen den Interrupts (IR-Sensor) gemessen.
Sie können diese Formel verwenden, um die RPMRPM = ((1/Dauer) * 1000 * 1000 * 60) / Klingen zu messen
wo, Dauer - Zeitintervall zwischen den Impulsen.
60 - Sekunden bis Minuten
1000 - Mühle in Sek
1000 - Mikro bis Mühle
Flügel - keine Flügel im Propeller.
LCD-Display - Der Arduino aktualisiert die Befehls- und Datenregister des LCD-Displays. Welche die ASCII-Zeichen auf dem LCD-Display anzeigt.
Schritt 3: Programmieren Sie Ihr Arduino mit Arduino IDE
#enthalten
Flüssigkristall-LCD(9, 8, 7, 6, 5, 4); const int IR_IN = 2; // IR-Sensor INPUT unsigned long prevmicros; // Um die Zeit ohne Vorzeichen zu speichern, lange Dauer; // Zeitunterschied speichern unsigned long lcdrefresh; // Speichert die Zeit für die LCD-Aktualisierung int rpm; // RPM-Wert boolean currentstate; // Aktueller Status des IR-Eingangsscans Boolean prevstate; // Zustand des IR-Sensors im vorherigen Scan Void setup () {pinMode (IR_IN, INPUT); lcd.begin(16, 2); Vorherige Mikros = 0; Vorzustand = NIEDRIG; } Void Schleife () {////////////////////////////////////////// //////////////////////////////////// Drehzahlmessung currentstate = digitalRead(IR_IN); // IR-Sensorstatus lesen if (prevstate ! = currentstate) // Wenn sich der Eingang ändert { if (currentstate == LOW) // Wenn sich der Eingang nur von HIGH auf LOW ändert { Dauer = (micros () - prevmicros); // Zeitdifferenz zwischen Umdrehungen in Mikrosekunden U/min = ((60000000/duration)/3); // U/min = (1/ Zeit Millis) * 1000 * 1000 * 60; prevmicros = micros(); // Zeit für die Berechnung der nächsten Umdrehung speichern}} prevstate = currentstate; // Diese Scan-Daten (vorheriger Scan) für den nächsten Scan speichern //////////////////////////////////// ////////////////////////////////////////////// LCD-Anzeige wenn ((Millis()-lcdrefresh) >= 100) {lcd.clear(); lcd.setCursor(0, 0); lcd.print("Geschwindigkeit des Motors"); lcd.setCursor(0, 1); lcd.print("RPM = "); lcd.print (rpm); lcdrefresh = millis(); } }
Schritt 4: Simulation mit Proteus
Dieses Projekt funktionierte perfekt, als ich versuchte, dies mit Hilfe von Proteus zu simulieren.
Anstelle des IR-Sensors habe ich einen DC-Impulsgenerator verwendet, der den IR-Impuls ähnlich dem simuliert, der erzeugt wird, wenn die IR-Strahlen auf die Propellerblätter treffen.
Sie müssen je nach verwendetem Sensor Änderungen an Ihrem Programm vornehmen
IR-Sensor mit LM358 muss diesen Befehl verwenden.
if(currentstate == HIGH) // Wenn der Eingang nur von LOW auf HIGH wechselt
IR-Sensor mit LM359 muss diesen Befehl verwenden.
if(currentstate == LOW) // Wenn der Eingang nur von HIGH nach LOW wechselt
Schritt 5: Hardware-Ausführung
Verwenden Sie für schematische Darstellungen die Simulationsbilder oder beziehen Sie sich auf den Programmcode und stellen Sie die Verbindungen entsprechend her. Laden Sie den Programmcode auf Arduino hoch und messen Sie die Drehzahl eines beliebigen Motors. Bleiben Sie dran für meinen nächsten Beitrag und sehen Sie sich meinen YouTube-Kanal an.
Empfohlen:
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
Bewegungsaktivierte Cosplay Wings mit Circuit Playground Express - Teil 1: 7 Schritte (mit Bildern)
Bewegungsaktivierte Cosplay-Flügel mit Circuit Playground Express - Teil 1: Dies ist Teil 1 eines zweiteiligen Projekts, in dem ich Ihnen meinen Prozess zur Herstellung eines Paars automatisierter Feenflügel zeige. Der erste Teil des Projekts ist der Mechanik der Flügel, und der zweite Teil macht es tragbar und fügt die Flügel hinzu
Raspberry Pi mit Node.js mit der Cloud verbinden – wikiHow
So verbinden Sie Raspberry Pi mit Node.js mit der Cloud: Dieses Tutorial ist nützlich für alle, die einen Raspberry Pi mit Node.js mit der Cloud, insbesondere mit der AskSensors IoT-Plattform, verbinden möchten. Sie haben keinen Raspberry Pi? Wenn Sie derzeit keinen Raspberry Pi besitzen, empfehle ich Ihnen, sich einen Raspberry Pi zuzulegen
Schnittstellentastatur mit Arduino. [Einzigartige Methode]: 7 Schritte (mit Bildern)
Schnittstellentastatur mit Arduino. [Einzigartige Methode]: Hallo, und willkommen zu meinem ersten instructable! :) In diesem instructables möchte ich eine fantastische Bibliothek für die Schnittstelle der Tastatur mit Arduino teilen - 'Password Library' einschließlich 'Keypad Library'. Diese Bibliothek enthält die besten Funktionen, die wir wi
Einfaches BLE mit sehr geringem Stromverbrauch in Arduino Teil 3 - Nano V2-Ersatz - Rev 3: 7 Schritte (mit Bildern)
Einfaches BLE mit sehr geringem Stromverbrauch in Arduino Teil 3 - Nano V2-Ersatz - Rev 3: Update: 7. April 2019 - Rev 3 von lp_BLE_TempHumidity, fügt Datums- / Zeitdiagramme mit pfodApp V3.0.362+ hinzu und automatische Drosselung beim Senden von DatenUpdate: 24. März 2019 – Rev 2 von lp_BLE_TempHumidity, fügt weitere Plotoptionen hinzu und i2c_ClearBus, fügt GT832E