AVR timer und Schrittmotoren

OP (Firma: mw) #2296701
Lesenswert?

Hallo Leute,

ich hätte da mal eine Frage, ich würde gerne mit einem timer zwei 
Schrittmotoren zwei verschiedene Geschwindigkeiten mitgeben. Geht sowas 
überhaupt? Und wenn ja, welcher Modus eigent sich dazu, 
CTC;Overflow;PWM;oder der normale? In meinem Fall wollte ich das mit 
einem 16bit timer realisieren, der alle Modi unterstützt und drei OCR1 
Register hat.

Vielen Dank für eure Hilfe.
#2297184
Lesenswert?

Hallo,

also mit den Hardware OCR-Ausgängen wird das nichts, denn die laufen ja 
alle mit dem Takt des Timers. Dort kannst du nur die Impusbreite pro 
Kanal einstellen, die Frequenz aber nur gemeinsam für alle.
Du kannst den Timer nutzen um einen Grundtakt zu erzeugen. Per Software 
(z.B. im OCR-Int aufgerufen) zählst du für jeden Motor eine Variable 
mit, die beim erreichen des Grenzwerts (2. Variable = Frequenz) den 
entsprechenden Ausgang umschaltet und so den Motor einen Schritt 
weiterdrehen lässt.

Sascha
Gast #2297575
Lesenswert?

Hi,

ich arbeite auch grad an einer Schrittmotorsteuerung.

Evtl. hilft dir der Code ja.

Es wird ein 16bit Timer für die Grundschrittfrequenz benötigt.

der 8bit Timer "PWMT" die Ausgänge bei Stillstand um den Strom zu 
begrenzen.
(Die Unipolaren Motoren hängen per Transistor an den Ports)

In den Registern r17,r18 und r19 sind die Schritte gespeichert. Wird das 
Register erhöht kommt der nächste Schritt.
Angehängte Dateien:

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