 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
ElGrigon Član



Pridružen-a: Pon 24 Jul 2006 22:38 Prispevkov: 3883 Aktiv.: 16.88 Kraj: okolica Lenarta
|
Objavljeno: Čet Maj 03, 2007 9:47 pm Naslov sporočila: |
|
|
Avtorju sem že na začetku, ko sem kupil tiskanino in vso ostalo opremo za AVR-je, pisal pa mi ni hotel kode posredovati (to je 2 leti nazaj mislim).
Da se vrnem nazaj k programu. Manjka del programa za nastavljanje temp1 in temp2 s pomočjo tipk 5, 6 in 7 pri čemer 5 služi za izbiro temperature 6 in 7 pa za nastavitev (+-). Histereza je 1°C.
Moja želja delovanja je takšna. S tipkami bi nastavljal željeno temperaturo temp1 in temp2, k temu bi pa dodal še eno funkcijo na iste tipke in sicer nastavitev histereze za obe temperaturi.
Temp1 nadzira T1 kateri mi bo vklapljal kompresor za hlajenje, torej mora delati nekako tako, da se pri nastavljeni temp. izhod aktivira in nato pri določenem padcu temp. (ki je podan s histerezo) izklopi.
Temp2 bi delovala enako le v obratni smeri, se pravi pri nastavljeni temp. se aktivira izhod za T2, ki vklopi dodaten rele za grelec, in izklopi pri določenem naraščaju temp., ki je podana s histerezo.
Izpis na LCD pa če je možno dejanska temp. in nastavljena v oklepaju.
Mogoče že ima kdo takšno kodo in bi jo samo prilepil, drugače pa kdo je poznavalec tega naj mi jo napiše, ker kot pravim se učim na PIC-ih (šele berem knjigo "Programirajmo mikrokontrolerje").
Shema:
Opis: |
|
Velikost datoteke: |
48.08 KB |
Pogledana: |
23 krat |

|
_________________ lp, ElGrigon |
|
Nazaj na vrh |
|
 |
vilko Član



Pridružen-a: Pet 13 Feb 2004 10:26 Prispevkov: 3359 Aktiv.: 14.18 Kraj: Dragomer
|
Objavljeno: Pet Maj 04, 2007 10:05 am Naslov sporočila: Razmišljajmo! |
|
|
Takole sem malo razmišljal in seštrikal. Nisem nič testiral. Boš ti.
Torej hočeš nastavljati - regulirati dve temperaturi, T1 in T2, od katerih ima vsaka spodnjo mejo T11 in T21 in zgornjo mejo T12 in T22. Drži sledeče?
T11 <= T1 <= T12 in
T21 <= T2 <= T22
S tipkami je potrebno dopovedati mikroprocesorju vrednosti T11, T12, T21 in T22
Nadalje predvidevam, da imajo tudi te mejne vrednosti neke smiselne meje, in ni obena manjša od recimo 0 in + 30. Nadalje predvidevam, da se boš te vrednostni nastavljal samo občasno, torej je postopek nastavljanja lahko bolj 'počasen'. Pa si zamislim tako, da imaš za vsako od teh mejnih vrednosti eno tipko, recimo za mejno vrednost T11 tipko Tipka11.
In če držiš pritisnjeno tipko Tipka11 potem vsako sekundo zrase T11 za ena dokler ne spustiš tipke, ali dokler ne doseže skrajsno smiselno vrednost +30, tedaj spet začne od spodnje skrajne smiselne vrednosti 0.
Program bi potem takel šel približno tako:
Koda: |
Tipka11 Alias Pinx.y - na pin tipke
Dim T11 as Byte |
in nekje v zanki (vsak program je v delovni zanki)
Koda: |
do
...
If Tipka11 = 0 Then 'tipkat11 pritisnjena?
incr T11 'da, povečaj vrednost T11
If T11 >= 30 then 'če je dosegla zgornjo mejo smiselne vrednosti
T11 = 0 'potem začni s spodnjo mejo smiselne vrednostji
Endif
upperline 'Napiši vrednost na LCD, da lahko oseba ukrepa
lcd "T11 = "; T11
wait 1 ' in počakaj sekundo
.. In tako za vse štiri vrednosti
...
...
Loop |
Ima pa ta način en kaveljc22: Tipka v tem slučaju ne sme biti na pinu, ki tudi krmili LCD, kajti, ko je tipka pritisnjena, je to tudi motnja kadar pišeš na LCD.
Če se hočemo držati vezja, potem si bomo morali zamisliti kaj drugače, saj nimamo štirih neodvisnih pinov za tipke. potrebno bo si zamisliti kratke pritiske na tipko, se pravi tipko boš moral na kratko pritisniti in takoj spustiti, da sprostiš pine za pisanje na LCD. In seveda zadevo malce drugače programirati. Ali pa se poslužiti tipk, ki jih sicer ne potrebuješ na LCD, a te so le tri. Vendar z malo več domišljije bi šlo tudi s tremi.
Dodatek: Šele sedaj sem opazil, da je histereza vedno konstanta 1 stopinjo, torej je
T11 + 1 = T12 in
T21 + 1 = T22
Potem ti zadostujeta dve tipki za nastavitev, ena za T11 in T12, in druga za T21 in T22
Ni mi pa še jasno, kako boš vklapljal grelec in kompresor, saj imaš samo en rele. Potrebuješ pa vsaj tri stanja, hlajenje - ogrevanje - in niti hlajenje niti ogrevanje.
Za ta namen pa so potrebna vsaj dva izhodna pina.
|
|
Nazaj na vrh |
|
 |
ElGrigon Član



Pridružen-a: Pon 24 Jul 2006 22:38 Prispevkov: 3883 Aktiv.: 16.88 Kraj: okolica Lenarta
|
Objavljeno: Pet Maj 04, 2007 1:24 pm Naslov sporočila: |
|
|
Nisi me prav razumel. AVR ima dva izhoda za T1 in T2 (tranzistorja). T1 je že vezan na rele, T2 pa je v vezju mišljen za osvetlitev LCD-ja, ampakna tiskanini ni povezav, lahko se jih poveže s jumperji. Namesto tega bom jaz naredil posebej tiskanino kjer bom uporabil še en rele, katerega bo krmilil ta T2, na tiskanini pa še bom imel vezje, ki bo vsakih 15min vklopilo mešalnik tekočine. Ta mešalnik bo tudi takrat obratoval, ko bo aktiven rele za kompresor.
Delovanje nastavitev temperatur ki si ga opisal bi bilo vredu, le da morajo obvezno biti uporabljene tiste tri tipke 5,6 in 7. Ostale tipke ki so vrisane na načrtu jih odmisli.
Torej bi z eno tipko nastavljal spodnjo in zgornjo mejo posamezne temperature.
Verjamem pa da bi lahko naredil program tako, da bi s pritiskom na tipko 5 pričel z nastavitvijo temp1 katero bi nastavljal s tipkama 6 in 7. 6 bi bila za spodnjo mejo in 7 za zgornjo mejo. Nato bi še enkrat pritisnil 5, ki bi potrdila vnos. Ob ponovnem pritisku na to tipko bi program nastavljal temp2, ki bi se nastavila enako kot temp1, ob koncu nastavitve bi spet pritisnil na 5.
Na kratko; tipka 5 bi bila za izbiro nastavitvenih temp. in za potrditev, tipki 6 in 7 za spodnjo in zgornjo mejo. Program bi vsakič ko se izbere in potrdi posamezna temp. s tipko 5 avtomatsko preklapljal med njima.
Takšno realizacijo bi potreboval.
Izpis na LCD bi se sproti prikazoval med nastavitvami, v obratovanju pa bi lahko bilo napisano kot si napisal enačbo za mejne vrednosti, dejanska temp. bi lahko utripala, da je bolj razvidno katera je dejanska temp.
_________________ lp, ElGrigon |
|
Nazaj na vrh |
|
 |
vilko Član



Pridružen-a: Pet 13 Feb 2004 10:26 Prispevkov: 3359 Aktiv.: 14.18 Kraj: Dragomer
|
Objavljeno: Pet Maj 04, 2007 3:04 pm Naslov sporočila: Prehahava na zasebno |
|
|
Debata je nekako postala privatna, zato prehajava na zasebno komunikacijo. Če se nama kdo želi pridružiti s svojimi mnenji, naj se javi na ZS
|
|
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 Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 493 dni
Powered by phpBB © 2001, 2005 phpBB Group
|