Problem vid generering av sinusvåg från PWM, PIC12F617

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
PICmaniac
Inlägg: 6
Blev medlem: 22 september 2010, 16:27:58

Problem vid generering av sinusvåg från PWM, PIC12F617

Inlägg av PICmaniac »

Hej!
Jag försöker bygga en sinusvåggenerator mha PIC12F617. Tanken är att skapa en PWM signal där duty motsvaras av aktuell amplitud i sinusvågen och sedan lågpassfiltera med ett RC-filter (R i serie, C parallellt med last). Min tanke var att skapa en sinusvåg med 1Hz och PWM frekvens på 64Hz. Jag har en look-up tabell med 64 värden (0-2pi) som jag således matar in en efter en och byter alltså duty efter varje period. Den biten fungerar ok vad jag kan se på oscilloskopet, dvs 0-100-0% duty osv. Problemet kommer när jag filtrerar signalen. Jag använder C=10uF, R=1k vilket enl. mina beräkningar (f=1/(2piRC)) borde ge en brytfrekvens på ~15Hz. Signalen som jag får ut (efter RC-filtret) ser ut som någon grotesk böjd sågtand som stegvis går up och ner med uppskattningsvis 1Hz. Min tanke är att filtret är fel utformat, kanske ligger för nära PWM frekvensen?

Ett litet bekymmer är att jag inte kan öka PWM frekvensen så mycket. Har skrivet en SW PWM rutin i Hi-tech C men den är rätt seg, kan nog bara komma upp i kanske 200Hz. HW PWM är ju ett alternativ men jag är lite osäker på hur jag skall få till sinusvågen till rätt frekvens då.

Några tips eller idéer eller tänker jag galet?
Användarvisningsbild
Icecap
Inlägg: 26629
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Problem vid generering av sinusvåg från PWM, PIC12F617

Inlägg av Icecap »

Du "måste" självklart göra PWM med den inbyggda hårdvaran till detta!

Sedan har du en timer-interrupt som lägger nytt värde in i PWM-registret.

Jag har gjort en sådan som kör 2-fas ut, dock inte med PWM, fungerar kalas.
PICmaniac
Inlägg: 6
Blev medlem: 22 september 2010, 16:27:58

Re: Problem vid generering av sinusvåg från PWM, PIC12F617

Inlägg av PICmaniac »

Timer interrupt som ändrar duty låter ju som en bra idé. Hade inte en tanke på att man kunde göra så. Torde ju bli lätt att ändra frekvens också. Ska testa nu direkt.

Tack för tipset!
Användarvisningsbild
DR-PIC
Inlägg: 4
Blev medlem: 17 oktober 2008, 19:53:35
Ort: Kista
Kontakt:

Re: Problem vid generering av sinusvåg från PWM, PIC12F617

Inlägg av DR-PIC »

Här är en lab där vi tillverkar en 50 Hz sinus med PIC16F628/690.
Finns kanske någon idé att hämta här?

http://www.ict.kth.se/courses/IL131V/sinus/sinus628.htm

DR-PIC
Skriv svar