Frage: INT0/1 für Motor-Drehzahl verwenden
hi,
ist es eigentlich möglich, beim ASURO die Motorgeschwindigkeit links/rechts über die Interrupt-Eingänge 0/1 (8-Bit-Timer) zu steuern?
An INT0 (PD2/PIN4) hängt ja nur die rote Status-Led, auf die ich verzichten kann, an INT1 (PD3/PIN5) die Switches, die ich z.Zt. auch nicht nutze.
Anstelle der Reflexsensor/Led Mimik/(T11/T12,D13/14) würde ich Gabellichtschranken verwenden, die (relativ) sauberes Low/High-Signal liefern (Ich brauch dann nicht die AD-Wandlung für die Encoder und kann dann wohl auch hohe Drehzahlen direkt (an der Motorwelle) messen).
Hat da bereits jemand Erfahrung oder geht es prinzipiell nicht, die Motordrehzahl über die 8-Bit-Interrupts zu ermitteln ?
Gruß
mausi-mick
Re: Frage: INT0/1 für Motor-Drehzahl verwenden
Hallo mausi_mick,
Zitat:
Zitat von mausi_mick
... ist es eigentlich möglich, beim ASURO die Motorgeschwindigkeit links/rechts über die Interrupt-Eingänge 0/1 (8-Bit-Timer) zu steuern? ...
Das überlege ich auch seit einiger Zeit.
Zitat:
Zitat von mausi_mick
... Hat da bereits jemand Erfahrung oder geht es prinzipiell nicht, die Motordrehzahl über die 8-Bit-Interrupts zu ermitteln ? ...
Ich habe das an meinem Dottie gemacht mit gehackten Servos, bei denen die Elektronik total entfernt und durch Gabellichtschranken ersetzt worden war. Es geht also, und noch dazu sehr gut.
Beim Dottie funktioniert das so gut, dass ich ein entsprechendes Vorhaben auf meine asuro-Arbeitsplan-Warteliste geschrieben habe. Deshalb hatte ich Dich vor Kurzem nach der Montage von Deinem Encoder am Motorritzel gefragt.
Ich habe mit dem Timer 2, das ist beim m168 ein 8-bittiger Timer, einen 50µs-Interrupt im CTC-Modus programmiert; 20 MHz, kein prescaler, OCR2A = 124. In der zugehörigen ISR wird ein Zeitzähler bis 20000 hochgezählt (=1 sec) und dann wieder auf Null gesetzt. Diese Zeitmarke wird bei jedem extINT0/~1 abgefragt bzw. ausgewertet, um die Zeit für den letzten Encoderabschnitt zu bestimmen. Der Zeitbedarf wird in der Regelung (Integer, 100 Hz, etwas tricky bei den Parametern, siehe Dottie-Link oben) ausgewertet. Der Geradeauslauf ist bei Dottie besser als +/- 1 mm auf 1m Laufstrecke. Blos Kurvenfahren habe ich mit Dottie noch nicht geübt *schnief*.