Forum: Mikrocontroller und Digitale Elektronik MEGA32 Prbleme mit PWM unt Int0


von Olof G. (ole)


Lesenswert?

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
Noch kein Account? Hier anmelden.