Chattychan
20.07.2007, 19:16
Hallo,
da ich die Hardware PWM Ausgänge bei der RN-Control später
für Motoren verwenden möchte, muss ich das PWM Signal per
Software erzeugen.
So wie ich verstanden habe brauch ich eine Zeitbasis.
Wie geh ich am besten an die Sache ran ?
Hier meine Überlegungen (Hab das Wiki gelesen):
Ich erzeuge eine Schleife die eine Variable A hochzählt und
den Wert von A mit einer Variablen B vergleicht. Der Wert von B gibt an
wie Breit die Pulsweite ist. Umso grösser B ist (höchsten gleich A) umso
Breiter die Pulsweite.
Ist A < B => PWM ist 1
Ist A >= B => PWM ist 0
Wenn A zb bei 100 überläuft und auf 0 gesetzt wird
dann fängt die Schleife wieder von vorne an zu zählen.
Wäre B = 50 dann wäre das die Mittelstellung vom Server oder
halt 50% Motorpower.
Jetzt die Frage hierzu:
Ist die Frequenz in der das PWM Signal erzeugt wird für das Servo egal ?
Weil bei 16Mhz Quarz läuft A ja viel schneller über als bei 1Mhz.
Viele Grüsse und vielen Dank im voraus
Thomas
da ich die Hardware PWM Ausgänge bei der RN-Control später
für Motoren verwenden möchte, muss ich das PWM Signal per
Software erzeugen.
So wie ich verstanden habe brauch ich eine Zeitbasis.
Wie geh ich am besten an die Sache ran ?
Hier meine Überlegungen (Hab das Wiki gelesen):
Ich erzeuge eine Schleife die eine Variable A hochzählt und
den Wert von A mit einer Variablen B vergleicht. Der Wert von B gibt an
wie Breit die Pulsweite ist. Umso grösser B ist (höchsten gleich A) umso
Breiter die Pulsweite.
Ist A < B => PWM ist 1
Ist A >= B => PWM ist 0
Wenn A zb bei 100 überläuft und auf 0 gesetzt wird
dann fängt die Schleife wieder von vorne an zu zählen.
Wäre B = 50 dann wäre das die Mittelstellung vom Server oder
halt 50% Motorpower.
Jetzt die Frage hierzu:
Ist die Frequenz in der das PWM Signal erzeugt wird für das Servo egal ?
Weil bei 16Mhz Quarz läuft A ja viel schneller über als bei 1Mhz.
Viele Grüsse und vielen Dank im voraus
Thomas