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.
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
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.
Vielen Dank ich probier das mal auch so aus. Werd berichten ob ich es hinbekommen hab.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.