Kazalo po Svet elektronike forumu Svet elektronike
Revija za prave elektronike
 
AlbumAlbum   Pomoč pogostih vprašanjPomoč pogostih vprašanj   IščiIšči   Seznam članovSeznam članov   Skupine uporabnikovSkupine uporabnikov   Registriraj seRegistriraj se 
 Tvoj profilTvoj profil   Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil   PrijavaPrijava 

16-bitni PWM na megi128

 
Objavi novo temo   Odgovori na to temo    Kazalo po Svet elektronike forumu -> Digitalna elektronika
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
protoncek
Profesionalec


Pridružen/-a: Sob Maj 2007 9:25
Prispevkov: 303
Kraj: Mengeš

PrispevekObjavljeno: Pet Jul 05, 2013 1:01 pm    Naslov sporočila: 16-bitni PWM na megi128 Odgovori s citatom

Je mogoče imeti 16 bitni PWM? V konfiguraciji lahko izbiram samo med 8,9 ali 10. V datasheet-u piše, da ima mega128 6 PWM kanalov, ki se lahko skonfigurirajo od 2 do 16 bitov. Ampak bolj ko gledam, manj mi je jasno...
rabil bi pa dva 16 bitna PWM-ja.

_________________
http://www.protoncek.com
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
cimer
Mojster


Pridružen/-a: Sre Maj 2004 0:01
Prispevkov: 45
Kraj: Ljubljana

PrispevekObjavljeno: Pet Jul 05, 2013 8:08 pm    Naslov sporočila: Odgovori s citatom

Ojla,

Ne gre drugače kot z direktnim pisanjem v registre. Pri PWM polnilniku je to narejeno takole. Tukaj uporabljam 11 bitov.

Koda:

'Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 1
Icr1 = 2048
'Tccr1a = &B10100010                                      'COM1A1 COM1A0 COM1B1 COM1B0 FOC1A FOC1B WGM11 WGM10
'Tccr1a = &B10000010                                      'COM1A1 COM1A0 COM1B1 COM1B0 FOC1A FOC1B WGM11 WGM10 - nastavitev za polnilnik
Tccr1a = &B10100010                                      'COM1A1 COM1A0 COM1B1 COM1B0 FOC1A FOC1B WGM11 WGM10 - nastavitev za polnilnik, praznilnik
Tccr1b = &B00011001                                      'ICNC1 ICES1 - WGM13 WGM12 CS12 CS11 CS10


Predlagam, da pogledaš tudi v help od Bascoma, vsaj tam sem jaz našel nastavitve.

Upam, da sem ti vsaj malo pomagal.

_________________
Lep pozdrav!
Marko
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
protoncek
Profesionalec


Pridružen/-a: Sob Maj 2007 9:25
Prispevkov: 303
Kraj: Mengeš

PrispevekObjavljeno: Pet Jul 05, 2013 8:40 pm    Naslov sporočila: Odgovori s citatom

Ja, saj sem gledal tudi datasheet od same mege, pa je vse tako zakomplicirano, da še manj razumem kot prej Embarassed
Se mi je pa zdelo da, če je sploh možno, bo treba nekako direktno v registre pisati, ja.
Torej, če prav razumem je finta, kjer določiš število bitov zapis Icr1 ? Poleg vpisa Tccr1a in b seveda?
Se bom jutri malo poigral s tem. Nekaj za začetek si mi že dal...

_________________
http://www.protoncek.com
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
cimer
Mojster


Pridružen/-a: Sre Maj 2004 0:01
Prispevkov: 45
Kraj: Ljubljana

PrispevekObjavljeno: Sob Jul 06, 2013 11:32 am    Naslov sporočila: Odgovori s citatom

Ja vpis v IcrX register pomeni v koliko korakih prideš od 0 do 1 na izhodnem pinu za PWM. (256 - 8 bit, 512 - 9 bit,....)
_________________
Lep pozdrav!
Marko
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
protoncek
Profesionalec


Pridružen/-a: Sob Maj 2007 9:25
Prispevkov: 303
Kraj: Mengeš

PrispevekObjavljeno: Sob Jul 06, 2013 6:29 pm    Naslov sporočila: Odgovori s citatom

Zadeva deluje! Je pa počasna, frekvenca PWM-ja je cca 240 Hz, kar je največ, kar lahko pričakujem, kolikor sem bral na forumih. Zadevo bom rabil za nastavljanje napetosti na usmerniku, tako da je vprašanje, če bom tako nizko frekvenco lahko zadovoljivo filtriral na čisto enosmerno. NO, testiral sem pri 16 bitih, toliko ne bom rabil. Mislim da bo šlo z 12 biti.
JE pa tako da ne dela, če ne vključim tiste vrstice: CONFIG TIMER1=PWM ...itd. Ti imaš tisto vrstico zakomentirano...?

_________________
http://www.protoncek.com
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
cimer
Mojster


Pridružen/-a: Sre Maj 2004 0:01
Prispevkov: 45
Kraj: Ljubljana

PrispevekObjavljeno: Pon Jul 08, 2013 7:11 am    Naslov sporočila: Odgovori s citatom

Ojla

Sem preveril v kodi, ker je že dolgo časa od pisanja programa. Jaz imam povsod zakomentiran tale config. Preveri. če imaš kje ukaz ENABLE TIMERX. Pri meni se ta ukaz nahaja po prvi nastavitvi registrov.

_________________
Lep pozdrav!
Marko
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
protoncek
Profesionalec


Pridružen/-a: Sob Maj 2007 9:25
Prispevkov: 303
Kraj: Mengeš

PrispevekObjavljeno: Pon Jul 08, 2013 7:59 am    Naslov sporočila: Odgovori s citatom

No, saj načeloma ni kritično tudi če je tista vrstica notri, važno je da potem s tistim ukazom popravim register. Nekako je treba vključiti timer. S tem se bom še malo poigral.
Sem pa poskusil z 12 biti in je frekvenca par kHz, kar je pa že čisto spodobno.
Razmišljam tudi da bi se malo poigral z Xmego128 - hitrejša je, pa še D/A konverter ima vgrajen. In ker bo verjetno v uporabi barvni 320x240 LCD...

Tile timerji so mi bili vedno "čudni". in zadnji čas je, da jih v detajle "naštudiram", sicer bo kriza...namreč, rad sem na tem, da vem, kako deluje in zakaj...ampak če je pa datasheet tako komplicirano napisan Embarassed
Hvala za pomoč! Spet nekaj več vem. Laughing

_________________
http://www.protoncek.com
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
cimer
Mojster


Pridružen/-a: Sre Maj 2004 0:01
Prispevkov: 45
Kraj: Ljubljana

PrispevekObjavljeno: Pon Jul 08, 2013 2:09 pm    Naslov sporočila: Odgovori s citatom

Super, lepo, da si uspel spraviti skupaj.

Veliko uspeha pri izdealvi tvojega novega projekta.

_________________
Lep pozdrav!
Marko
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
protoncek
Profesionalec


Pridružen/-a: Sob Maj 2007 9:25
Prispevkov: 303
Kraj: Mengeš

PrispevekObjavljeno: Pon Jul 08, 2013 3:05 pm    Naslov sporočila: Odgovori s citatom

Hvala. Brez tebe bi bilo veliko težje Wink
_________________
http://www.protoncek.com
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo    Kazalo po Svet elektronike forumu -> Digitalna elektronika Časovni pas GMT + 1 ura, srednjeevropski - zimski čas
Stran 1 od 1

 
Pojdi na:  
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
You cannot attach files in this forum
You cannot download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group