Hi Alto,
also das ist relativ einfach. Du benötigts nur zwei Funktionen:
Geradengleichung und Signum-Funktion.
Ich habe zwar kein Mathcad, aber kann dir die Berechnung mit
Matlab/Octave prinzipiell zeigen.
Zielstellung: PWM-Signal mit 100 Werten, wobei der Tastgrad veränderbar
sein soll.
Folgende Herangehensweise:
1. Eine Gerade verläuft von einer positiven Anfangsamplitude bei t=0
fallend zu einem Endwert bei t=100. Der Tastgrad wird über den
Nulldurchgang festgelegt.
y0 kann der einfachheithalber = 1 sein.
Anschließend wird mit der Signumfunktion das Vorzeichen ausgewertet und
die Funktion neu skalliert um ein PWM Signal zwischen 0...1 zu erzeugen.
(sign(x) hat ja den Wertebereich -1...+1)
1 | t = 0:99; //erzeuge Vektor t={0,1,2,3,...,99}
|
2 | duty = 30; // duty cylce festlegen (hier 30%)
|
3 | m = -1/duty; // bestimme Geradenanstieg
|
4 | y = m.*t + 1; // Gerade berechnen (Nulldurchgang bei t = duty)
|
5 | // PWM über Signum-Funktion berechnen
|
6 | y2 = 0.5.+(sign(y)+1);
|