Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Hochgeschwindigkeits-Arduino-Drehzahlmesser (RPM) mit neuartigem Algorithmus

Komponenten und Zubehör

Bauteil Menge
Arduino UNO 1
IR-Näherungssensor (wie im Projekt empfohlen) 1
Jumper-Kabel 3
Laserdiode 655 nm (Rot) / Laserpointer 1
DC-Motor (zum Testen) 1
USB-Kabel (Mini-USB) 1
9V-Blockbatterie 1

Benötigte Werkzeuge

Apps und Online-Dienste

Über dieses Projekt

Hochgeschwindigkeits-Arduino-Drehzahlmesser (RPM) mit neuartigem Algorithmus

Dieses Projekt wurde von Grund auf neu entwickelt, um die exakte Drehzahl (RPM) verschiedener Motoren mit einem einzelnen IR-Sensor, einem Arduino und einem essenziellen Schlüsselbestandteil – einem roten Laserpointer zu messen.

Der IR-Sensor detektiert die geringen Infrarot-Anteile des roten Laserlichts. Bei blau/grünen Lasern fällt das Signal fast auf 0. Wenn ein Lüfterblatt den Laserstrahl unterbricht, bricht das Signal zusammen. Durch die Drehung entsteht ein periodisches Signal.

NEU: Single-Shot-Algorithmus für schnellere, adaptive Messungen

Der eigens entwickelte Algorithmus misst in unter 40 ms und liefert präzise Ergebnisse. Das Kernmerkmal: Single Shot Detection – die RPM wird bei jeder Unterbrechung des Laserstrahls berechnet. Da eine Unterbrechung 1/n einer Umdrehung entspricht (n = Blattanzahl), ist das Programm extrem empfindlich für kleinste RPM-Änderungen (bis 2 Nachkommastellen) bei jeder 1/n-ten Umdrehung. Dies liefert höchste Genauigkeit und Ansprechverhalten.

Hochgeschwindigkeits-Arduino-Drehzahlmesser (RPM) mit neuartigem Algorithmus

Die Ausgabe erfolgt ca. 2-mal pro Sekunde, RPM-Werte mit zwei Dezimalstellen.

Bitte testen Sie dieses Projekt und teilen Sie Ihre Ergebnisse! Vorschläge für neue Projekte willkommen. Bei Gefallen: Respekt zeigen. Folgen Sie mir: @YASH36

Code

RPM_counter_101 (Arduino)

// Code by YaSh
int sen = A0;
const float wid = 0.012;   // Blattbreite in Metern (anpassen!)
const float rad = 0.045;   // Erfassungsradius in Metern (anpassen!)
const float konst = 6.2832; // 2 * PI

float time_1, time_2, vel, diff, tnet, rpm;

void setup() {
  Serial.begin(9600);
  pinMode(sen, INPUT);
  Serial.println("\n Motor mind. 3 Sek. vor Messstart starten.\n");
  delay(3000);
}

void loop() {
  // Warten auf Unterbrechung (Signal fällt unter Schwelle)
  if (analogRead(sen) < 950) {
    time_1 = millis();
    delay(30); // Entprellen / Stabilisierung
  }
  
  // Signal wieder da (Blatt vorbeigegangen)
  if (analogRead(sen) > 950) {
    time_2 = millis();
    diff = (time_2 - time_1);           // Zeit der Unterbrechung [ms]
    vel = wid / diff;                   // Umfangsgeschwindigkeit [m/ms]
    tnet = (konst * rad) / vel;         // Umlaufzeit [ms]
    rpm = 60000 / tnet;                 // Umrechnung ms -> min -> RPM
  }
  
  Serial.print("\n RPM: ");
  Serial.println(rpm);
}

Schaltpläne

Hochgeschwindigkeits-Arduino-Drehzahlmesser (RPM) mit neuartigem Algorithmus
Hochgeschwindigkeits-Arduino-Drehzahlmesser (RPM) mit neuartigem Algorithmus

Herstellungsprozess

  1. Automatisiertes Aeroponik-System mit Raspberry Pi und Feuchtigkeitssensor bauen
  2. Thermofühler (Thermocouple) mit Arduino Portenta H7 über MAX6675 IC integrieren
  3. Echtzeit-Gyroskop-Spiel mit Arduino Nano & MPU-6050
  4. DHT11 Temperatur- & Feuchtesensor mit LED-Anzeige & Piezo-Summer
  5. K30 CO₂-Sensor: Echtzeit-Luftqualitätsmessung mit Arduino
  6. Unopad: Nahtloser Arduino MIDI-Controller für Ableton Live
  7. Arduino Temperatur- & Feuchtelogger mit DHT11 & Ethernet Shield
  8. Smart IoT-Glas bauen: Füllstand überwachen mit ESP8266, Arduino & Ultraschall
  9. Einfachen Hindernissensor mit Arduino bauen – IR-LED & Photodiode Tutorial
  10. Echtzeit-Zelluläre Automaten auf Arduino mit 128x64 OLED-Display