sinusoidy Generowanie metodą PWM

M

Maverickmax

Guest
Witam Jak na razie rozumiem, do generowania sinusoidy Look-Up Table. Teraz muszę się dowiedzieć, jak stworzyć algorytm zastosowanie tabeli z PWM w celu wytworzenia sinusoidę. Każdy dobry tutorial lub link do mi na realizację porozumienia w tej dziedzinie? Maverick Max
 
Maverick Max okres PWM musi być znacznie krótszy niż okres fali sinusoidalnej. Załóżmy na przykład, okres PWM jest 256 i nie liczy się 36 PWM okresów, w czasie okresu fali sinusoidalnej (każdy okres PWM jest 2 * pi/36 radianów lub 10 stopni). Powiedzmy, że na wartość zero, używamy PWM okresie 50%. Negatywny wynosi 0% i pozytywny jest w 100%. Dla każdego okresu PWM, należy użyć sine tabeli, aby określić, co się cyklu powinno być. Albowiem grzech (0), PWM = 50%, liczba = 128. Dla sin (2 * pi/36), PWM = 59%, count = 151, za grzech (2 * pi * 2 / 36), PWM = 67%, count = 171, itd. Więc twoje produkcji jest wysoki na 128, niski 128, wysoka 151, niskie 256-151 = 105, wysoki 171, niski 85, itp. przez cały okres sinusoida. Zasadniczo, wszystko co robisz jest porównać licznik do odpowiedniej wartości w tabeli. Wyniku porównania wydajności stanu wydruku.
 
hi, pfa uwagę apllication dla MCU AVR wygenerować DTMF za pomocą PWM. powinno to powiedzieć, jak do generowania fali sinusoidalnej PWM usin.
 
[Quote = jonw0224] Maverick Max okres PWM musi być znacznie krótszy niż okres fali sinusoidalnej. Załóżmy na przykład, okres PWM jest 256 i nie liczy się 36 PWM okresów, w czasie okresu fali sinusoidalnej (każdy okres PWM jest 2 * pi/36 radianów lub 10 stopni). Powiedzmy, że na wartość zero, używamy PWM okresie 50%. Negatywny wynosi 0% i pozytywny jest w 100%. Dla każdego okresu PWM, należy użyć sine tabeli, aby określić, co się cyklu powinno być. Albowiem grzech (0), PWM = 50%, liczba = 128. Dla sin (2 * pi/36), PWM = 59%, count = 151, za grzech (2 * pi * 2 / 36), PWM = 67%, count = 171, itd. Więc twoje produkcji jest wysoki na 128, niski 128, wysoka 151, niskie 256-151 = 105, wysoki 171, niski 85, itp. przez cały okres sinusoida. Zasadniczo, wszystko co robisz jest porównać licznik do odpowiedniej wartości w tabeli. Wyniku porównania wydajności stanu wydruku. [/Quote] Cheer za danie mi jakiś pomysł ... co przy częstotliwości PWM, takich jak 5kHz i 500Hz generuje podczas fclk jest 40MHz? Czy muszę forumla do detemine na to uwagę? Maverick Max
 
do 256 liczyć na każdego impulsu PWM jak jonw0224 powiedział, musisz; F (CLK) F = (PWM) * 256 w przykład: F (clk) = 5000 * 256 można użyć dzielnika częstotliwości, uzyskując tym F (CLK).
 
Witam Ponieważ udało mi się zrozumieć, jak generować sinusoidę. Teraz muszę się dowiedzieć jak zmieniać częstotliwości (prędkości). Czy ktoś wie jak to zrobić? max Maverick
 
Możesz zmienić okres PWM lub (bardziej preferowane) możesz zmienić liczbę okresów sinusoidy PWM za okres.
 
Czy masz dla mnie przykład realizacji zmiennej częstotliwości? Maverick Max
 
można używać RC zegar źródła, takie jak LM555
 
Właściwie Im bardziej zainteresowani oprogramowania ... Maverickmax
 

Welcome to EDABoard.com

Sponsor

Back
Top