Drehzahlmesser mit Arduino?

Guten Tag liebe Community,

ich habe vor mir mit Hilfe eines Arduino Leonardo einen Drehzahlmesser für mein Moped zu bauen. Unten hänge ich meinen Code an der zwar funktioniert, mir aber die 50 Hz bzw 3000 u/min der Netzspannung anzeigt wenn der Pin nicht belegt ist. Betreibe den Arduino per USB Netzanschluss und vermute deswegen, dass das Programm zu empfindlich ist und die internen Schwankungen registriert?!.

Wichtig:

Die Abnahme des Signals vom Moped soll nicht im Vordergrund stehen sondern ich wollte in erster Linie per Versuchsaufbau mit einer kleinen drehenden Scheibe und einem Kontakt- Impuls pro Umdrehung beispielhaft Messen ob denn meine Idee funktioniert! ....leider zeigt es mir da die ~3000 u/min an und nicht die 60-200 u/min die es laut mitzählen sein müssten...

Meine Frage:

Habt ihr eine Idee wie ich die Schaltung aufbauen könnte dass ich solche minimalen Schwankungen ausgeglichen bekommen? Beim Durchforsten des Internets bin ich auf Z- Dioden gestoßen die in manchen Fällen helfen sollen?!. Nur leider kein Plan wie.

(Ursprüngliche Idee war einfach die 5V Ausgangsspannung in Pin7 des Boards zu leiten halt nur Impulsweise um es zählen zu können.)

Mein Code:

#include <SPI.h>

#include <Wire.h>

#include <Adafruit_GFX.h>

#include <Adafruit_SSD1306.h>

#include <math.h>

#define OLED_RESET 4

Adafruit_SSD1306 display(OLED_RESET);

int pin = 7;

unsigned long T;     //Periodendauer in us

double f;         //Frequenz in MHz

void setup(){

 Serial.begin(5000);

 display.begin(SSD1306_SWITCHCAPVCC, 0x3C);

 display.setTextSize(3);

 display.setTextColor(WHITE);

 display.clearDisplay();

 display.setCursor(8,6);

 display.println("SIMSON");

 display.display();

 delay(5000);

  

 pinMode(pin, INPUT);

}

void loop(){ 

 display.begin(SSD1306_SWITCHCAPVCC, 0x3C);

 display.setTextSize(2);

 display.setTextColor(WHITE);

  

 T = pulseIn(pin, HIGH) + pulseIn(pin, LOW);

 T == 0 ? f = 0 : f=1/(double)T;

 display.setCursor(8,6);

 display.clearDisplay();

 display.print((unsigned long)(f1e660.241));

 display.display();

 delay(200);

}


Vielen Dank im Voraus!

Computer, Technik, Elektronik, mikrocontroller, arduino, Mikroelektronik, Schaltplan, Technologie, Drehzahlmesser

Meistgelesene Fragen zum Thema Drehzahlmesser