tmr0 kao zastita motora

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

Moderators: pedja089, stojke369, [eDo], trax

Post Reply
User avatar
sasa45
Odlično uznapredovao
Odlično uznapredovao
Posts: 518
Joined: 19-01-2007, 07:42
Location: Subotica - Srbija
Contact:

tmr0 kao zastita motora

Post by sasa45 »

Nisam bas koristio TMR0 pa ne mogu da se ispetljam :)
potrebsno:
aktiviranjem tastera ukljucujem neki uredjaj(nebitno da detaljisem sta je uredjaj)
kad odreaguje senzor, iskljucuje se uredjaj.
gore navedeno sve radi kako treba. sad zelim da dodam zastitu
ako se posle xx vremena (nebitna je preciznost vremena) sonda ne iskljuci uredjaj da se aktivira zastita.
kod koji sam radio je dug i komplikovan da bi kacio sve pa sam sao izdvojio delove koda gde sam ubacio deo za zastitu.

problem je u tome da vrednost Vr za duzinu trajanje pauze sam stavio na 1000 i zastita mi odreaguje zato sto je to vreme krace od potrebnog vremena.
vrednost vr sam podizao i na kraju ga podigao na Vr=10000 i to je sad sigurno duze vreme i ciklus treba da se zavrsi pre zastite.
problem je sto mi se zastita aktivira u momentu kad se motor iskljuci.
portc.4 je izlaz za motor

nadam se da sam uspeo da pojasnim sta me muci... nebitno je doradjivati ovaj kod ako postoji pametnije resenje sa kojim da odradim zastitu :)

Code: Select all

---------------------------------------------------------------------
option_reg.0=1						podesavanja
option_reg.1=1
option_reg.2=0
option_reg.3=0
option_reg.5=0
option_reg.7=1

on interrupt goto Prekid				
-----------------------------------------------------------------------
					kad se aktivira portc.4 aktivira TMR0
if portd.6=0 then          
portc.4=1 
TMR0=0
vr=0
intcon.2=0
intcon.5=1
intcon.7=1
.
.
.
.

------------------------------------------------------------------------
					kad se iskljuci portc.4 zaustavi TMR0

if pre1=1 then
 if porte.0=0 then 
 portc.4=0
  intcon.5=0
  intcon.7=0


----------------------------------------------------------------------
							INTERRUPT deo
disable
Prekid: 

if intcon.2=1 and vr<10000 then
intcon.2=0
vr=vr+1
resume
endif

lcdout $fe,1
lcdout $fe,2,"zastita"

Prekid1:
if t3=0 then 
intcon.2=0
intcon.7=0
intcon.5=0
goto rucni
endif


goto prekid1 
Milentije
Pocetnik na forumu
Pocetnik na forumu
Posts: 26
Joined: 20-05-2011, 20:55

Re: tmr0 kao zastita motora

Post by Milentije »

Koji kontroler koristis? Da li taktujes tajmer internim ili eksternim izvorom takta?
Napisi okvirno u kojem opsegu bi se kretalo to vrijeme zastite.
Post Reply