Pic 16f628 PWM dva porta u isto vreme

Rasprava o PIC mikrokontrolerima, PIC projekti i drugo vezano za PIC-eve...

Moderators: pedja089, stojke369, [eDo], trax

Post Reply
gagi011bg
Penjem se :)
Penjem se :)
Posts: 89
Joined: 18-03-2012, 02:04

Pic 16f628 PWM dva porta u isto vreme

Post by gagi011bg »

Pozdrav svima! :D
E ovako interesuje me da li na pic-u 16f628 postoji mogucnost da se u PICBASIC-u,uradi da na primer:
PWM PORTB.0 ide od 0-255
pa onda kada PORTB.0 dodje napr.do 180
PWM PORTB.1 krene od 0-255
a PWM PORTB.0 i dalje nastavlja dok nedodje do 255,pa se vaća u 0
a PWM PORTB.1 i dalje nastavlja dok nedodje do 255,pa se vaća u 0,
i tako naizmenicno,nesto kao sinusoida,ali da rade u isto vreme,nezavisno jedan od drugoga.

ja sam nesto pokusao,ali samo sam dobio kada jedan port dodje do 255,onda drugi krece od nule,u stvarii nemogu da ih pokrenem u isto vreme,hvala svima unapred :D

Code: Select all

SYMBOL jedan=portb.0
SYMBOL dva=portb.1

steps	VAR	 word	
brzina con 02

pocetak:
For steps=0 TO 255 step 10 
PWM jedan,STEPS,brzina     
Next
If jedan=dva then
For steps=0 TO 255 step 10 
PWM dva,STEPS,brzina
NEXT

ENDIF
goto pocetak
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7881
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: Pic 16f628 PWM dva porta u isto vreme

Post by pedja089 »

Aj ti to nacrtaj lepo na dijagramu...
Jer nisam siguran da sam te razumeo, a uostalom izlaz pica je digitalni, pa mi nije jasno kako hoces sinusoidu...
Moze i ona se generise, pojasni malo.
Ako je i to neki efekat za reklamu, nadji slican snimak, pa da vidim sta treba napraviti.
gagi011bg
Penjem se :)
Penjem se :)
Posts: 89
Joined: 18-03-2012, 02:04

Re: Pic 16f628 PWM dva porta u isto vreme

Post by gagi011bg »

Da treba mi za neku reklamu,ali nema ni jedan snimk da pokažem,evo nacrtao sam kako bi trebalo da izgleda:
nacrt_paljenja_led_dioda.jpg
nacrt_paljenja_led_dioda.jpg (35.76 KiB) Viewed 5038 times
i sve treba da vrti u krug.
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7881
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: Pic 16f628 PWM dva porta u isto vreme

Post by pedja089 »

To je plivajuce svetlo...
to ti je najlakse izvesti sa kontrolerom koji ima odgovarajuci broj hardverskih pwm-a.
Mada tu je dovoljno i par stotina Hz frekfencija, pa se moze iskoristiti i SPWM uradjen za pic basic.
http://www.darreltaylor.com/DT_INTS-14/SPWM.html
Tu je par include fajlova koji se vrte u pozadini u interaptu...
Recimo takav efekat bi dobio sa ovako necim za 8 bit pwm rezoluciju
For i = 0 to 255
DutyVar1 = i
DutyVar2 = i-40
Next i
Da pojasnim ovo DutyVar2 = i-50...
Ako je i od 40 do 255, sve je jasno... DutyVar2 ce biti od 0 do 205.
A ako je i od 0 do 39, sta se desava...
Recimo nmeka je i=0, DutyVar2 = 0 - 40, a kako picbasic u osnovnoj verziji ne barata negativnim brojevima, racuna se kao da se pozajmio jedan bit. Pa je konacni rezultat 256-40 a to je 216.
Recimo i=39, DutyVar2 ce biti -1, tj 256 -1, a to je 255, i to je onda maksimum osvetljenje, dok je ovaj prvi kanal tek na prvoj cetvrtini osvetljenja...
gagi011bg
Penjem se :)
Penjem se :)
Posts: 89
Joined: 18-03-2012, 02:04

Re: Pic 16f628 PWM dva porta u isto vreme

Post by gagi011bg »

WOW, :ohno: predpostavio sam da je nesto malo komplikovanije :D
Hvala, u svakom slucaju,probacu da malo proucim,da vidimo sta ce da ispadne,jedino tako mogu da naucim nesto :wink:

Imam ja neka resenja u MPLAB IDE,ali reko da probam u PICBASIC-u,da pohvatam neke stvari
gagi011bg
Penjem se :)
Penjem se :)
Posts: 89
Joined: 18-03-2012, 02:04

Re: Pic 16f628 PWM dva porta u isto vreme

Post by gagi011bg »

Gledao sam ovaj kod,na sajtu,http://www.pbpgroup.com/modules/wfsecti ... ticleid=12
e sad sta on konkretno radi? Predpostavljam da u ovome sto piše:

DutyCycle1 = 0, POTRB.0 /UGAŠEN
DutyCycle2 = 127, POTRB.1 /OKO 50% PWM
DutyCycle3 = 255,POTRB.2 /100 %
E SAD U OVOM KODU:

Code: Select all

Include "Multi_SPWM.pbp"
define OSC 20

define SPWMFREQ  100           ' PWM frequency in Hz    

DutyCycle1   VAR  byte    ' 0-255  0=Idle Low   255=Idle High
DutyCycle2   VAR  byte 
DutyCycle3   VAR  byte    

SPWM1PIN  VAR PORTB.0          ' SPWM channel 1
define SPWM1VAR  _DutyCycle1

SPWM2PIN  VAR PORTB.1          ' SPWM channel 2
define SPWM2VAR  _DutyCycle2

SPWM3PIN  VAR PORTB.2          ' SPWM channel 3
define SPWM3VAR  _DutyCycle3
 


DutyCycle1 = 0
DutyCycle2 = 127
DutyCycle3 = 255

Loop:

pause 100

Goto Loop
jer treba u Labeli Loop: da se upiše koliko koji port da dimuje,tj,da ide od 0%-100% :roll:
posto vidim da je prazna,i ponavlja se.
I ovaj Multi_SPWM.pbp kopirao sam u PBP folder,jel to ok?
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7881
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: Pic 16f628 PWM dva porta u isto vreme

Post by pedja089 »

Taj pwm nisam koristio. Onaj sto sam ti poslao link jesam. Zaboravih reci da za njega treba MPASM.
U oba nista drugo ne radis, nego samo stavljas zeljene vrednosti u odredjene promenljive.
DutyCycle1 = 0
DutyCycle2 = 127
DutyCycle3 = 255
Ovo je samo primer fiksnih vrednosti, koje ti mozes da menjas u tvom programu kada god zelis. Probaj malo, baci se na testiranje pa ce ti se neke stvari same reci.
Naravno ukoliko ti ne trebaju samo fiksne vrednosti menjaj ih u kodu...
posle Include "Multi_SPWM.pbp" radis sta god ti je volja...
gagi011bg
Penjem se :)
Penjem se :)
Posts: 89
Joined: 18-03-2012, 02:04

Re: Pic 16f628 PWM dva porta u isto vreme

Post by gagi011bg »

Ok,hvala pedja puno još jednom, :D
probacu nesto da konbinujem da vidim sta ce ispasti :wink:

Imam MPASM,to je ok,ukljucen je u PICBAIC-u,samo mi reci jedno jos u tvom primeru nemogu da nadjem:

INCLUDE "DT_INTS-14.bas",ne vidim ga nigde na stanici,
Da li može tvoj primer za PIC16f628
i reci samo gde u oba primera pravilno kopiram fajlove:
INCLUDE "DT_INTS-14.bas"
INCLUDE "SPWM_INT.bas" tvoj primer,

i ovaj sto sam ja nasao:
Include "Multi_SPWM.pbp"
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7881
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: Pic 16f628 PWM dva porta u isto vreme

Post by pedja089 »

Mozes u pbp folder, ne smetaju...
A mozes i u folder od projekta.
Probaj levo kliknuti na downloads, pa zaviri sta tamo ima...
gagi011bg
Penjem se :)
Penjem se :)
Posts: 89
Joined: 18-03-2012, 02:04

Re: Pic 16f628 PWM dva porta u isto vreme

Post by gagi011bg »

Ok,hvala :D ,probacu nesto pa da vidimo sta ispadne,hvala joše jednom :D
Post Reply