Hallo, das Arduino Mega Board hat bekanntlich 14 PWM Ausgänge. Ich möchte nun unabhängig voneinander 14 Motoren per PWM ansteuern. Alle sollen mit der gleichen PWM Frequenz angesteuert werden. Ich habe mir nun mal die Anleitung des ATMega1280 durchgelesen, aber komme nicht so wirklich auf einen grünen Zweig. Es gibt dort verschiedene Modi und jeweils verschiedene Formeln zur Berechnung der Freqeunz. Nehmen wir mal an, meine PWM soll 7 Bit haben, dann wäre der Wert TOP = 127, ist das richtig ? Wenn ich zum Beispiel "Phase Correct PWM Mode" oder "Phase and Frequency Correct PWM Mode" betrachte, dann habe ich fclk=16MHZ, TOP=127, N=1 also ca. 62 Khz. Kann ich diese PWM Freqeunz dann nun allen Ausgängen anlegen ? Oder müsste ich bei allen Ausgängen den Divisor N anpassen und erhöhen ? Wenn ich aber zum Beispiel "Fast PWM Mode" nutze, käme ich ca. auf die doppelte Freqeuenz. Also was geht maximal auf allen Ausgängen gleichzeitig ? Und wenn ich die Ausgänge mit diesem Maximum betreibe, ist der Chip dann völlig ausgelastet, oder kann ich nebenher noch was rechnen ? Vielen Dank
Das geht doch über spezielle PWM-Timer, oder? Da schreibt die CPU den Wert rein und gut ist, die Ausgabe erfolgt dann automatisch. Da wird dann gar nichts mehr belastet, außer wenn der Wert geändert werden muss.
Ja, das geht über Timer. Wenn die nebenläufig sind, dann ist das natürlich ideal. Aber stimmen meine Berechnungen zur Freqeuenz ?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.