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:
Nun mein Problem: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
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







Zitieren

Lesezeichen