Sida 1 av 2
PWM på 16F628A
Postat: 3 september 2006, 15:41:09
av Kezo
Hej!
Jag skulle vilja veta om någon har tips på någon välskriven tutorial för PWM på en 16F628A. Självklart har jag läst datablad och så, men jag skulle ha något lite mer lättförstått för en nybörjare...
Postat: 3 september 2006, 16:14:31
av bearing
Det här är inte specifikt för 628 men ganska bra information om hur CCP-enheten och PWM fungerar. Programexempel i C.
http://www.isk.kth.se/kursinfo/6b4059/pwm/index.htm
Postat: 3 september 2006, 16:35:18
av sodjan
> ...ganska bra information om hur CCP-enheten och PWM fungerar.
Helt OK, förrutom att 628A saknar CCP-enhet, men annars så...
På en 628A så är all PWM programvaru-styrd.
Postat: 3 september 2006, 16:59:41
av Kezo
För programvarustyrd pwm använder man timers va? Det vore bra med någon tutorial om det med...
För det andra, jag kör assembler.
En annan fråga, finns det någon bra ersättare till 628A'n som har CCP-enhet?
Postat: 3 september 2006, 17:11:05
av bearing
sodjan skrev:Helt OK, förrutom att 628A saknar CCP-enhet, men annars så...
Hmm, här har du nog faktiskt fel.
I mina datablad till 628 och 628A finns det i alla fall ett kapitel om CCP-enheten. Kapitel 9 resp. 11.
Postat: 3 september 2006, 17:17:12
av Kezo
Samma här.
Postat: 3 september 2006, 17:58:25
av JimmyAndersson
I bearing's länk står det "Signalens DutyCycle = t1 / ( t1 + t0 ) är direkt proportionell mot det analoga medelvärdet."
Hur räknar man sedan ut ett lämpligt lågpassfilter?
Postat: 3 september 2006, 18:11:09
av bearing
Filtret beror nog mest på frekvensen på signalen man ska mata ut, alternativt önskad stigtid om signalen är mer digital.
Sen får man anpassa PWM-frekvensen så att det inte blir så stort rippel.
Postat: 3 september 2006, 20:30:03
av sodjan
> Hmm, här har du nog faktiskt fel.
Jajamensan !! Det har jag!
Så in i bängen fel...
Ja men då så, hur man "sätter upp" CCP modulen för PWM beskrivs
naturligtsvis i databladet. Vad, lite mer specifikt, är problemet ?
Postat: 3 september 2006, 20:34:39
av Kezo
Problemet är att jag är ganska så total nybörjare och skulle behöva lite hjälp på traven
T.ex. skulle ett antal kodexempel (i asm) med pwm och kanske lite timers sitta finfint!
Postat: 3 september 2006, 20:55:29
av sodjan
OK.
Kapitel 9.3 (2 sidor) bekriver PWM modulen.
Kapitel 9.3.3 har en steg-för-steg beskrvning i 4 steg över vad som
behöver göras för att initiera och starta PWM modulen. Om du talar
om vad i de stegen som är oklart så kan vi utgå därifrån.
Skillnaden mellan de 4 stegen och samma sak i assembler är inte
speciellt stor. Varje "steg" i databladet motsvarar i princip en (eller två)
assembler instruktioner...
Du är lite för oklar över vad du igentligen behöver hjälp med.
Ja utgår från att du har gjort ett par vanliga nybörjarprogram
för att blinka med lysdioder o.s.v, så själva hanteringen av MPLAB
och grunderna i PIC programmering är hyggligt OK. Annars så
kanske du ska börja i den änden.
Postat: 3 september 2006, 21:05:41
av Kezo
Självklart har jag koll på grunderna.
Jag har kommit fram till att jag är för trött för att fatta det som står i databladet helt enkelt, ska lusläsa det immorn när jag är mer vaken, men jag blir ändå glad för kodexempel då jag tycker det är lättare att lära sig på det sättet.
Nu ska jag sova...
Postat: 4 september 2006, 00:18:36
av korp
Visst är det fantastiskt hur man hela tiden sätter sig och hackar pic:ar efter midnatt. Med goda intentioner visserligen, men det går sällan speciellt bra...
Postat: 4 september 2006, 00:39:47
av sodjan
Hörde en intervju med Jan Guillou (hur han nu stavar till det...) för ett par dagar sedan.
Han påstog sig vara mest kreativ efter ett par Whiskey, det kan kanske vara något att prova...

Postat: 4 september 2006, 00:46:46
av korp
Precis hemkommen från svåger och svägerska. Får nog helt enkelt hålla med Jan Guillou på den punkten. Fanstastiskt vad ideér man får kl 1 på natten, med en rejäl dos med 10-årig Talisker i blodet.
Men jag vet att jag kommer att ågra mig imorgon om jag ger mig på och omstrukturerar någonting här på labplattorna så jag går nog och lägger mig istället. Börjar nog bli gammal
