Termostat ( TX-RX ) by Ja & Feko
Moderators: pedja089, stojke369, [eDo], trax
Termostat ( TX-RX ) by Ja & Feko
Davno početo, davno završeno i radi al' nikako da postavim konačne sličice.
A ide Nova godine pa treba podvući neke crte...
Radilo se i raspravljalo ovdje: http://www.elektronika.ba/forum/viewtop ... 26&t=16229
Evo konačnih sličica:
A ide Nova godine pa treba podvući neke crte...
Radilo se i raspravljalo ovdje: http://www.elektronika.ba/forum/viewtop ... 26&t=16229
Evo konačnih sličica:
Ako kaniš pobijediti, ne smiješ izgubiti
Re: Termostat ( TX-RX ) by Ja & Feko
U topic-u oko gradnje i tamošnjim linkovima možete pročitati ideju i svrhu izgradnje.
Konkretno, ja sam se vodio potrebom da sebi uradim bezžični termostat sa daljinskim upravljanjem za upravljanje novougrađenog kamina za pelet.
Evo radi mi već oko mjesec dana i ja prezadovoljan.
Žao mi je što negdje sa strane nisam izveo ICSP priključak za update, zato što mi stalno nešto novo pada na pamet pa moram rastavljati kutiju.
Uglavnom kod mene to sad radi na način da u internom eepromu imam uprogramirano šest perioda u toku jednog dana i za svaki taj period mogu podesiti temperaturu palenja i gašenja kamina.
Baš sinoć sam dodao nemogućnost da se kamin ugasi (bez obzira na zadatu temperaturu) dok ne odradi barem 1 sat.
Međutim kako mi na glavu (pamet) svašta pada, a krenulo se sa PIC16F84 (Feko), potrebe su rasle pa se išlo na 16F627, 16F628A pa na kraju završilo sa 16F648 (4k fleša), njega nisam još "prepunio"
Uglavnom "ljepota" ovog uradka je u otvorenom kodu i otvorenim PCB-ima (sprint layout) da svako sebi može po potrebi šta doraditi, zatim upotreba svih pic-eva koji su pin-kompatibilni sa ovim.
Mala prepravka koda omogućava rad u sitemu hlađenja, a dodavanjem još jedne sonde na isti pin i malom izmjeno koda može se dobiti i diferencijalni termostat.
Postaviću ovdje jedan od prvih kod-ova u PBP-u i više HEX-ova, a ako nekom treba nešto konkretno rado ću mu preraditi kod za njegove potrebe.
Konkretno, ja sam se vodio potrebom da sebi uradim bezžični termostat sa daljinskim upravljanjem za upravljanje novougrađenog kamina za pelet.
Evo radi mi već oko mjesec dana i ja prezadovoljan.
Žao mi je što negdje sa strane nisam izveo ICSP priključak za update, zato što mi stalno nešto novo pada na pamet pa moram rastavljati kutiju.
Uglavnom kod mene to sad radi na način da u internom eepromu imam uprogramirano šest perioda u toku jednog dana i za svaki taj period mogu podesiti temperaturu palenja i gašenja kamina.
Baš sinoć sam dodao nemogućnost da se kamin ugasi (bez obzira na zadatu temperaturu) dok ne odradi barem 1 sat.
Međutim kako mi na glavu (pamet) svašta pada, a krenulo se sa PIC16F84 (Feko), potrebe su rasle pa se išlo na 16F627, 16F628A pa na kraju završilo sa 16F648 (4k fleša), njega nisam još "prepunio"
Uglavnom "ljepota" ovog uradka je u otvorenom kodu i otvorenim PCB-ima (sprint layout) da svako sebi može po potrebi šta doraditi, zatim upotreba svih pic-eva koji su pin-kompatibilni sa ovim.
Mala prepravka koda omogućava rad u sitemu hlađenja, a dodavanjem još jedne sonde na isti pin i malom izmjeno koda može se dobiti i diferencijalni termostat.
Postaviću ovdje jedan od prvih kod-ova u PBP-u i više HEX-ova, a ako nekom treba nešto konkretno rado ću mu preraditi kod za njegove potrebe.
Ako kaniš pobijediti, ne smiješ izgubiti
Re: Termostat ( TX-RX ) by Ja & Feko
U sledećem prilogu verzija PCB-a od Feke (sprint layout).
Rađena je za 16F84 sa vanjskim kristalom. Dalje idu moje verzije.
Osnovna razlika je ta što sam morao pločicu prilagoditi kutijici koju sam imao i što kod mene idu PIC-onje sa internim oscilatorom.
Tu su još i izvodi za RTC ds1307, izvodi za ICSP, za TX, zatim manji relei nego u Feke.
Uglavnom obje pločice su pin to pin kompatibilne i mogu se koristiti.
Kod mene je dodata i pločica za prijemnik koji ide u kamin. A ovo je sličica TX/RX modula koji su korišteni
Rađena je za 16F84 sa vanjskim kristalom. Dalje idu moje verzije.
Osnovna razlika je ta što sam morao pločicu prilagoditi kutijici koju sam imao i što kod mene idu PIC-onje sa internim oscilatorom.
Tu su još i izvodi za RTC ds1307, izvodi za ICSP, za TX, zatim manji relei nego u Feke.
Uglavnom obje pločice su pin to pin kompatibilne i mogu se koristiti.
Kod mene je dodata i pločica za prijemnik koji ide u kamin. A ovo je sličica TX/RX modula koji su korišteni
Ako kaniš pobijediti, ne smiješ izgubiti
Re: Termostat ( TX-RX ) by Ja & Feko
Evo i nekih HEX-ova pa probajte:
Ma postavio bih ja i ovaj konačni kod, ali predug je i teško da bi nekom drugom bio razumljiv, a postoji i opasnost da mi se iskusniji programeri smiju, zato što sam sigurno neke stvari rješavao "naokolo" umjesto "prečicom".
U svakom slučaju ako nekom zatreba nešto konkretno pomoći ću.
A evo i simulacija u protelu:
Evo i nekog prvobitnog (početnog) koda:
Code: Select all
#CONFIG
__config _INTRC_OSC_NOCLKOUT & _WDTE_ON & _PWRTE_ON & _MCLRE_OFF & _LVP_OFF
#ENDCONFIG
CMCON=7 'iskljuceni analogni komparatori - DIGITALNI I/O
DEFINE OSC 4
include "modedefs.bas" ' za serin i serout naredbu
'konfiguracija LCD
DEFINE LCD_BITS 4 'LCD radi u 4-bitnom modu
DEFINE LCD_DREG PORTB 'port na koji su zakaceni data biti displeja d4-d7
DEFINE LCD_DBIT 4 'pocetni bit data porta na koji se veze d4 displeja
DEFINE LCD_RSREG PORTA 'port na koji je zakacena linija RS
DEFINE LCD_RSBIT 1 'bit porta na kome je zakacena linija RS
DEFINE LCD_EREG PORTA 'port na kome je zakacena E linija displeja
DEFINE LCD_EBIT 0 'bit porta na kome je zakacena E linija
DEFINE LCD_LINES 2 'LCD sa dva reda
TRISB=%00000111
TRISA=%11010000
symbol TastUP=portb.0
symbol TastDN=portb.1
symbol TastSET=portb.2
symbol PozOs=portb.3'pozadinsko osvjetlenje
symbol Out1=porta.2 'ili TX ili rele
symbol Out2=porta.3'samo rele
symbol DQ=porta.4'temp sonda
'promjenjive za izracun temperature
Deg CON 223 'konstanta za iscrtavanje oznake stepena
Temperature Var Word
TempC Var Word
Float Var Word
Twist Var Bit
sST var bit
nST var bit
SetON var word
SetOF var word
seton=220:setof=235'default zadanih vrijednosti u slucaju da ne procita eeprom
'citanje zadatih vrijednosti iz internog eeproma
read 1,seton.lowbyte
pause 10
read 2,seton.highbyte
pause 10
read 3,setof.lowbyte
pause 10
read 4,setof.highbyte
pause 10
LCDOUT $FE, 1 ;briše sve sa LCD-a i inicijelizira ga
LCDOUT $FE, 2,"Termostat by:"
LCDOUT $FE, $C0, "ELEKTRONIKA.BA"
pause 2000' ostavi natpis 2 sekunde
Out2=0:PozOS=0
Main:
gosub mjerenje'izmjeri temperaturu
'prikaz
LCDOUT $FE, 1
LcdOut $FE,$80,"Temp: ",DEC (Temperature / 10),".",dec1 (Temperature),deg,"C"
lcdout $fe,$c0, "ON=",dec seton/10,".",dec1 seton," ","OFF=",dec setof/10,".",dec1 setof
PAUSE 500
if Out2=1 then PozOS=1 'ako je ugasen izlaz onda je i pozadinsko osvjetlenje
if temperature<=seton then 'uslov za palenje
out2=1
pozos=1
endif
if temperature>=setof then 'uslov za gasenje
out2=0
pozos=0
endif
if TastSET=0 then
pozos=1'upali pozadinsko
goto set1 'idi na podesavanje
endif
goto Main ' Ponovi sve
'---------------------------------------------------------------------
SeT1: 'podesavanje temp palenja
nst=tastset
if nst<sst then ' prije izlaza iz funkcije upisi u interni eeprom
write 1,seton.lowbyte
pause 12
write 2, seton.highbyte
pause 12
sst=nst
goto set2'ide na podesavanje temp gasenja
endif
Lcdout $FE, 1, "Podesavanje:"
LcdOut $FE, $C0,"Temp. ON=",dec seton/10,".",dec1 seton,deg,"C "
PAUSE 100
if TASTup = 0 then 'dodavanje u promenjivu setON
seton = seton + 1
ENDIF
if tastdn = 0 then 'oduzimanje iz promenjive setON
seton = seton - 1
endif
'granicne vrijednosti temperature
if seton > 600 then SetON = 600
if seton < 150 then seton = 150
pause 50
sst=nst
goto set1
'----------------------------------------------------------------------
SeT2:'podesavanje temperature gasenja
nst=tastset
if nst<sst then ' prije izlaza iz funkcije upisi u interni eeprom
write 3,setof.lowbyte
pause 12
write 4, setof.highbyte
pause 12
sst=nst
pozos=0'pozadinsko
goto main'ponovo na program
endif
Lcdout $FE, 1, "Podesavanje:"
LcdOut $FE, $C0,"Temp. OFF=",dec setof/10,".",dec1 setof,deg,"C "
PAUSE 100
if TASTup = 0 then 'dodavanje u promenjivu set_temp
setof = setof + 1
ENDIF
if tastdn = 0 then 'oduzimanje iz promenjive set_temp
setof = setof - 1
endif
'granicne vrijednosti temperature
if setof > 600 then setof = 600
if setof < 150 then setof = 150
pause 50
sst=nst
GOTO Set2
'---------------------------------------------------------------------
Mjerenje: 'mjerenje temperature s jednom decimalom
OWOut DQ, 1, [$CC, $44 ]
OWOUT DQ, 1, [$CC, $BE ]
pause 100
OWIN DQ, 2, [Temperature.Lowbyte, Temperature.Highbyte]
TempC = ( Temperature & $7FF ) >> 4
Float = ((Temperature.Lowbyte & $0F ) * 25/10 )>> 2
Temperature = TempC*10 + Float
return
End ' Kraj programa
U svakom slučaju ako nekom zatreba nešto konkretno pomoći ću.
Ako kaniš pobijediti, ne smiješ izgubiti
Re: Termostat ( TX-RX ) by Ja & Feko
Odlično meni se baš sviđa.
Ova kutija termostata je baš super, gdje se ima nabaviti ovih kutija i koja je cijena ako nije problem?
Ova kutija termostata je baš super, gdje se ima nabaviti ovih kutija i koja je cijena ako nije problem?
Re: Termostat ( TX-RX ) by Ja & Feko
@MNH
Kutija je od neke tiristorske regulacije brzine stropnih (po naški plafonskih) ventilatora.
A finu sam vidio i na e-bayu samo što bi moralo ići napajanje bez trafoa (plitka):
http://www.ebay.com/itm/171977890331?ss ... 1436.l2649
@Feko
Hvala, ako sebi uradiš kakvu verziju slobodno zatraži HEX specijal za tvoje potrebe....
Kutija je od neke tiristorske regulacije brzine stropnih (po naški plafonskih) ventilatora.
A finu sam vidio i na e-bayu samo što bi moralo ići napajanje bez trafoa (plitka):
http://www.ebay.com/itm/171977890331?ss ... 1436.l2649
@Feko
Hvala, ako sebi uradiš kakvu verziju slobodno zatraži HEX specijal za tvoje potrebe....
Ako kaniš pobijediti, ne smiješ izgubiti
Re: Termostat ( TX-RX ) by Ja & Feko
UH, tek sam sad vidio par greškica.
Gore na trećoj slici pored RF modula piše "RX" a u stvari treba da stoji "TX"
U petom post-u kod fajla "simulacija.zip" pominje se Protel, a u stvari je Proteus...
Gore na trećoj slici pored RF modula piše "RX" a u stvari treba da stoji "TX"
U petom post-u kod fajla "simulacija.zip" pominje se Protel, a u stvari je Proteus...
Ako kaniš pobijediti, ne smiješ izgubiti
Re: Termostat ( TX-RX ) by Ja & Feko
Svaka čast i respect za open source!
Re: Termostat ( TX-RX ) by Ja & Feko
Bravo komšija, šta drugo reći. Hvala za vrlo lijepo urađen projekat ali i za šerovanje koda, pločica i šema. Svaka čast.
P.S.
Ovo dođe k'o novogodišnji paketić
P.S.
Ovo dođe k'o novogodišnji paketić
Re: Termostat ( TX-RX ) by Ja & Feko
Hvala komšija.
Kada završiš onaj svoj home-made kotao na pelet eto ti rjesenja za upravljanje.
@Cosa
Što se otvorenog koda tiče, on je neka početna nedovršena verzija (ali radi), bez ovih daljinaca RTC-a itd.
Ovaj konačni kod (za 16F648) ću probati maximalno iskomentarisati pa ko ga želi na PM, nema problema.
Kada završiš onaj svoj home-made kotao na pelet eto ti rjesenja za upravljanje.
@Cosa
Što se otvorenog koda tiče, on je neka početna nedovršena verzija (ali radi), bez ovih daljinaca RTC-a itd.
Ovaj konačni kod (za 16F648) ću probati maximalno iskomentarisati pa ko ga želi na PM, nema problema.
Ako kaniš pobijediti, ne smiješ izgubiti
Re: Termostat ( TX-RX ) by Ja & Feko
nije lose nije lose ...
Re: Termostat ( TX-RX ) by Ja & Feko
Pozdrav, evo i moje verzije termostata. U stvari minimalne izmjene u hardveru. Predajni dio koristi smd čip 16f648 i još par smd komponeneata ostalo isto kao kod komšije. Prijemnik sam morao promijeniti zato što sam imao drugačiji rele. Sve u svemu tu su slike i eagle fajlovi pa kome se dopada neka radi kome ne neka ispravlja
Re: Termostat ( TX-RX ) by Ja & Feko
A ovo je termometar sa predajnikom:
Re: Termostat ( TX-RX ) by Ja & Feko
Niho kako su ti se pokazali ti fm predajnici\prijamnici. Ja sam nabavio jedan par al im domet 5m max
Re: Termostat ( TX-RX ) by Ja & Feko
Komšija samo da napomenem da sam ja morao sondu izbaciti potpuno van kutije sa 5-6 cm kabla (od IDE konektora).
Sa takvom izvedbom gdje je samo vrh sonde virio vani dolazilo je do njenog zagrijavanja-vjerovatno od trafoa ili LCD displaya.
Sa takvom izvedbom gdje je samo vrh sonde virio vani dolazilo je do njenog zagrijavanja-vjerovatno od trafoa ili LCD displaya.
Ako kaniš pobijediti, ne smiješ izgubiti
Re: Termostat ( TX-RX ) by Ja & Feko
Zato sam izbacio trafo i komponente koje bi se mogle grijati. Na 5 V mi rade samo rtc i kontroler i tu sam postavio lm78L05 a predajnik ide direktno na 12V. Pratim tako što sam postavio ovaj termostat uz termometar koji sam radio ranije (takođe sa ovog foruma, PIC 16F84 i četvorostruki 7segmentni led displej).
Re: Termostat ( TX-RX ) by Ja & Feko
@Black nisu loši za ovu cijenu. Napojite ih sa 12V i dodajte im male antenice od bakarne žice dužine oko 16 cm i domet je solidan. Meni fura do peći kroz 2 zida i udaljenost je gotovo 10 m.
@whitehead, imam problem sa rtc-om pokazuje tačno vrijeme nekih 5-6 sekundi nakon podešavanja i onda piše 80:80
@whitehead, imam problem sa rtc-om pokazuje tačno vrijeme nekih 5-6 sekundi nakon podešavanja i onda piše 80:80
Re: Termostat ( TX-RX ) by Ja & Feko
A nemaš više komada RTC modula da zamijeniš i vidiš jeli do njega?niho wrote: @whitehead, imam problem sa rtc-om pokazuje tačno vrijeme nekih 5-6 sekundi nakon podešavanja i onda piše 80:80
Ako kaniš pobijediti, ne smiješ izgubiti