Choď na obsah Choď na menu
 

PWM 16F628

http://pandatron.cz/?forum=read&id=6401

 

NetRation   29. 10. 2010 12:37  
Ano je to má neschopnost :-D správně porozumět dokumentaci k PIC a proto se obracím pro radu (případná odpověď se možná bude hodit i dalším lidem).

Mám PIC 16F628A který má vestavěný PWM modul. Co jsem se z dokumentace dočetl, výstup by měl být PIN 9. Budu pravděpodobně pracovat s registry TMR2, CCPR1L, CCPR1H, CCPCON (kde bych měl na bytech 3-4 dát hodnotu '11xx') a možná některé další. Bohužel nedokážu přijít na to co přesně kde nastavit (takže PWM vůbec nefunguje), a jak nastavovat délku pulzů (to bude něco společného s TMR2 (duty cycle).

Mohl by někdo dát příklad programu, abych tomu dokázal porozumět nebo tu popsat co a jak správně nastavit?
host
1. ID: 6403, zaslal host 29. 10. 2010 19:54
Re: PWM modul (PIC 16F628A)
Při práce s PWM je nutné provést následující kroky:

1. Nastavit periodu opakovací frekvence PWM v registru PR2
2. Nastavit střídu PWM zápisem do registru CCPR1L a dvou bitů registru CCP1CON
3. Konfigurovat vývod CCP1 jako výstup pomocí registru TRISC
4. Nastavit předděličku pro Timer2 a povolit Timer2 zápisem do registru T2CON
5. Konfigurovat modul CCP v režimu PWM

PR2= b'11111111'
CCPR1L=0-256 ; regulace 0-100%
 
2. ID: 6405, zaslal NetRation 30. 10. 2010 01:28
Re: PWM modul (PIC 16F628A)
Díky za odpověď,

určitě mi to moc pomohlo, Sice pořád někde dělám chybu, ale alespoň PWM již funguje. Tedy pouze asi jen z 50%, ale i to je pokrok :-D. (pokusný větrák se roztočil)
host
3. ID: 6406, zaslal host 01. 11. 2010 07:08
Re: PWM modul (PIC 16F628A)
chtelo by to kod , z toho se da vycist kde je chyba