Encoder auslesen via Microcontroller Motorregelung

OP #5171997
Lesenswert?

Hallo,

mein Ziel ist es 4 5V Gleichstrommotoren (200 1/min) für ein kleines 
gesteuertes Fahrzeug zu Regeln. Hierzu habe ich 4 Inkrementalgeber mit 
100 inkrementen je Umdrehung.

Meine Frage ist ob es möglich ist die Inkremente mit einem atmega2560 
über 4 externe Interrupts auszuwerten?. Frequenz wäre ja 4*200/60*100 Hz 
also 1333Hz für die Interrupts, ist das von der Rechenleistung möglich?. 
Reicht die restliche Leistung Für eine einfache digitale Regelung bzw 
die Ansteuerung einiger LEDs teilweise auch mit PWM aus?
Sollwertvorgabe soll zu einem späteren Zeitpunkt über Usart geschehen.

Ich bin für jede Hilfe dankbar.
#5172001
Lesenswert?

@ F. S. (peterpan90)

>Meine Frage ist ob es möglich ist die Inkremente mit einem atmega2560

Ja.

>über 4 externe Interrupts auszuwerten?.

NEIN! Das macht man mit einem Timer-Interrupt! siehe Drehgeber.

> Frequenz wäre ja 4*200/60*100 Hz

Warum der Faktor 4? Man muss zwar alle 4 verarbeiten, kann das aber auf 
einen Rutsch in einem Interrupt machen.

>also 1333Hz für die Interrupts, ist das von der Rechenleistung möglich?.

Locker.

>Reicht die restliche Leistung Für eine einfache digitale Regelung bzw
>die Ansteuerung einiger LEDs teilweise auch mit PWM aus?

Problemlos, wenn man ansatzweise weiß was man tut und das Programm nicht 
mit unsinnigen Delay-Konstruktionen erdrosselt. Siehe Multitasking.

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