|
Svet elektronike Revija za prave elektronike
|
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
ata Profesionalec
Pridružen/-a: Pon Apr 2004 9:26 Prispevkov: 110
|
Objavljeno: Tor Avg 17, 2010 7:22 pm Naslov sporočila: intervalno vklapljanje z AT892051 |
|
|
Prosim za pomoč.kako napisati program da recimo ventilator ni vklopljen 1uro nato deluje 10 minut in spet ni vklopljen in se cikel ponavlja |
|
Nazaj na vrh |
|
|
Jure Urednik
Pridružen/-a: Pon Jan 2004 12:51 Prispevkov: 2132 Kraj: Ljubljana
|
Objavljeno: Tor Avg 17, 2010 10:53 pm Naslov sporočila: |
|
|
Jaz bi se tega lotil s programom za Timer. V njem imaš rutino za generiranje 1 sekunde. S tem lahko potem delaš kar hočeš npr: ko timer prešteje 10 minut naredi to in to...
Lp
Jure |
|
Nazaj na vrh |
|
|
reber Profesionalec
Pridružen/-a: Pon Jan 2004 9:40 Prispevkov: 187 Kraj: Bled
|
Objavljeno: Sre Avg 18, 2010 8:39 am Naslov sporočila: |
|
|
Ampak s hex datoteko si najbrž ne moremo kaj dosti pomagati ali pač? bi lahko pripel bolj "human friendly" datoteko _________________ Kontakt izključno na |
|
Nazaj na vrh |
|
|
ata Profesionalec
Pridružen/-a: Pon Apr 2004 9:26 Prispevkov: 110
|
Objavljeno: Sre Avg 18, 2010 8:51 am Naslov sporočila: |
|
|
Jure je napisal/a: | Jaz bi se tega lotil s programom za Timer. V njem imaš rutino za generiranje 1 sekunde. S tem lahko potem delaš kar hočeš npr: ko timer prešteje 10 minut naredi to in to...
Lp
Jure |
Jaz si res ne morem pomagati z hex datoteko .Z wait ukazi znam z timerjem 0 pa ne. |
|
Nazaj na vrh |
|
|
Jure Urednik
Pridružen/-a: Pon Jan 2004 12:51 Prispevkov: 2132 Kraj: Ljubljana
|
Objavljeno: Sre Avg 18, 2010 11:12 am Naslov sporočila: |
|
|
Ups.... moja napaka... tukaj je del kode, kjer je prikazana prekinitvena rutina:
Koda: | $regfile = "2313DEF.DAT"
Dim Clock As Byte , Stevec As Byte , Segmenti As Byte , X As Byte , P15 As Bit , P16 As Bit , P17 As Bit
Dim Clock12 As Word , Stevec1 As Bit , Stevec2 As Byte , Mux As Byte , Prikaz As Bit
Dim T1 As Bit , T2 As Bit , T3 As Bit
Dim Clock1 As Byte , Mod1 As Byte , Pisk As Bit , Vec As Bit , Odsteva As Bit
Dim Izracun As Bit , Pomozna_v As Byte , Enice As Byte , Desetice As Byte , Minute As Word , Ure As Word
' SEGMENTI SO NA Pb.1 DO Pb.7
' Pb.6 utripa glede na to, v kaksnem rezimu delovanja je Timer
' Mod=1=>sek =>Pb.6 hitro utripa, Mod=2=>min =>Pb.6 pocasi utripa,
' Mod=3=>ure =>Pb.6 gori
Config Timer0 = Timer , Prescale = 1
'To get/set the value from the timer access the timer/counter register
'lets reset it to 0
'Tcnt0 = 0 ' or
'Timer0 = 0
'Config Timer0 = Timer , Gate = Internal , Mode = 2
Config Debounce = 10
'Gate = Internal notranje prozen
'Mode = 2 8 bitni s avtomatskim vnosom
On Ovf0 Tim0_isr
'you may also use TIMER0 for OVF0, it is the same
Config Timer0 = Timer , Prescale = 1
Enable Timer0 ' enable the timer interrupt
Enable Interrupts 'allow interrupts to occur
Portd = &B01001111
Ddrd = &B111110000
Portb = &B00000000
Ddrb = &B11111111
If Pind.3 = 0 Then
Stevec = 0
Writeeeprom Stevec , 0
End If
Readeeprom Stevec2 , 0
'zacetne nastavitve
Clock = 0
'Stevec = 0 nadomesceno z vrednostjo v EEPROM-u
Stevec = Stevec2
T1 = Pind.0 ' UP tipka
T2 = Pind.2 ' DOWN tipka
T3 = Pind.1 ' MODE tipka
'PD.0 in PD.1 skupaj ' START tipka
P16 = 1
P15 = 0
Mod1 = 2
Portd.6 = 1
Pisk = 0
Reset Segmenti
Minute = 0
Clock12 = 0
Ure = 0
Vec = 0 'pomeni, da je vec, kot 1 min
Odsteva = 1 'pomeni, da se ne odsteva - samo nastavljamo cas
'odsteva je zato, da displej gori, kadar cas nastavljamo
'------------------------------------------------------------------
'Glavni program
Do
T3 Alias Pind.1
T1 Alias Pind.0
T2 Alias Pind.2
If Mod1 = 1 Then
Portb.6 = P15
End If ' signalizacija SEKUND, hitro utripanje na Pb.6
If Mod1 = 2 Then
Portb.6 = P16 ' signalizacija MINUT, pocasno utripanje na Pb.6
End If
If Mod1 = 3 Then
Portb.6 = 0 'signalizacija UR, Pb.6 gori stalno
End If
If Mod1 > 1 And Stevec > 2 And Odsteva = 0 Then
Vec = 0 'ne prikazuj LED
Else
Vec = 1 'prikazuj LED
End If
Gosub Tipke
Gosub Izracun1
Loop
End
'------------------------------------------------------------------
'Prekinitvena rutine
Stevec = 0
Writeeeprom Stevec , 0
'------------------------------------------------------------------
Tim0_isr:
Incr Clock12
If Clock12 > 46874 Then
Clock12 = 0
P16 = Not P16 'sekundni impulz
P17 = Not P17 'pomozna indikacija sekund
End If
Incr Clock
If Clock > 190 Then 'vsakih 5 mS je sprememba MUX-a
Clock = 0
Incr Mux
If Mux > 3 Then
Mux = 0
End If
Prikaz = 1
Incr Clock1
If Clock1 > 23 Then
Clock1 = 0
P15 = Not P15 ' hitro utripanje LED-ice 150mS
End If
End If
Return
'------------------------------------------------------------------ |
Če bi potreboval še kaj piši.
Lp
Jure |
|
Nazaj na vrh |
|
|
ata Profesionalec
Pridružen/-a: Pon Apr 2004 9:26 Prispevkov: 110
|
Objavljeno: Sre Avg 18, 2010 1:21 pm Naslov sporočila: |
|
|
Pogledal forum -Vaš post, sprogramiral zeljeno in uspelo mi je.Program deluje tako: če je kontrola napetosti aparature v redu pri določeni zahtevi(nizki zunanji temp.) vklaplja in izklaplja porabnika (intervalno-deluje-miruje)
Drugi del skrbi za zakasnitev vklopa motorja in glede na temperaturo določenega procesa vklaplja in izklaplja določene funkcije....TČ
Jure lepa hvala za pomoč ravno tako Rebru.
ps:rešil dokončno problem ds senzorjev,vse deluje brezhibno(štirje na istem vodilu v parazitski vezavi.) |
|
Nazaj na vrh |
|
|
Jure Urednik
Pridružen/-a: Pon Jan 2004 12:51 Prispevkov: 2132 Kraj: Ljubljana
|
Objavljeno: Sre Avg 18, 2010 8:20 pm Naslov sporočila: |
|
|
Ata,
super, to me veseli! Zdaj bi lahko vse skupaj spravil v članek, da ga lahko preberejo vsi tisti, ki jih zanima ogrevanje.
Lp
Jure |
|
Nazaj na vrh |
|
|
ata Profesionalec
Pridružen/-a: Pon Apr 2004 9:26 Prispevkov: 110
|
Objavljeno: Čet Avg 19, 2010 8:36 am Naslov sporočila: |
|
|
Jure je napisal/a: | Ata,
super, to me veseli! Zdaj bi lahko vse skupaj spravil v članek, da ga lahko preberejo vsi tisti, ki jih zanima ogrevanje.
Lp
Jure |
Če bo tč. delovala tako kot mora(nizkotemp del ze deluje dve leti-ogrevna voda do50st.c) sem pripravljen napisati članek ki bi bil v pomoč samograditeljem( energetika) vendar ne v podrobnostih,ki jih tudi jaz nisem dobil na nobenem forumu namreč obstaja velika moznost zlorabe znanja in izkušenj.Te naprave so strokovno zelo zahtevne in tudi jaz sem vlozil veliko ur in znanja v projekt.Kako tč deluje in kako je sestavljena sem se naučil pri proučevanju raznih shem in opisov .ki jih pa najdeš veliko na spletu-domačem in tujem. |
|
Nazaj na vrh |
|
|
vilko Profesionalec
Pridružen/-a: Pon Jan 2004 11:54 Prispevkov: 807 Kraj: Ljubljana
|
Objavljeno: Sob Avg 21, 2010 7:33 am Naslov sporočila: Re: intervalno vklapljanje z AT892051 |
|
|
ata je napisal/a: | Prosim za pomoč.kako napisati program da recimo ventilator ni vklopljen 1uro nato deluje 10 minut in spet ni vklopljen in se cikel ponavlja |
Koda: |
' Začnem zanko:
do
' Čakam eno uro:
for i = 1 to 3600
wait 1 ' čakam 1 sekundo
next
' Vklopim ventilator
reset pin, ki je preko tranzistorja vezan na rele
' Čakam 10 minut:
for i = 1 to 600
wait 1
next
' Izklopim ventilator
set pin, ki je preko tranzistorja vezan na rele
' in nazaj v zanko:
Loop
|
_________________ Sliši se paradoksalno, a je vendarle res:
Nekateri ljudje imajo vedno vse prav. No, včasih. |
|
Nazaj na vrh |
|
|
ata Profesionalec
Pridružen/-a: Pon Apr 2004 9:26 Prispevkov: 110
|
Objavljeno: Sob Avg 21, 2010 2:39 pm Naslov sporočila: Re: intervalno vklapljanje z AT892051 |
|
|
Vilko hvala,še bolj enostavno kot sem jaz zakompliciral |
|
Nazaj na vrh |
|
|
ata Profesionalec
Pridružen/-a: Pon Apr 2004 9:26 Prispevkov: 110
|
Objavljeno: Pon Avg 23, 2010 10:13 am Naslov sporočila: Re: intervalno vklapljanje z AT892051 |
|
|
Hvala vsem za pomoč. Prilagam del programa za intervalno regulacijo npr. vent.
Koda: |
Do
Senzor
Temperature
Locate 1 , 1 : Lcd "TEM ZUNAJ "
Zrak = T4
Lcd T
Lcd Chr(46)
Lcd T1
If T > 28 Then
P3.7 = 1
End If
If P3.1 = 1 Then
P3.7 = 1
End If
If T < 28 Then
End If
If P3.1 = 0 Then
P3.7 = 0
End If
For I = 1 To 8 'sekunde po zelji
Wait 1
Next
P3.7 = 1
For I = 1 To 40 'sekunde po zelji
Wait 1
Next
P3.7 = 0
If P3.1 = 1 Then 'stikalo pogoj za vklop
P3.7 = 1
End If
Loop
|
|
|
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 You cannot attach files in this forum You cannot download files in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|