Forum: Mikrocontroller und Digitale Elektronik PWM Signal Umrechnung


von Fabian K. (fabian_k)


Lesenswert?

Guten Tag,

ich habe mit einem Atmega32 ein PWM Signal generiert. Verwendet wird es 
für Servos, Motorregler, ... also der 50Hz Standard. Für z.B. 1ms habe 
ich 1975 als COMPARE-Wert (gemessen mit Oszi). Wie kann ich z.B. einen 
Wert von 3000 (ohne mit dem Oszi zu messen) in eine Zeit umrechnen?

Danke im vorraus

von Timmo H. (masterfx)


Lesenswert?

3000*50ms/1975

von Peter B. (pbuenger)


Lesenswert?

Dreisatz?

1ms / 1975 * 3000 = 1,5ms

Im absoluten Notfall kann man ja auch den Prozessortakt hernehmen, durch 
den programmierten Vorteiler dividieren und dann die Schrittweite des 
Timers berechnen. Aber wirklich nur im Notfall ...

Peter

von Timmo H. (masterfx)


Lesenswert?

^^ups, ich meinte 1ms nicht 50ms

von Mathias F. (minglifu)


Lesenswert?

Servus,

naja sowas macht man normalerweise über die bekannte Frequenz vom µC 
sowie der CaputerCompare Unit (also beim XC164 von Infineon). Hier gibts 
dann Relaodwerte und aktuelle Werte.
Über die Frequenz kannst du ja dann zählen, wie wieviele Zyklen ein 
Count benötigt. Und anahnd der Frequenz weist du wielange ein Zyklus 
dauert!

MfG
Mathias

von Fabian K. (fabian_k)


Lesenswert?

Danke für die Antworten. Ich kann den Wert ungefähr berechnen, indem ich 
mir einen am Oszi anschaue und dann die anderen daraus mit 
Volksschulmathematik berechne, soweit hab ich das herausgelesen. Aber 
wie berechne ich das aus dem CPU-Takt und dem Vorteiler?

von Timmo H. (masterfx)


Lesenswert?

1/((CPU_clk / Vorteiler)/ Compare-Wert)

von ich (Gast)


Lesenswert?

Oder wenn es mit dem Dreisatz und dem Rechnen gar nicht klappen will, 
läßt sich das im Simulator von AVRStudio mit der Stopuhranzeige auch 
ausprobieren. Breakpoints an die richtige Stelle und laufen lassen ...

von Fabian K. (fabian_k)


Lesenswert?

Danke, werde das gleich mal testen (:

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.