Forum: Mikrocontroller und Digitale Elektronik AVR timer und Schrittmotoren


von andi k. (Firma: mw) (k2daa)


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.

von Sascha W. (sascha-w)


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

von Johannes Müller (Gast)


Angehängte Dateien:

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.

von andi k. (Firma: mw) (k2daa)


Lesenswert?

Vielen Dank ich probier das mal auch so aus. Werd berichten ob ich es 
hinbekommen hab.

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.