www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

PWM
Pojdi na stran Prejšnja  1, 2, 3  Naslednja
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Osnove programiranja PIC-a v Assembler-ju
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
red_mamba
Član
Član



Pridružen-a: Ned 20 Feb 2005 17:56
Prispevkov: 1486
Aktiv.: 6.69
Kraj: Yogyakarta

PrispevekObjavljeno: Tor Sep 02, 2008 11:20 pm    Naslov sporočila:   Odgovori s citatom

kavelj22 je napisal/a:
No, ampak lahko krmilimo moč treh LED diod na enkrat z enim PWM modulom, saj lahko ob vsakem pulzu damo na izhode razlicne vrednosti, ampak imamo potem neke vnaprej nastavljene vrednosti, ki jih lahko beremo iz tabel oz. kakorkoli ze???

lp


glej za vsako barvo rabiš svoj PWM krmiljenje, da lahko prelivaš barve.
Se pravi če želiš ti 3 RGB diode kontrolirat poljubno rabiš 9 PWM signalov 3x RGB.

_________________
Bad things happen to good people all the time for no reason!
Blog
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
kavelj22
Član
Član



Pridružen-a: Tor 23 Jan 2007 23:56
Prispevkov: 465
Aktiv.: 2.22
Kraj: Ljubljana

PrispevekObjavljeno: Tor Sep 02, 2008 11:41 pm    Naslov sporočila:   Odgovori s citatom

Ne, jaz bi krmilil samo tri diode rdeco, zeleno in modro. Iz teh bi naredil eno RGB. Potem takem potrebujem tri PWM.

Hvala,lp!

_________________
Živleje ni potica, življeje je črn kruh. Bul ga šparaš bul je suh. Zato pa kr na mizo žjim.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
Sokrat
Član
Član



Pridružen-a: Čet 25 Avg 2005 11:00
Prispevkov: 5584
Aktiv.: 25.15

PrispevekObjavljeno: Tor Sep 02, 2008 11:57 pm    Naslov sporočila:   Odgovori s citatom

Ja, potrebujes tri izvore signala za krmiljenje, za vsako komponento, katero zelis samostojno upravljati, svojo.
_________________
Ka ti bo pa torba ce si kupu kolo ?
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
kavelj22
Član
Član



Pridružen-a: Tor 23 Jan 2007 23:56
Prispevkov: 465
Aktiv.: 2.22
Kraj: Ljubljana

PrispevekObjavljeno: Sre Sep 24, 2008 11:22 pm    Naslov sporočila:   Odgovori s citatom

Ja, ni bilo casa za nadaljno brskanje o PWM, sedaj pa spet nekaj vec, a lahko samo kdo pove ce je kdaj gledal tale projekt oziroma ga mogoce celo naredil. Rad bi se spravil naredit nekaj takega samo zaradi spoznavanja PWM. A je v tem projektu PWM izveden programsko glede na to da PIC nima PWM modula ze vgrajenega?

http://picprojects.org.uk/projects/hbld/index.htm

Hvala,lp!

_________________
Živleje ni potica, življeje je črn kruh. Bul ga šparaš bul je suh. Zato pa kr na mizo žjim.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
Sokrat
Član
Član



Pridružen-a: Čet 25 Avg 2005 11:00
Prispevkov: 5584
Aktiv.: 25.15

PrispevekObjavljeno: Čet Sep 25, 2008 3:32 pm    Naslov sporočila:   Odgovori s citatom

kavelj22 je napisal/a:
A je v tem projektu PWM izveden programsko glede na to da PIC nima PWM modula ze vgrajenega?

http://picprojects.org.uk/projects/hbld/index.htm


Glede na to, da avtor ponuja zastonj source, to ne more biti ravno stvar, zaradi katere bi si razbijal glavo, ka-li ? Wink Omenjeni PIC res nima trikanalnega PWM krmiljenja, a gre pri regulaciji LEDic za casovno tako zelo nezahtevno stvar, da ga ni noben problem izvesti v SW.

_________________
Ka ti bo pa torba ce si kupu kolo ?
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
kavelj22
Član
Član



Pridružen-a: Tor 23 Jan 2007 23:56
Prispevkov: 465
Aktiv.: 2.22
Kraj: Ljubljana

PrispevekObjavljeno: Pon Sep 29, 2008 6:15 pm    Naslov sporočila:   Odgovori s citatom

To je primer izvedbe SW PWM iz microchip-ovega AN!

Citiram:
ADCConversion
bsf ADCON0,GO ;Start A2D conversion
btfsc ADCON0,GO ;Wait until the conversion is completed
goto $-1; The upper 8 bits of the ADC result is added to the 16-bit sine pointer,
; PhaseH:PhaseL. An offset of 25 is also added to make sure the sweep
; frequency never goes to 0.
rrf ADRESH,W ; use only the upper 7 bits of ADC result
andwf 0x7f ; mask off upper bit to 0 after rotate
movwf Temp
movlw .25 ;ADRESH + 25
addwf Temp,W
addwf PhaseL,F ;PhaseL+Temp
btfsc STATUS,C ;Chk if the Carry is generated because of the
;addition of PhaseL and Temp in the previous
;instruction
incf PhaseH,F
;


A mi lahko kdo to malo bolj po domace razlozi. Ta pic ima 10 bitno pretvorbo. Katerih 7 zgornjih bitov potem uporabimo in zakaj samo zgornje ce ze? Zakaj tudi delimo ADRESH z dva?

Hvala za pomoc!

lp, jaka

_________________
Živleje ni potica, življeje je črn kruh. Bul ga šparaš bul je suh. Zato pa kr na mizo žjim.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
kavelj22
Član
Član



Pridružen-a: Tor 23 Jan 2007 23:56
Prispevkov: 465
Aktiv.: 2.22
Kraj: Ljubljana

PrispevekObjavljeno: Pon Sep 29, 2008 7:26 pm    Naslov sporočila:   Odgovori s citatom

OK, mislim da razumem, zgornje uporabimo zato ker je rezultat levo poravnan. Potem to pomeni da spodnja dva ki sta v ADRESL odpadeta. To ne se ne vem zakaj je tako oz. kaksna je razlika ce ne bi upostevali zgornjih dveh. Z dva pa delimo ker imamo 128 vrednosti v tabeli sinusa.

Ce je kdo to gledal lahko potrdi oz. uvrze ce ne tudi OK!

lp,Jaka!

_________________
Živleje ni potica, življeje je črn kruh. Bul ga šparaš bul je suh. Zato pa kr na mizo žjim.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
kavelj22
Član
Član



Pridružen-a: Tor 23 Jan 2007 23:56
Prispevkov: 465
Aktiv.: 2.22
Kraj: Ljubljana

PrispevekObjavljeno: Čet Okt 02, 2008 9:48 pm    Naslov sporočila:   Odgovori s citatom

A mi lahko kdo pomaga tole razumet, na kak nacin beremo to tabelo:

Citiram:
SineTable
andlw TABLESIZE-1 ;Mask off invalid entries
movwf Temp
movlw high (TableStart) ;get upper address bits for start of table
movwf PCLATH
movlw low (TableStart) ;load lower address bits of table
addwf Temp,w ;add offset.
btfsc STATUS,C ;did it overflow?
incf PCLATH,f ;yes:increment PCLATH
movwf PCL ;perform a complete jump
TableStart
retlw .16
retlw .17
retlw .17
retlw .18
retlw .19
retlw .20
retlw .20
retlw .21


hvala,lp

_________________
Živleje ni potica, življeje je črn kruh. Bul ga šparaš bul je suh. Zato pa kr na mizo žjim.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
Sokrat
Član
Član



Pridružen-a: Čet 25 Avg 2005 11:00
Prispevkov: 5584
Aktiv.: 25.15

PrispevekObjavljeno: Pet Okt 03, 2008 9:54 am    Naslov sporočila:   Odgovori s citatom

call sinetable

(seveda pred tem napolnis register W z ustreznim indeksom elementa, katerega vrednost zelis vrnjeno)

_________________
Ka ti bo pa torba ce si kupu kolo ?
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
kavelj22
Član
Član



Pridružen-a: Tor 23 Jan 2007 23:56
Prispevkov: 465
Aktiv.: 2.22
Kraj: Ljubljana

PrispevekObjavljeno: Pet Okt 03, 2008 10:35 am    Naslov sporočila:   Odgovori s citatom

Haha, Sokrat ko bo meni enkrat vse jasno bodo nekateri posteno jokali zarad mojih odgovorov na tem forumu...pa brez zamere! (Sicer je to bolj tezko verjetno, ker imate ogromno prednosti)

A mi lahko potem podas bolj konkreten odgovor okrog ukaza :
Citiram:
andlw TABLESIZE-1 ;Mask off invalid entries

Kaj nam ta ukaz naredi, ne zastopim, kaj pomeni TABLESIZE-1!

To le delam na 16f877a in se dogajajo kar neke cudne stvari, in si jih ne znam razlozit ker glede na to da je zraven A/D pretvorba je mal tezko simulirat stvar.

Prav tako mi ni jasno zakaj najprej rotiramo ADRESH in potem uporabimo samo PhaseH, ki ga se enkrat rotiramo
Rolling Eyes


Hvala,lp!

_________________
Živleje ni potica, življeje je črn kruh. Bul ga šparaš bul je suh. Zato pa kr na mizo žjim.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
mucek4
Član
Član



Pridružen-a: Sob 18 Jun 2005 20:52
Prispevkov: 2952
Aktiv.: 13.29
Kraj: Tržič - Mesto med gorami

PrispevekObjavljeno: Pet Okt 03, 2008 10:55 am    Naslov sporočila:   Odgovori s citatom

kavelj22 je napisal/a:
...da je zraven A/D pretvorba je mal tezko simulirat stvar....


Zakaj?
Ko delaš branje iz AD registra v W dopišeš še testno vrstico movlw ali pa preko simolusa vrivaš podatke v ADRESH in ADRESL.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Sokrat
Član
Član



Pridružen-a: Čet 25 Avg 2005 11:00
Prispevkov: 5584
Aktiv.: 25.15

PrispevekObjavljeno: Pet Okt 03, 2008 11:32 am    Naslov sporočila:   Odgovori s citatom

kavelj22 je napisal/a:
A mi lahko potem podas bolj konkreten odgovor okrog ukaza :
Citiram:
andlw TABLESIZE-1 ;Mask off invalid entries

Kaj nam ta ukaz naredi, ne zastopim, kaj pomeni TABLESIZE-1!


TABLESIZE mora biti definiran nekje visje v programu.

Avtor je ocitno zelel odrezati vrednosti, ki bi presegale dolzino tabele, a se je tega lotil na malce butast nacin, razen ce tabela vedno vsebuje 2^n elementov (v tem primeru je izvedba pravilna in hkrati tudi najbolj ucinkovita).

_________________
Ka ti bo pa torba ce si kupu kolo ?
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
kavelj22
Član
Član



Pridružen-a: Tor 23 Jan 2007 23:56
Prispevkov: 465
Aktiv.: 2.22
Kraj: Ljubljana

PrispevekObjavljeno: Pet Okt 03, 2008 11:38 am    Naslov sporočila:   Odgovori s citatom

Ok sedaj znam vpisovat v ADRESH in ADRESL ampak se vedno:
Hvala tudi SOKRAT na prejsnjem odgovoru!

Citiram:
rrf ADRESH,w
movwf Zacasna
movlw .25
addwf Zacasna,w
addwf Faza_L,f
btfsc STATUS,C

incf Faza_H

Zakaj kontroliramo bit C. Ce mi rotiramo ADRESH in ga shranimo v spodnjih osem bitov PhaseL potem ta ne bo nikoli presegel vrednosti osmih bitov. In tudi v nadaljevanju se uporablja potem PhaseH, v katerem ni nikoli nobene vrednosti pa se rotiramo jo. Al kaj meni tu ni jasno ??? Rolling Eyes

lp

_________________
Živleje ni potica, življeje je črn kruh. Bul ga šparaš bul je suh. Zato pa kr na mizo žjim.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
Sokrat
Član
Član



Pridružen-a: Čet 25 Avg 2005 11:00
Prispevkov: 5584
Aktiv.: 25.15

PrispevekObjavljeno: Pet Okt 03, 2008 12:33 pm    Naslov sporočila:   Odgovori s citatom

Napisi svoj algoritem, namesto da kopiras in potem poskusas razvozlati obstojecega, pa ti bo vse jasno. Reverse engineering obstojecih programov ni brez razloga bolj kompleksen (in bolje placan) kot "delo naprej", kjer si sam izmislis in naredis vse tako, kakor tebi ustreza.
_________________
Ka ti bo pa torba ce si kupu kolo ?
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
kavelj22
Član
Član



Pridružen-a: Tor 23 Jan 2007 23:56
Prispevkov: 465
Aktiv.: 2.22
Kraj: Ljubljana

PrispevekObjavljeno: Pon Okt 06, 2008 11:33 am    Naslov sporočila:   Odgovori s citatom

Naredil sem SW_ PWM , kjer z enim potenciometrom spreminjam moč ene LED diode. Sedaj pa bi rad z tremi potenciometri kontroliral tri LED diode. Se pravi vsako diodo z svojim potenciometrom. Tako bi lahko nastavljal poljubne barve. A se to da z enim krmilnikom ? Ni mi jasno kako bi v tem primeru upravljal z A/D pretvorbo.

Kaj povzroca to da mi med najmanjsim duty ciklom in popolnim izklopom ce zelo pocasi obracam trimer ledice umes utripnejo, kot bi bile umes med tem ali naj gorijo ali naj ugasnejo. Kako bi lahko to resil. Imam pa periodo 10msec razdeljeno na 64 intervalov. Se pravi prekinitev vsake 10msec/64. Ce se razumemo prosim za kak nasvet.

Hvala, LP!



PWM_LED_control!.rar
 Opis:

Download
 Ime datoteke:  PWM_LED_control!.rar
 Velikost datoteke:  1017 Bytov
 Downloadano:  21 krat


_________________
Živleje ni potica, življeje je črn kruh. Bul ga šparaš bul je suh. Zato pa kr na mizo žjim.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Osnove programiranja PIC-a v Assembler-ju Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran Prejšnja  1, 2, 3  Naslednja
Stran 2 od 3

 
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
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 48 dni


Powered by phpBB © 2001, 2005 phpBB Group