Moin! Wollt hier mal eben eine Drehzahlregelung programmieren, aber leider hab ich dabei mehr probleme als gedacht. Ausgelöst werden soll der Int0 bei steigender Flanke, das funktioniert im "handbetrieb" wunderbar. Ich bekomme bei normal laufendem motor auch realistische drehzahlwerte. Nur sobald die PWM aktiv wird (habe das programm schritt für schritt aufgebaut und gestet) hab ich ständig Int´s auf Int0. Auf dem Oszi kann ich leider keine Störungen am Int0 sehen, aber das teil ist auch schon "etwas" älter und dient eher der groben betrachtung der dinge. Das geschehen verfolge ich per uart und eine normale ausgabe sieht so aus: INT_int0 fnct T: 39.130435942 Drehzahl: 2347 (jaja single-variablen sind nicht gut, aber so auf die schnelle..) Sobald ich dann PWM aktiviere siht das so aus: INT_int0 INT_int0 INT_int0 .. Es kommen dann ganz vereinzelt nochmal andere Zeichen mit rüber, aber im grunde hängt er komplett in der Int fest. Kurz noch ein codeschnipsel: Config Timer1 = Pwm , Pwm = 10 , Prescale = 64 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down Ddrd.2 = 0 Portd.2 = 0 Ddrd.4 = 1 Ddrd.5 = 1 Mcucr.isc00 = 1 'INT0 bei RISING Mcucr.isc01 = 1 Int_int0: Stop Timer0 Print "INT_int0" X Timer0 Timer0 = 0 Ueberlauf = 0 Neu = 1 Start Timer0 Return Soweit die wohl wichtigen Punkte. Falls jemand eine Ahnung hat, dann wäre ich über eine Antwort dankbar! MfG Ole
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.