Forum: Mikrocontroller und Digitale Elektronik Timerprobleme


von Thomas M. (memko)


Lesenswert?

Hallo zusammen,

bin ziemlich unerfahren in der Arduino-Prgrammierung, jedoch möchte ich 
eine Lüfterregelung bauen. Dazu muss ich unter anderem ein 
Drehzahlsignal einlesen und ein Spanungssignal (mit PWM) ausgeben. Dazu 
benutze ich zwei digitale I/O-Ports. Wenn ich einen Teil alleine 
(Eingang oder Ausgang)  auf meinen Arduino Nano lade, funktioniert es, 
jedoch nicht wenn beide Teile zusammen im Programm stehen 
(Drehzahlerfassung und PWM-Ausgabe):

void setup() {

Serial.begin(9600);

pinMode(10, OUTPUT);
pinMode(3, INPUT);
}


int Htime;               //integer for storing high time
int Ltime;               //integer for storing low time
float restime;           // Gesamtzeit (Htime+Ltime)
float frequency;         // Frequenz des Motors

void loop() {


     Htime=pulseIn(3,HIGH);      //read high time
     Ltime=pulseIn(3,LOW);       //read low time

     restime = Htime + Ltime;
     frequency = 1000000/restime;  //Drehzahlerfassung


     analogWrite(10, 150); // PWM-Ausgabe


     Serial.println(frequency);
}


Könnte es sich dabei um ein Problem mit dem Timer handeln?

Kann mir da jemand weiterhelfen?
Danke!

von Hubert G. (hubertg)


Lesenswert?

Das ist ein Problem der Arduino IDE das man sich immer heraussuchen muss 
welcher Timer in welchem Sketch verwendet wird. Wenn der gleiche Timer 
verwendet wird, kommt es klarerweise zu Konflikte.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.