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
 
J

jonw0224

Guest
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.
 
E

ezshereef

Guest
hi, pfa uwagę apllication dla MCU AVR wygenerować DTMF za pomocą PWM. powinno to powiedzieć, jak do generowania fali sinusoidalnej PWM usin.
 
M

Maverickmax

Guest
[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
 
D

Davood Amerion

Guest
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).
 
M

Maverickmax

Guest
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
 
J

jonw0224

Guest
Możesz zmienić okres PWM lub (bardziej preferowane) możesz zmienić liczbę okresów sinusoidy PWM za okres.
 
M

Maverickmax

Guest
Czy masz dla mnie przykład realizacji zmiennej częstotliwości? Maverick Max
 
D

Davood Amerion

Guest
można używać RC zegar źródła, takie jak LM555
 
M

Maverickmax

Guest
Właściwie Im bardziej zainteresowani oprogramowania ... Maverickmax
 

Welcome to EDABoard.com

Sponsor

Top