Hi,
Ich versuche einen CNY37(Gabellichtschranke) auszuwerten. Dieser soll zur Drehzahlerfassung bei einer Taktscheibe(20 Striche) dienen.
Wenn ich den Output des CNY37 über den AD Wandler meines ATMega32 abgreife und einen Schwellwert definiere kann ich ohne große Probleme die Striche zählen.
Nun möchte ich Ihn jedoch mit Hilfe eines Interrupts abfragen.
Dazu habe ich folgenden Programmcode entworfen:
Code:
$crystal = 16000000
$baud = 9600
Config Int0 = Falling
On Int0 Enc1
Enable Interrupts
Enable Int0
Dim Umdrehung As Single
Do
Loop
Enc1:
Umdrehung = Umdrehung + 1
Print Umdrehung
Return
Nun mein Problem:
Irgendwie zählt er manchmal garnicht hoch bzw wahnsinnig schnell.
Jedoch bei weitem nicht Richtig.
Ist der Code falsch, bzw habe ich da einen falschen Ansatz oder ist meine Schaltung zur Binearisierung falsch? ->
http://www.ftcommunity.de/bilder/sen...tplancny37.jpg
MfG
Rasmus
Lesezeichen