Encoderauswertung und Steuerung auf einem Mikrocontroller

OP #3024082
Lesenswert?

Hallo zusammen

Ich arbeite zurzeit an einem kleinen Roboter welcher mit fünf 
Ultraschallsensoren, zwei Motoren und einigen weiteren Tasten 
ausgestatet ist.
über eine UART Schnittstelle soll eine Kommunikation zu einem weiteren 
Gerät hergestellt werden.

Meine Frage ist nun, ob es möglich ist, auf einem Mikrocontroller (in 
meinem Fall ein atmel atmega2560 (arduino mega)) die Auswertung von zwei 
Encodern und den Ultraschallsensoren sowie die gesamte Steuerung des 
Roboters umzusetzen.
Am meisten Sorgen machen mir die Encoder. Die Richtung wird nicht 
dedektiert. Das heisst pro Motor gibt es nur einen Wert welcher 
Inkrementiert wird. Bei etwa 50 Ticks pro Umdrehung und knapp 2 
Umdrehungen pro Sekunde hoffe ich, dass der Kontroller nicht ständig in 
einem Interrupt festsitzt und die Auswertung und Steuerung zuverlässig 
machen kann.

Könnte dies klappen oder wäre der einsatz eines zweiten Kontrollers 
sinnvoll??

Vielen Dank für eure Tipps!
#3024091
Lesenswert?

Silvan Murer schrieb:

> Inkrementiert wird. Bei etwa 50 Ticks pro Umdrehung und knapp 2
> Umdrehungen pro Sekunde hoffe ich, dass der Kontroller nicht ständig in
> einem Interrupt festsitzt und die Auswertung und Steuerung zuverlässig
> machen kann.

Ähm.
100 Interrupts / Sekunde?

Was hast du in der ISR vor?

Da löst dein µC ja zwischendruch noch 3000 Sudoku von der schwierigen 
Sorte.
OP #3025569
Lesenswert?

MaWin schrieb:
> Man wertet Encoder nicht mit Flanken aus, sondern mit festem Zeittakt.
>
>
>
> http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.29

Okay, das heisst ich werde eine Timer ISR erstellen welche in 
regelmässigen Abständen den Wert des Encoders ausliest und mit dem 
ursprünglichen Wert vergleicht. Und je nachdem eine Variable 
Inkrementiert.
Das ganze werde ich auf einem Controller realisieren..

Besten Dank für eure Unterstützung!!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren