Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

arduino centralno grejanje kontrola

[es] :: Elektronika :: Mikrokontroleri :: arduino centralno grejanje kontrola

Strane: 1 2

[ Pregleda: 5897 | Odgovora: 20 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

bobahruma
Slobodan Hornjak
ruma

Član broj: 76452
Poruke: 73
185.102.238.*



Profil

icon arduino centralno grejanje kontrola10.01.2017. u 16:09 - pre 87 meseci
Pocetnik sam u arduinu, ali sam napravio par projekata za kontrolu centralnog grejanja i pokazali su se kao uspesni i korisni, pa bi da ih podelim sa vama.


Sve ce to moj prijatelj Milan da ti objasni on je kolektor.
Lektor Ziko,lektor.
 
Odgovor na temu

beogard
Goran Kalajdžić
Vlasnik
Beogard security
Beograd (Srbija)

Član broj: 333221
Poruke: 33
*.dynamic.sbb.rs.

Sajt: www.beogard.rs


+1 Profil

icon Re: arduino centralno grejanje kontrola10.01.2017. u 16:18 - pre 87 meseci
Samo izvoli! :)
14111982
 
Odgovor na temu

bobahruma
Slobodan Hornjak
ruma

Član broj: 76452
Poruke: 73
185.102.238.*



Profil

icon Re: arduino centralno grejanje kontrola10.01.2017. u 16:23 - pre 87 meseci
Prvi projekat je za centralno grejanje na drva. Jedan kotao, dve kuce.

Problemi
1. u kuci koja je blize kotlarnici je prevruce, a u drugoj normalno.
2. ponekad se desava da zaglavi regulator promaje, zato je opasno gasiti pumpe.
3. mora da se ide u kotlarnicu da se vidi kada treba ponovo loziti.

Resenja
1. regulacija obe pumpe naspram temperature u kucama.
2. alarm pregrevanja (pali obe pumpe bez obzira na temperature u kucama i pali malu pistalicu da obavesti pregrevanje kotla)
3. LCD displej koji pokazuje temperaturu obe kuce i temperaturu vode koja izlazi iz kotla i temperaturu vode koja ulazi u kotao.
led diode pokazuju koja je pumpa trenutno upaljena



/*
korisceni pinovi:
pin 13 -
pin 12 -
pin 11 -
pin 10 -
pin 9 - OneWire DS18b20 sonda siva
pin 8 - crvena ZUTA DIODA Markova pumpa
pin 7 - plava rele Markova pumpa
pin 6 - crna ZELENA DIODA Dejanova pumpa
pin 5 - zuta rele Dejanova pumpa
pin 4 - siva CRVENA DIODA alarm pregrevanje
pin 3 - bela rele alarm pregevanje
pin 2 - buzzer

pin A5 - SCL LiquidCrystal_I2C zuta
pin A4 - SDA LiquidCrystal_I2C plava
pin A3 -
pin A2 -
pin A1 -
pin A0 -
*/
//koriscene biblioteke
#include <OneWire.h>
#include <DallasTemperature.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

float AlarmPali = 65.00; //kada da pali alarm npr80
float AlarmGasi = 60.00; //kada da gasi alarm npr70
float DejanKucaGornja = 24.00; //kada da gasi Dejanovu pumpu npr24
float DejanKucaDonja = 23.50; //kada da pali Dejanovu pumpu npr23
float MarkoKucaGornja = 23.00; //kada da gasi Markovu pumpu npr23
float MarkoKucaDonja = 22.50; //kada da pali markovu pumpu npr22

int FrekvencijaBuzzera = 2200; //frekvencija - glasnoca buzzera npr2200
int DuzinaPistanja = 500; //duzina pistanja u ms npr500
int PauzaPistanja = 3000; //duzina pauze izmadju dva pistanja u ms npr3000

// pin na koji ulaze senzori
#define ONE_WIRE_BUS 9
OneWire oneWire(ONE_WIRE_BUS);
// koriscenje dallas-a i oneWire
DallasTemperature sensors(&oneWire);

int Buzzer = 2; // pin izlaza buzzer-a
int AlarmPregrevanje = 3; //pin izlaza za alarm
int AlarmPregrevanjeLed = 4; //pin izlaza za led diodu alarma
int DejanPumpa = 5; //pin izlaza za Dejanovu pumpu
int DejanPumpaLed = 6; //pin izlaza za led diodu Dejanoe pumpe
int MarkoPumpa = 7; //pin izlaza za Markovu pumpu
int MarkoPumpaLed = 8; //pin izlaza za led diodu Markove pumpe

int AlarmPregrevanjestate;
int DejanPumpastate;
int MarkoPumpastate;

//podesavanje LCD-a 16 slova x2 reda
LiquidCrystal_I2C lcd(0x27,16,2);
//_______________________________________________________________________________________________________

void setup ()
{
//startuj serial port
Serial.begin(9600);
// startuj onewire biblioteku
sensors.begin();

//podesi pinove da budu izlazi
pinMode (Buzzer, OUTPUT);
pinMode (AlarmPregrevanje, OUTPUT);
pinMode (AlarmPregrevanjeLed, OUTPUT);
pinMode (DejanPumpa, OUTPUT);
pinMode (DejanPumpaLed, OUTPUT);
pinMode (MarkoPumpa, OUTPUT);
pinMode (MarkoPumpaLed, OUTPUT);

// pri paljenju stanje relea ugaseno
digitalWrite(AlarmPregrevanje, HIGH);
digitalWrite(DejanPumpa, HIGH);
digitalWrite(MarkoPumpa, HIGH);

lcd.init(); // analiziraj LCD

// Stampaj na LCD-u
lcd.backlight();
lcd.setCursor (3,0);
lcd.print("by bobahru");
lcd.setCursor (1,1);
lcd.print("064/412-68-66");
delay(15000); //zadrzavanje poruke pri paljenju
lcd.clear(); //ocisti LCD
}
//citanje temperature sa senzora i pretvaranje u vrednost
float sensorValue (byte deviceAddress[])
{
float tempC = sensors.getTempC (deviceAddress);
float temp = (DallasTemperature::toFahrenheit(tempC));
return temp;

delay(5000);
}
//________________________________________________________________________________________________________________

void loop ()
{
//sve vrednosti senzora
sensors.requestTemperatures();
//0,1,2,3 je broj senzora, pretvoriti u ime
float PecOdlaz = (sensors.getTempCByIndex(0));
float PecDolaz = (sensors.getTempCByIndex(1));
float DejanKuca = (sensors.getTempCByIndex(2));
float MarkoKuca = (sensors.getTempCByIndex(3));

Serial.print ("Pec Odlaz ");
Serial.println (PecOdlaz);
Serial.print ("Pec Dolaz ");
Serial.println (PecDolaz);
Serial.print ("Dejan Kuca ");
Serial.println (DejanKuca);
Serial.print ("Marko Kuca ");
Serial.println (MarkoKuca);
Serial.print ("Alarm Pregrevanje");
Serial.println (AlarmPregrevanjestate);
Serial.print ("stanje Dejanove pumpe ");
Serial.println (DejanPumpastate);
Serial.print ("stanje Markove pumpe ");
Serial.println (MarkoPumpastate);
Serial.println ("");

lcd.setCursor (0,0); //prvi red
lcd.print("D:");
lcd.setCursor (2,0);
lcd.print (DejanKuca);
lcd.setCursor (9,0);
lcd.print("M:");
lcd.setCursor (11,0);
lcd.print (MarkoKuca);
lcd.setCursor (0,1);
lcd.print("T:"); //drugi red
lcd.setCursor (2,1);
lcd.print (PecOdlaz);
lcd.setCursor (9,1);
lcd.print("H:");
lcd.setCursor (11,1);
lcd.print(PecDolaz);

//alarm pregrevanja

if (PecOdlaz >AlarmPali && AlarmPregrevanjestate ==0) {
digitalWrite(DejanPumpa,LOW); DejanPumpastate = 1;
digitalWrite(DejanPumpaLed,HIGH);
digitalWrite(MarkoPumpa,LOW); MarkoPumpastate = 1;
digitalWrite(MarkoPumpaLed,HIGH);
digitalWrite(AlarmPregrevanje,LOW); AlarmPregrevanjestate = 1;
digitalWrite(AlarmPregrevanjeLed,HIGH);
}
if (PecOdlaz <AlarmGasi && AlarmPregrevanjestate == 1) {
digitalWrite(DejanPumpa,HIGH); DejanPumpastate = 0;
digitalWrite(DejanPumpaLed,LOW);
digitalWrite(MarkoPumpa,HIGH); MarkoPumpastate = 0;
digitalWrite(MarkoPumpaLed,LOW);
digitalWrite(AlarmPregrevanje,HIGH); AlarmPregrevanjestate = 0;
digitalWrite(AlarmPregrevanjeLed,LOW);
}
//Dejan pupma
if (AlarmPregrevanjestate == 0) {
if (DejanKuca <DejanKucaDonja) {digitalWrite(DejanPumpa,LOW); DejanPumpastate = 1;
digitalWrite(DejanPumpaLed,HIGH);}
if (DejanKuca >DejanKucaGornja) {digitalWrite(DejanPumpa,HIGH); DejanPumpastate = 0;
digitalWrite(DejanPumpaLed,LOW);}
}
//Marko pupma
if (AlarmPregrevanjestate == 0) {
if (MarkoKuca <MarkoKucaDonja) {digitalWrite(MarkoPumpa,LOW); MarkoPumpastate = 1;
digitalWrite(MarkoPumpaLed,HIGH);}
if (MarkoKuca >MarkoKucaGornja) {digitalWrite(MarkoPumpa,HIGH); MarkoPumpastate = 0;
digitalWrite(MarkoPumpaLed,LOW);}
}
//komanda za buzzer
if (AlarmPregrevanjestate == 1) {
tone(Buzzer, FrekvencijaBuzzera, DuzinaPistanja);
delay(PauzaPistanja);
// noTone(2);
//delay(1000);
}

delay(1000);
}
Sve ce to moj prijatelj Milan da ti objasni on je kolektor.
Lektor Ziko,lektor.
 
Odgovor na temu

bobahruma
Slobodan Hornjak
ruma

Član broj: 76452
Poruke: 73
185.102.238.*



Profil

icon Re: arduino centralno grejanje kontrola10.01.2017. u 16:54 - pre 87 meseci
Drugi projekat je za centralno grejanje na gas.
Problemi
1. neujednacene temperature po sobama
2. u dnevnoj sobi nema radijatora nego samo FanCoil koji brzo izduva toplotu sa sebe pa duva ladno.
3. razlicite temperature su potrebne za grejanje po danu i noci

Resenje

1. regulacija ventila na sabirnici (potreban akutator iliti motoric ventila sabirnice) za svaku sobu
2. regulacija FanCoil-a da ne izduvava dok ne dobije odredjenu temperaturu na sacu
3. prekidac za rezim rada noc/dan (temperature se podesavaju odvojeno za dnevni a odvojeno za nocni rezim)
4. LCD (2004) na kom pisu sve temperature i stanje ventila za svaku sobu

Ovaj projekat je tek ugradjen kod kolege, mozda ima nekih mana ali resavacemo ih kad se pokazu.

/*
korisceni pinovi:
pin 13 -
pin 12 -
pin 11 - nema RELE Decija
pin 10 - zeleno bela BELA DIODA ventil Decija
pin 9 - NARANDzASTA OneWire DS18b20 sonda (klasican je 4.7 KoHm)
(na duzinu od 40m UTP-a otpornik 2.35 KoHm) ne ici ispod 1.2 KoHm !!!!!!!!
pune boje + & data, bele masa - (faradejev kavez)
pin 8 - nema ZUTA DIODA ventil spavaca
pin 7 - plava RELE ventil spavaca
pin 6 - nema ZELENA DIODA ventil dnevna
pin 5 - zuta RELE ventil dnevna
pin 4 - nema CRVENA DIODA kotao
pin 3 - siva RELE kotao
pin 2 - ljubicasta RELE fan coil

pin A5 - SCL LiquidCrystal_I2C zuta
pin A4 - SDA LiquidCrystal_I2C plava
pin A3 - led nocnog rezima
pin A2 - prekidac za nocni rezim (izmedju mase i data 10 KoHm)
pin A1 - greska led (redno sa plusa posle diode 220 oHm)
pin A0 -
*/
//koriscene biblioteke
#include <OneWire.h>
#include <DallasTemperature.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

float FanCoilGornja = 47; //da ne pali ventil fan coil ispod npr40
float FanCoilDonja = 43; //da ne pali ventil fan coil ispod npr40
float DnevnaGornja = 23.50; //kada da gasi ventil za dnevnu npr24
float DnevnaDonja = 23; //kada da pali ventil za dnevnu npr23
float SpavacaGornja = 22.50; //kada da gasi ventil za spavacu npr23
float SpavacaDonja = 22; //kada da pali ventil za spavacu npr22
float DecijaGornja = 3; //kada da gasi ventil za Decija npr23
float DecijaDonja = 2; //kada da pali ventil za Decija npr22
float Error = 10; //greska u citanju sondi npr10
//Nocni rezim
float FanCoilGornjaNocna = 47; //nocni da ne pali ventil fan coil ispod npr40
float FanCoilDonjaNocna = 43; //nocni da ne pali ventil fan coil ispod npr40
float DnevnaGornjaNocna = 21.50; //nocni kada da gasi ventil za dnevnu npr24
float DnevnaDonjaNocna = 21; //nocni kada da pali ventil za dnevnu npr23
float SpavacaGornjaNocna = 20.50; //nocni kada da gasi ventil za spavacu npr23
float SpavacaDonjaNocna = 20; //nocni kada da pali ventil za spavacu npr22
float DecijaGornjaNocna = 3; //nocni kada da gasi ventil za Decija npr23
float DecijaDonjaNocna = 2; //nocni kada da pali ventil za Decija npr22
float ErrorNocna = 10; //nocni greska u citanju sondi npr10

#define ONE_WIRE_BUS 9 // pin na koji ulaze senzori
OneWire oneWire(ONE_WIRE_BUS); // koriscenje dallas-a i oneWire
DallasTemperature sensors(&oneWire);

int FanCoil = 2; // pin izlaza fan coil-a
int Kotao = 3; //pin izlaza za kotao
int KotaoLed = 4; //pin izlaza za led diodu kotla
int DnevnaVentil = 5; //pin izlaza za ventil dnevne
int DnevnaVentilLed = 6; //pin izlaza za led diodu ventila dnevne
int SpavacaVentil = 7; //pin izlaza za ventil spavace
int SpavacaVentilLed = 8; //pin izlaza za led diodu ventila spavace
int DecijaVentil = 10; //pin izlaza za ventil Decija
int DecijaVentilLed = 11; //pin izlaza za led diodu ventila prizemlja
int ErrorLed = A1; //
int NocniRezim = A2; // pin nocni rezim
int NocniRezimLed = A3; // LED nocni rezim

int FanCoilState;
int DnevnaVentilState;
int SpavacaVentilState;
int KotaoState;
int DecijaVentilState;
int NocniRezimState;

LiquidCrystal_I2C lcd(0x27,20,4); //podesavanje LCD-a 20 slova x4 reda
//_______________________________________________________________________________________________________

void setup ()
{
Serial.begin(9600); //startuj serial port

sensors.begin();

//podesi pinove da budu izlazi
pinMode (FanCoil, OUTPUT);
pinMode (Kotao, OUTPUT);
pinMode (KotaoLed, OUTPUT);
pinMode (DnevnaVentil, OUTPUT);
pinMode (DnevnaVentilLed, OUTPUT);
pinMode (SpavacaVentil, OUTPUT);
pinMode (SpavacaVentilLed, OUTPUT);
pinMode (DecijaVentil, OUTPUT);
pinMode (DecijaVentilLed, OUTPUT);
pinMode (ErrorLed, OUTPUT);
pinMode (NocniRezim, INPUT);
pinMode (NocniRezimLed, OUTPUT);

// pri paljenju stanje relea ugaseno
digitalWrite(FanCoil, HIGH);
digitalWrite(Kotao, HIGH);
digitalWrite(DnevnaVentil, HIGH);
digitalWrite(SpavacaVentil, HIGH);
digitalWrite(DecijaVentil, HIGH);
//digitalWrite(GreskaLed, LOW);


lcd.init(); // analiziraj LCD
// Stampaj na LCD-u
lcd.backlight();
lcd.setCursor (2,0);
lcd.print("*made in SERBIA*");
lcd.setCursor (5,1);
lcd.print("by bobahru");
lcd.setCursor (3,2);
lcd.print("064/412-68-66");
lcd.setCursor (2,3);
lcd.print("[email protected]");
delay(15000); //zadrzavanje poruke pri paljenju
lcd.clear(); //ocisti LCD
}
//citanje temperature sa senzora i pretvaranje u vrednost
float sensorValue (byte deviceAddress[])
{
float tempC = sensors.getTempC (deviceAddress);
float temp = (DallasTemperature::toFahrenheit(tempC));
return temp;

delay(10000);
}
//________________________________________________________________________________________________________________

void loop ()
{
//sve vrednosti senzora
sensors.requestTemperatures();
//0,1,2 je broj senzora, pretvoriti u ime
float FanCoilTemp = (sensors.getTempCByIndex(0));
float DnevnaTemp = (sensors.getTempCByIndex(1));
float SpavacaTemp = (sensors.getTempCByIndex(2));
float DecijaTemp = (sensors.getTempCByIndex(3));

Serial.print ("Kotao stanje__________ ");
Serial.println (KotaoState);
Serial.println ("");
Serial.print ("Fan Coil temp ");
Serial.println (FanCoilTemp);
Serial.print ("FanCoil stanje________ ");
Serial.println (FanCoilState);
Serial.print ("Dnevna temp__ ");
Serial.println (DnevnaTemp);
Serial.print ("Dnevna ventil stanje__ ");
Serial.println (DnevnaVentilState);
Serial.print ("Spavaca temp_ ");
Serial.println (SpavacaTemp);
Serial.print ("Spavaca ventil stanje__");
Serial.println (SpavacaVentilState);
Serial.print ("Decija temp ");
Serial.println (DecijaTemp);
Serial.print ("Decija ventil stanje");
Serial.println (DecijaVentilState);
Serial.print ("Nocni rezim stanje");
Serial.println (NocniRezimState);
Serial.println ("");
Serial.println ("");
Serial.println ("");

//prvi red
lcd.setCursor (0,0);
lcd.print("Dnevna Soba:");
lcd.setCursor (13,0);
lcd.print (DnevnaTemp);
lcd.setCursor (19,0);
lcd.print(DnevnaVentilState);
//drugi red
lcd.setCursor (0,1);
lcd.print("Spavaca Soba:");
lcd.setCursor (13,1);
lcd.print (SpavacaTemp);
lcd.setCursor (19,1);
lcd.print(SpavacaVentilState);
//treci red
lcd.setCursor (0,2);
lcd.print("Decija Soba:");
lcd.setCursor (13,2);
lcd.print (DecijaTemp);
lcd.setCursor (19,2);
lcd.print(DecijaVentilState);
//cetvrti red red
lcd.setCursor (0,3);
lcd.print("Fan Coil:");
lcd.setCursor (13,3);
lcd.print(FanCoilTemp);
lcd.setCursor (19,3);
lcd.print(FanCoilState);

NocniRezimState = digitalRead(NocniRezim); // stanje prekidaca za nocni rezim 1 ili 0

//dnevni rezim (obican rezim)
if (NocniRezimState == 0)
{
{digitalWrite(NocniRezimLed,LOW);} // nocni rezim stanje led obavestenje ugaseno
//Fan Coil pali/gasi
{
if (FanCoilTemp >FanCoilGornja) {digitalWrite(FanCoil,LOW); FanCoilState = 1;}
if (FanCoilTemp <FanCoilDonja) {digitalWrite(FanCoil,HIGH); FanCoilState = 0;}
}

//Dnevna ventil pali/gasi
{
if (DnevnaTemp <DnevnaDonja) {digitalWrite(DnevnaVentil,LOW); DnevnaVentilState = 1;
digitalWrite(DnevnaVentilLed,HIGH);}
if (DnevnaTemp >DnevnaGornja) {digitalWrite(DnevnaVentil,HIGH); DnevnaVentilState = 0;
digitalWrite(DnevnaVentilLed,LOW);}
}
//Spavaca ventil pali/gasi
{
if (SpavacaTemp <SpavacaDonja) {digitalWrite(SpavacaVentil,LOW); SpavacaVentilState = 1;
digitalWrite(SpavacaVentilLed,HIGH);}
if (SpavacaTemp >SpavacaGornja) {digitalWrite(SpavacaVentil,HIGH); SpavacaVentilState = 0;
digitalWrite(SpavacaVentilLed,LOW);}
}
//Decija ventil pali/gasi
{
if (DecijaTemp <DecijaDonja) {digitalWrite(DecijaVentil,LOW); DecijaVentilState = 1;
digitalWrite(DecijaVentilLed,HIGH);}
if (DecijaTemp >DecijaGornja) {digitalWrite(DecijaVentil,HIGH); DecijaVentilState = 0;
digitalWrite(DecijaVentilLed,LOW);}
}
//Komanda za kotao, bilo koji ventil da je upaljen upali i kotao
{
if ((DnevnaVentilState) || (SpavacaVentilState) || (DecijaVentilState))
{digitalWrite(Kotao,LOW); KotaoState = 1;
digitalWrite(KotaoLed,HIGH);}
else
{digitalWrite(Kotao,HIGH); KotaoState = 0;
digitalWrite(KotaoLed,LOW);}
}
}
// nocni rezim
if (NocniRezimState == 1)
{
{digitalWrite(NocniRezimLed,HIGH);} // nocni rezim stanje led obavestenje upaljeno
//Fan Coil pali/gasi
{
if (FanCoilTemp >FanCoilGornjaNocna) {digitalWrite(FanCoil,LOW); FanCoilState = 1;}
if (FanCoilTemp <FanCoilDonjaNocna) {digitalWrite(FanCoil,HIGH); FanCoilState = 0;}
}

//Dnevna ventil pali/gasi
{
if (DnevnaTemp <DnevnaDonjaNocna) {digitalWrite(DnevnaVentil,LOW); DnevnaVentilState = 1;
digitalWrite(DnevnaVentilLed,HIGH);}
if (DnevnaTemp >DnevnaGornjaNocna) {digitalWrite(DnevnaVentil,HIGH); DnevnaVentilState = 0;
digitalWrite(DnevnaVentilLed,LOW);}
}
//Spavaca ventil pali/gasi
{
if (SpavacaTemp <SpavacaDonjaNocna) {digitalWrite(SpavacaVentil,LOW); SpavacaVentilState = 1;
digitalWrite(SpavacaVentilLed,HIGH);}
if (SpavacaTemp >SpavacaGornjaNocna) {digitalWrite(SpavacaVentil,HIGH); SpavacaVentilState = 0;
digitalWrite(SpavacaVentilLed,LOW);}
}
//Decija ventil pali/gasi
{
if (DecijaTemp <DecijaDonjaNocna) {digitalWrite(DecijaVentil,LOW); DecijaVentilState = 1;
digitalWrite(DecijaVentilLed,HIGH);}
if (DecijaTemp >DecijaGornjaNocna) {digitalWrite(DecijaVentil,HIGH); DecijaVentilState = 0;
digitalWrite(DecijaVentilLed,LOW);}
}
//Komanda za kotao, bilo koji ventil da je upaljen upali i kotao
{
if ((DnevnaVentilState) || (SpavacaVentilState) || (DecijaVentilState))
{digitalWrite(Kotao,LOW); KotaoState = 1;
digitalWrite(KotaoLed,HIGH);}
else
{digitalWrite(Kotao,HIGH); KotaoState = 0;
digitalWrite(KotaoLed,LOW);}
}
}

// komanda za gresku u sondama, neispravno citanje sondi temperatura manja od ERROR zadata na pocetku petlje
{
if ((SpavacaTemp <Error) || (FanCoilTemp <Error) || (DecijaTemp <Error) || (DnevnaTemp <Error))
{digitalWrite(ErrorLed,HIGH);}
}

delay(1000);
}
Sve ce to moj prijatelj Milan da ti objasni on je kolektor.
Lektor Ziko,lektor.
 
Odgovor na temu

bobahruma
Slobodan Hornjak
ruma

Član broj: 76452
Poruke: 73
185.102.238.*



Profil

icon Re: arduino centralno grejanje kontrola10.01.2017. u 16:59 - pre 87 meseci
zaboravio sam da kazem koriscen arduino uno (sve lepo staje u njega) i sonde ds18b20

Sve ce to moj prijatelj Milan da ti objasni on je kolektor.
Lektor Ziko,lektor.
 
Odgovor na temu

pena2008
nezaposlen

Član broj: 171603
Poruke: 46
*.dsl.iskon.hr.



+3 Profil

icon Re: arduino centralno grejanje kontrola29.01.2017. u 16:19 - pre 87 meseci
Jako zanimljivo.
 
Odgovor na temu

pena2008
nezaposlen

Član broj: 171603
Poruke: 46
*.dsl.iskon.hr.



+3 Profil

icon Re: arduino centralno grejanje kontrola29.01.2017. u 16:40 - pre 87 meseci
Jako zanimljivo i kako se pokazalo u praksi.
 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4541



+710 Profil

icon Re: arduino centralno grejanje kontrola29.01.2017. u 16:43 - pre 87 meseci
@bobahruma

Koristi [code] tagove kad kačiš kod. Takođe, preporučujem da okačiš kod na github, da bi olakšao ljudima da ga koriste.
 
Odgovor na temu

bobahruma
Slobodan Hornjak
ruma

Član broj: 76452
Poruke: 73
185.102.238.*



Profil

icon Re: arduino centralno grejanje kontrola29.01.2017. u 21:19 - pre 87 meseci
Nije jos savrseno.
Postoje problemi sa duzinom utp-a od sondi kada ide blizu naponskih vodova (nije strasno ali ponekad preskoci ocitavanje jedne sonde).
Dok se ne postavi na lice mesta ne zna se sta ce biti sa podacima koji dolaze sa sondi.
Odlucio sam to da resim sa jos jednim arduinom (nano) koji ce da salje temperature od najudaljenijih sondi preko serial porta. Videcemo kako ce se Serial veza ponasati na tu duzinu pored naponskih vodova.
Uskoro cu postaviti i taj kod.
Inace kod radi odlicno pomogao je oko kontrole temperature.
Ako iko razmislja o kontroli centralnog grejanja pomocu arduina, tu sam da pomognem.

Sve ce to moj prijatelj Milan da ti objasni on je kolektor.
Lektor Ziko,lektor.
 
Odgovor na temu

JECHAM
Odrzavanje visokog napona
Smederevo

Član broj: 13031
Poruke: 742
*.dynamic.isp.telekom.rs.



+8 Profil

icon Re: arduino centralno grejanje kontrola30.01.2017. u 22:29 - pre 87 meseci
Može li nešto od ovoga da pokrece motor na mešnom ventilu i tako reguliše temperaturu vode ka radijatorima?

Commo Compact 23
četvorokraki mešni ventil sa motorom i priručnom elektronikom
 
Odgovor na temu

bobahruma
Slobodan Hornjak
ruma

Član broj: 76452
Poruke: 73
185.102.238.*



Profil

icon Re: arduino centralno grejanje kontrola30.01.2017. u 22:44 - pre 87 meseci
Kakav motor na ventilu imas?
Sve ce to moj prijatelj Milan da ti objasni on je kolektor.
Lektor Ziko,lektor.
 
Odgovor na temu

mali genije
servis gasnih kotlova

Član broj: 104246
Poruke: 1639
*.static.madnet.rs.



+86 Profil

icon Re: arduino centralno grejanje kontrola31.01.2017. u 09:30 - pre 87 meseci
Citat:
bobahruma:
zaboravio sam da kazem koriscen arduino uno (sve lepo staje u njega) i sonde ds18b20

Bilo bi lepo da okacis sliku da vidimo kako to izgleda i meni treba takvo resenje kod mene.
Pozzz
 
Odgovor na temu

JECHAM
Odrzavanje visokog napona
Smederevo

Član broj: 13031
Poruke: 742
*.dynamic.isp.telekom.rs.



+8 Profil

icon Re: arduino centralno grejanje kontrola31.01.2017. u 13:33 - pre 87 meseci
Citat:
bobahruma:
Kakav motor na ventilu imas?

Imam Seltron AVC05 220v 120sekundi.
Nije mi problem hardverski deo(izlazi arduina na optocupler ili neki tranzistor, pa reley ili triac)

Commo Compact 23
četvorokraki mešni ventil sa motorom i priručnom elektronikom
 
Odgovor na temu

veselinovic
Jovan Veselinovic
Ist. Sarajevo

Moderator
Član broj: 7761
Poruke: 3860
ns1.eltakabel.net.



+333 Profil

icon Re: arduino centralno grejanje kontrola31.01.2017. u 14:19 - pre 87 meseci
Citat:
bobahruma:
Nije jos savrseno.
Postoje problemi sa duzinom utp-a od sondi kada ide blizu naponskih vodova (nije strasno ali ponekad preskoci ocitavanje jedne sonde).
Dok se ne postavi na lice mesta ne zna se sta ce biti sa podacima koji dolaze sa sondi.
Odlucio sam to da resim sa jos jednim arduinom (nano) koji ce da salje temperature od najudaljenijih sondi preko serial porta. Videcemo kako ce se Serial veza ponasati na tu duzinu pored naponskih vodova.
Uskoro cu postaviti i taj kod.
Inace kod radi odlicno pomogao je oko kontrole temperature.
Ako iko razmislja o kontroli centralnog grejanja pomocu arduina, tu sam da pomognem.


Nano i obavezno 485 protokol.
Ili da pribjegnes softverskom rjesenju.
Kako je sistem grijanja veoma inertan to se nista strasno nece desiti ako mjerenje ponovis 100-tinjak puta ( recimo 128)
i nadjes srednju vrijednost, a prije toga odbacis potpuno sulude reultate.
 
Odgovor na temu

bobahruma
Slobodan Hornjak
ruma

Član broj: 76452
Poruke: 73
185.102.238.*



Profil

icon Re: arduino centralno grejanje kontrola31.01.2017. u 15:05 - pre 87 meseci
Citat:
JECHAM:
Imam Seltron AVC05 220v 120sekundi.
Nije mi problem hardverski deo(izlazi arduina na optocupler ili neki tranzistor, pa reley ili triac)


Vidim da nije los motor ima raznih kombinacija. Mogao bi sa arduinom da kontrolises rad motora.
Koju temperaturu bi konkretno da meris? u sistemu ili u prostorijama? Kod za ovo ne bi trebalo da bude komplikovan. Okaci sliku kontakata motora i semu koju si dobio uz motor, pa cemo videti sta treba da se uradi.
Sve ce to moj prijatelj Milan da ti objasni on je kolektor.
Lektor Ziko,lektor.
 
Odgovor na temu

bobahruma
Slobodan Hornjak
ruma

Član broj: 76452
Poruke: 73
185.102.238.*



Profil

icon Re: arduino centralno grejanje kontrola31.01.2017. u 15:22 - pre 87 meseci
Citat:
mali genije:
Bilo bi lepo da okacis sliku da vidimo kako to izgleda i meni treba takvo resenje kod mene.
Pozzz


Evo slika u upload-u



Sve ce to moj prijatelj Milan da ti objasni on je kolektor.
Lektor Ziko,lektor.
Prikačeni fajlovi
 
Odgovor na temu

bobahruma
Slobodan Hornjak
ruma

Član broj: 76452
Poruke: 73
185.102.238.*



Profil

icon Re: arduino centralno grejanje kontrola31.01.2017. u 15:43 - pre 87 meseci
Citat:
veselinovic:

Nano i obavezno 485 protokol.
Ili da pribjegnes softverskom rjesenju.
Kako je sistem grijanja veoma inertan to se nista strasno nece desiti ako mjerenje ponovis 100-tinjak puta ( recimo 128)
i nadjes srednju vrijednost, a prije toga odbacis potpuno sulude reultate.


Docicemo i do 485 protokola, hteo sam sto manje da komplikujem izradu.

Kod mene radi super jedan arduino i cetiri sonde
Kod kolege imamo problem zbog smetnji, i sad cemo probati serial komunikaciju.
Sledece sto cu probati je 485 protokol pa zatim neki wireless. Za sve to treba vremena i naravno opreme i dosta ispitivanja (bez tri-cetiri dana na stolu ne postavljam nista na lice mesta).

Sto se tice netacnih rezultata, to sam vec izbacio, ali onda se desava da se npr. temperatura dnevne pojavi na mestu spavace(znaci nije u pitanju netacno ocitavanje nego lepo preskoci jednu sondu i sve se temp. izmesaju). I za ovo ima resenje, zakucas sonde sa mac adresom, ali onda je komplikovano nekom ko se bas toliko ne razume da promeni sondu u slucaju crkavanja iste.
Sve ce to moj prijatelj Milan da ti objasni on je kolektor.
Lektor Ziko,lektor.
 
Odgovor na temu

JECHAM
Odrzavanje visokog napona
Smederevo

Član broj: 13031
Poruke: 742
*.dynamic.isp.telekom.rs.



+8 Profil

icon Re: arduino centralno grejanje kontrola31.01.2017. u 19:34 - pre 87 meseci
Citat:
bobahruma:

Vidim da nije los motor ima raznih kombinacija. Mogao bi sa arduinom da kontrolises rad motora.
Koju temperaturu bi konkretno da meris? u sistemu ili u prostorijama? Kod za ovo ne bi trebalo da bude komplikovan. Okaci sliku kontakata motora i semu koju si dobio uz motor, pa cemo videti sta treba da se uradi.


Za pokretanje motora trebaju 2 releja ili 2 triaca, jer svaki smer(levo ili desno) ima svoju žicu

Merio bi sve temperature oko četvorokrakog ventila(4 sonde) i spoljnu i sobnu(još 2 sonde).
Postoji verzija Una sa 8 analognih ulaza(A0-A7) i ostaju 2 za i2c vezu sa LCD-om,
ili ako je običan UNO koristiti samo 4 temperature(polaz od kotla,polaz ka radijatorima, sobna i spoljna
Koristio bi LM35 kao senzore i svaki na analogni ulaz(strujna petlja)
http://www.elitesecurity.org/t494245-Arduino-merenje-temperature

Motorić bi trebao da reguliše polaz ka radijatorima(1 sonda LM35), zavisno od
-zadata temperatura polaza(najosnovnija verzija koja ne prati sobnu i spoljnu temperaturu.)
-da prati spoljnu temperaturu i na osnovu toga podešava polaznu
- da prati spoljnu i sobnu i tako koriguje polaz(najjača verzija)

Commo Compact 23
četvorokraki mešni ventil sa motorom i priručnom elektronikom
Prikačeni fajlovi
 
Odgovor na temu

bobahruma
Slobodan Hornjak
ruma

Član broj: 76452
Poruke: 73
185.102.238.*



Profil

icon Re: arduino centralno grejanje kontrola31.01.2017. u 22:52 - pre 87 meseci
Ja bi za pocetak krenuo od najjednostavnije varijente ( -zadata temperatura polaza(najosnovnija verzija koja ne prati sobnu i spoljnu temperaturu.) ) pa polako dogradjivao.
Ako tek pocinjes sa pisanjem koda za centralno, mogu ti pomoci oko osnovne varijante. Za onu najjacu verziju treba dosta vremena i testiranja na stolu.

P.S. za cega su kontakti 4,5,6? (sta njih kontrolise, mozda kada motor dodje u jednu stranu do kraja, da ga neko (nesto) ugasi da ne bi izgoreo od opterecenja)? -samo predpostavka-
Sve ce to moj prijatelj Milan da ti objasni on je kolektor.
Lektor Ziko,lektor.
 
Odgovor na temu

mzm
Trstenik

Član broj: 93084
Poruke: 100
*.dynamic.sbb.rs.



Profil

icon Re: arduino centralno grejanje kontrola25.02.2017. u 12:06 - pre 86 meseci
Pinovi 4,5,6 sluze za ukljucenje pumpe kada pocne otvaranje ventila i suprotno.
 
Odgovor na temu

[es] :: Elektronika :: Mikrokontroleri :: arduino centralno grejanje kontrola

Strane: 1 2

[ Pregleda: 5897 | Odgovora: 20 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.