becki133
10.07.2008, 14:12
Hi @all
Ich drehe langsam durch
Mein AC macht was er will und wie er will
So hätte ich es gerne das der AC es macht.
Ich Bestrome meine Spule und schalte sie dann ab .
Dann soll der Ac einen Interrupt auslösen wenn die Spannung an
Ain0 gleich der Spannung an AIN1 ist . Der Timer wird Gestoppt und ich kann mir denn Wert anschauen . Das ist leider die Theorie .
Jetzt die Praxis .
Also ich schalte die Spule ein.
Ich schalte die Spule ab es kommt der Interrupt .
Die Werte des Timers ist immer um ca 300 kleiner wie der vorher.
ist er bei 1700 angekommen geht er wieder hoch auf 5400 und zählt wieder runter . Die Werte Passen in keiner form zu der entlade kurve die mir mein Oszi anzeigt .
Jetzt zum Aufbau .
An AIN0 Liegt die Motorspannung von 5V
An AIN1 Liegt die Referenz Spannug derzeit GND lieber wäre mir aber 1V.
Konfiguriert habe ich den AC so :
config ACI = on , compare = off , Trigger = falling
enable ACI
On ACI ACI_ISR
Enable INTERRUPTS
Stop AC
DO
ocr2 = 255
portd.2 = 1 Die SPule wird Bestromt
waitms 500
Start Timer1
Start AC
OCR = 0 Die Spule ist aus . GND bleibt offen . Auf dem Oszi habe ich
schöne kurve die sich je nach Rotorposition ändert.
wait 3
loop
end
ACI_ISR:
Stop timer1
stop AC
Print timer1
Return
Gruß Becki
Ich drehe langsam durch
Mein AC macht was er will und wie er will
So hätte ich es gerne das der AC es macht.
Ich Bestrome meine Spule und schalte sie dann ab .
Dann soll der Ac einen Interrupt auslösen wenn die Spannung an
Ain0 gleich der Spannung an AIN1 ist . Der Timer wird Gestoppt und ich kann mir denn Wert anschauen . Das ist leider die Theorie .
Jetzt die Praxis .
Also ich schalte die Spule ein.
Ich schalte die Spule ab es kommt der Interrupt .
Die Werte des Timers ist immer um ca 300 kleiner wie der vorher.
ist er bei 1700 angekommen geht er wieder hoch auf 5400 und zählt wieder runter . Die Werte Passen in keiner form zu der entlade kurve die mir mein Oszi anzeigt .
Jetzt zum Aufbau .
An AIN0 Liegt die Motorspannung von 5V
An AIN1 Liegt die Referenz Spannug derzeit GND lieber wäre mir aber 1V.
Konfiguriert habe ich den AC so :
config ACI = on , compare = off , Trigger = falling
enable ACI
On ACI ACI_ISR
Enable INTERRUPTS
Stop AC
DO
ocr2 = 255
portd.2 = 1 Die SPule wird Bestromt
waitms 500
Start Timer1
Start AC
OCR = 0 Die Spule ist aus . GND bleibt offen . Auf dem Oszi habe ich
schöne kurve die sich je nach Rotorposition ändert.
wait 3
loop
end
ACI_ISR:
Stop timer1
stop AC
Print timer1
Return
Gruß Becki