 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
SimonS Član



Pridružen-a: Čet 01 Jul 2004 11:18 Prispevkov: 4769 Aktiv.: 20.13 Kraj: Kobarid
|
Objavljeno: Pet Mar 06, 2009 7:57 pm Naslov sporočila: PWM |
|
|
Pozdrav
Nikjer nisem zasledil, da bi bilo mozno tako nastaviti PWM, da bi se duty cycle izvajal na sredini periode PWM-ja. Za PIC vem, da je to mozno.... _________________ Lep dan
Simon |
|
Nazaj na vrh |
|
 |
strobos Član

Pridružen-a: Sre 24 Sep 2003 12:19 Prispevkov: 726 Aktiv.: 3.06 Kraj: Brežice
|
Objavljeno: Pet Mar 06, 2009 10:02 pm Naslov sporočila: |
|
|
Kolikor se spomnim ima LPC 6 pwm kanalov, ki jih lahko uporabiš kot 3 kanale in tako lahko za vsak kanal določiš, kdaj v periodi boš dal singnal na 1 in kdaj na 0. Tako si lahko narediš sredinsko centriran pwm, ki ga rabiš za vektorsko regulacijo.
Lp |
|
Nazaj na vrh |
|
 |
SimonS Član



Pridružen-a: Čet 01 Jul 2004 11:18 Prispevkov: 4769 Aktiv.: 20.13 Kraj: Kobarid
|
Objavljeno: Pet Mar 06, 2009 10:13 pm Naslov sporočila: |
|
|
Super hvala !
Samo na žalost rabim 3x low in 3x high stikalo. Tako da bo treba vzeti cip z 12. PWMji.... _________________ Lep dan
Simon |
|
Nazaj na vrh |
|
 |
vmalhar Član

Pridružen-a: Pet 06 Jul 2007 11:23 Prispevkov: 170 Aktiv.: 0.78 Kraj: Logatec
|
Objavljeno: Tor Apr 14, 2009 8:20 pm Naslov sporočila: |
|
|
Bom kar tukaj vprašal.
Delam na takoimenovanem š-armu in za začetek bi rad na izhodu pwm0 (pin P0.00) samo dobil signal, da se lahko začnem igrat z nadaljnimi koraki. Preštudiral sem manual, naslovil vse registre, da je pregledno in napisal kratko rutinco, pa na izhodu ne dobim ničesar
Takole:
PWMMCR = 0x00000003; // resets PWM timer on match0 and flags an interrupt
PWMPR = 0; // prescale = 0
PWMMR0 = 120000000; // Match0 (periode of PWM)
PWMMR1 = 30000000; // Match1 (duty cycle)
PWMPCR = 0x00000200; // PWM1 enabled
PWMTCR = 0x00000008; //pwm enable
PWMTCR = 0x00000001; //pwm counter enable
Zanimivo mi je, da match0 lepo sproži prekinitev, ki mi prižiga in ugaša ledico, na izhodu ni pa nič.
Kar čutim da bo ena bedna
Miha |
|
Nazaj na vrh |
|
 |
dragoon Član


Pridružen-a: Čet 03 Maj 2007 21:51 Prispevkov: 452 Aktiv.: 2.05 Kraj: Trojane
|
Objavljeno: Tor Apr 14, 2009 8:34 pm Naslov sporočila: |
|
|
@miha: v zadnji register vpisuješ dvakrat, drugič povoziš prejšno vrednost... malo poglej poglavje okoli maskiranja, uporabi funkcije in, ali, negiranje.
nastavi pin kot izhodni.
@simons: da bo duty cycle na sredini izgleda takole, primer za 10%: šteje do 45%, vklopi pin, šteje do 55%, izklopi in šteje naprej do 100% ? kje ti pride to prav? kaj je vektorska regulacija, na hitro?
vem približno kako deluje frekvenčnik, delovanje motorjev mi je jasno, samo nikoli se nisem poglabljal v to.. me pa zanima. _________________ LP, Mitja |
|
Nazaj na vrh |
|
 |
vmalhar Član

Pridružen-a: Pet 06 Jul 2007 11:23 Prispevkov: 170 Aktiv.: 0.78 Kraj: Logatec
|
Objavljeno: Tor Apr 14, 2009 9:00 pm Naslov sporočila: |
|
|
zdej sem združil pwm enable in counter enable v isti vpis. velikokrat je tako, da vpis ničel v kontrolni register nima učinka, pa sem mislil, da je ta register eden takih. Potem lahko postavljaš enke vsako posebej.
Ni pa nobene spremembe. Izhod je tudi inicializiran, sem ga poskušal postavljat na roke in gre bp.
Miha |
|
Nazaj na vrh |
|
 |
dragoon Član


Pridružen-a: Čet 03 Maj 2007 21:51 Prispevkov: 452 Aktiv.: 2.05 Kraj: Trojane
|
Objavljeno: Tor Apr 14, 2009 9:15 pm Naslov sporočila: |
|
|
s šarmom smo delali na faxu, poglej tole. vpis ničel nima vpliva samo pri registrih ioset in ioclr, ker se to ravno sklada s programiranjem (maske) v Cju. to torej ni velikokrat. priporočam branje datasheeta. še enkrat. _________________ LP, Mitja |
|
Nazaj na vrh |
|
 |
vmalhar Član

Pridružen-a: Pet 06 Jul 2007 11:23 Prispevkov: 170 Aktiv.: 0.78 Kraj: Logatec
|
Objavljeno: Tor Apr 14, 2009 9:45 pm Naslov sporočila: |
|
|
Glede na to, da mi in match0 in match1 lepo prožita prekinitev ob točnih časih, po moje pwm dela vredu. Nikakor pa tega signala ne dobim na izhod. Tudi P0.00 je omogočen kot izhod, ker se na "set_pin_value(0,1)" postavi, kot je treba.
Morem prespat, pa bomo vidli. Sigurno je neka bedarija  |
|
Nazaj na vrh |
|
 |
alessio Član

Pridružen-a: Pon 04 Dec 2006 8:39 Prispevkov: 363 Aktiv.: 1.61 Kraj: Ljubljana
|
Objavljeno: Tor Apr 14, 2009 10:16 pm Naslov sporočila: |
|
|
vmalhar je napisal/a: |
Glede na to, da mi in match0 in match1 lepo prožita prekinitev ob točnih časih, po moje pwm dela vredu. Nikakor pa tega signala ne dobim na izhod. Tudi P0.00 je omogočen kot izhod, ker se na "set_pin_value(0,1)" postavi, kot je treba. |
Pin0.00 imaš torej nastavljen kot GP vhod/izhod, nastaviti pa moraš funkcijo pina za PWM delovanje.
Se pravi, prvi nibble v PINSEL0 mora biti 0x2.
~ Aleš |
|
Nazaj na vrh |
|
 |
vmalhar Član

Pridružen-a: Pet 06 Jul 2007 11:23 Prispevkov: 170 Aktiv.: 0.78 Kraj: Logatec
|
Objavljeno: Tor Apr 14, 2009 11:37 pm Naslov sporočila: |
|
|
alessio je napisal/a: |
Pin0.00 imaš torej nastavljen kot GP vhod/izhod, nastaviti pa moraš funkcijo pina za PWM delovanje.
Se pravi, prvi nibble v PINSEL0 mora biti 0x2.
~ Aleš |
To je bilo to. Sedaj je signal na izhodu, ne dela še pravilno, ampak bo hitro rešeno.
Hvala ti Aleš,
Miha |
|
Nazaj na vrh |
|
 |
vmalhar Član

Pridružen-a: Pet 06 Jul 2007 11:23 Prispevkov: 170 Aktiv.: 0.78 Kraj: Logatec
|
Objavljeno: Sre Apr 15, 2009 2:11 pm Naslov sporočila: |
|
|
Sedaj deluje bp, me je pa hecalo še tole. Ko resetiram oz. ustavim cpu in debugiram zadevo, se pwm sploh ne ustavlja. Čudno mi je bilo da kljub spreminjanju match registrov pwm deluje nespremenjno. Na začetku inicializacije pwm-ja je treba ustavit in resetirat pwm stevec, nastavit potrebno in potem pognat pwm
Za vpis v match registre v programu pa je treba omogočat latch-e za vpis.
Miha |
|
Nazaj na vrh |
|
 |
SimonS Član



Pridružen-a: Čet 01 Jul 2004 11:18 Prispevkov: 4769 Aktiv.: 20.13 Kraj: Kobarid
|
Objavljeno: Sre Apr 15, 2009 8:31 pm Naslov sporočila: |
|
|
Spremembe PWMja ne bo, dokler je ne boš potrdil z vpisom
PWMLER = 0x7F;
sedaj ne vem, če to isto velja tudi za šarm _________________ Lep dan
Simon |
|
Nazaj na vrh |
|
 |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 494 dni
Powered by phpBB © 2001, 2005 phpBB Group
|