Forum: Mikrocontroller und Digitale Elektronik Encoder auslesen via Microcontroller Motorregelung


von F. S. (peterpan90)


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.

von Falk B. (falk)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.