Luodaan siniaalto PWM menetelmällä

M

Maverickmax

Guest
Hei Toistaiseksi ymmärrän tuottaa siniaaltoa look-up table. Nyt minun täytyy tietää, miten luoda algoritmi käyttää taulukon PWM tuottamiseksi siniaaltoa. Kaikki hyvä opetusohjelma tai linkin minua kehittämään käsitykseni tällä alueella? Maverick Max
 
Maverick Max PWM määräaika on paljon lyhyempi kuin siniaaltoa aikana. Sanotaan esimerkiksi, PWM-aika on 256 laskee ja on 36 PWM ajanjaksoja siniaalto aikana (kunkin PWM-aika on 2 * pi/36 radiaaneina tai 10 astetta). Oletetaan, että arvo nolla, käytämme PWM aikana 50%. Negative yksi on 0% ja positiivinen on 100%. Kunkin PWM ajan käytät sini taulukko määrittää, mitä käyttömäärä olisi. Synnin (0), PWM = 50%, count = 128. Synnin (2 * pi/36), PWM = 59%, count = 151, ja sin (2 * pi * 2 / 36), PWM = 67%, count = 171, jne. Joten tuotos on korkea 128, alhainen 128, suuri 151, matala 256-151 = 105, suuri 171, pieni 85, jne. koko ajan siniaalto. Periaatteessa kaikki sinun tarvitsee vain verrata vastoin asianmukainen arvo pöytään. Vertailun tulos saadaan valtion oman tuotannon.
 
Hei, PFA apllication merkinnän AVR MCU tuottaa DTMF PWM. Tämän pitäisi kertoa sinulle, miten luoda siniaaltoa Usin PWM.
 
[Quote = jonw0224] Maverick Max PWM määräaika on paljon lyhyempi kuin siniaaltoa aikana. Sanotaan esimerkiksi, PWM-aika on 256 laskee ja on 36 PWM ajanjaksoja siniaalto aikana (kunkin PWM-aika on 2 * pi/36 radiaaneina tai 10 astetta). Oletetaan, että arvo nolla, käytämme PWM aikana 50%. Negative yksi on 0% ja positiivinen on 100%. Kunkin PWM ajan käytät sini taulukko määrittää, mitä käyttömäärä olisi. Synnin (0), PWM = 50%, count = 128. Synnin (2 * pi/36), PWM = 59%, count = 151, ja sin (2 * pi * 2 / 36), PWM = 67%, count = 171, jne. Joten tuotos on korkea 128, alhainen 128, suuri 151, matala 256-151 = 105, suuri 171, pieni 85, jne. koko ajan siniaalto. Periaatteessa kaikki sinun tarvitsee vain verrata vastoin asianmukainen arvo pöytään. Vertailun tulos saadaan valtion oman tuotannon. [/Quote] eläköön antaa minulle ajatus ... Entä käyttäen sekä PWM taajuus kuten 5kHz ja tuottaa 500 Hz kun fclk on 40MHz? Täytyykö forumla on detemine tämän pois? Maverick Max
 
ja 256 lasketaan kunkin PWM pulssin kuten jonw0224 sanoi, tarvitset; F (CLK) = F (PWM) * 256 oman esimerkin: F (CLK) = 5000 * 256 voit taajuuden jakajaa tuotto tämä F (CLK).
 
Hei Koska olen onnistunut ymmärtämään, kuinka tuottaa siniaaltoa. Nyt minun täytyy osata vaihdella taajuus (nopeus). Tietääkö kukaan, kuinka tehdä se? Maverick max
 
Voit muuttaa PWM ajan tai (mieluummin) voit muuttaa useita PWM jaksot / siniaalto aikana.
 
Onko sinulla esimerkiksi minua toteuttamaan taajuuden? Maverick Max
 
Voit käyttää RC kellon lähteestä, kuten LM555
 
Oikeastaan Im enemmän kiinnostunut ohjelmiston ... Maverickmax
 

Welcome to EDABoard.com

Sponsor

Back
Top