PWM mit Mikrocontroller

Hallo Zusammen,
ich habe ein kleines Problem mit den Programmiersprachen.
Ich soll ein Programm in C++ schreiben und erläutern in der ein Motor mit einem PWM-modulierten Signal über einen Port angesteuert wird. Die PWM Frequenz sei 1ms und die Pulsdauer soll 0,5ms nicht überschreiten.
Wie geht man den so ein Programm an, habe keine Erfahrung.

Mit bestem Dank
Frank65
 
AW: PWM mit Mikrocontroller

Ich nehme mal an es geht um einen Gleichstrommotor?

Du hast zwar nicht geschrieben welchen µC du verwendest, aber der hat bestimmt eine Capture/Compare-Einheit, mit der man das PWM-Signal erzeugen kann.
 
AW: PWM mit Mikrocontroller

Ja es geht um einen Gleichstrommotor.
Für den µC ist kein Typ angegeben, es geht in der Aufgabe auch nur um den Allgemeinen Aufbau des Programms.
 
AW: PWM mit Mikrocontroller

Ich bin erstmal zu folgender Überlegung gelangt:

f_CPU = 8 MHz

PWM-Frequenz = 1 ms -> 1000Hz

Da die Pulsdauer 1/2 Taktfrequenz nicht überschreiten sollte, habe ich ein Pulsverhältnis von 0,5.

PWM_steps = 512 (512 Schritte bei Eingabe von 0 bis 255, halbes Verhältniss)

t_pwm = f_CPU / (f_PWM * PWM_steps) = 15 Takte pro Step

Wenn ich jetzt einen Timer setze mit vollem Systemtakt:

- start timer
- setze Ausgang=1
-wenn timer = eingabe * t_pwm dann Ausgang = 0
- wenn timer = 512 * t_pwm dann timer = 0


So in etwas hatte ich mir das gedacht, setzt aber auch einen 16-bit Timer voraus.
 
Top