Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Jante noi shitbox

Trinitas TV 4K

Dacia 1316 cu 6 usi ...

Frecventa modificata radio
 Un nou pericol pt batrani

Ar trebuii sa vindem imobiliarele...

Dupa renuntarea la aparat dentar

pelerinaj in Balcik
 Noul format Jpegli iși propu...

Dade, dade

Probleme accesare nr test telefon

Parola la lock screen
 Deparazitare externa pisici fara ...

Seriale turcesti/coreene online H...

Merita un Termostat Smart pentru ...

Sfat achizitie MTB Devron Riddle
 

Arduinizare pompe de caldura

- - - - -
  • Please log in to reply
101 replies to this topic

#37
florin71_skoda

florin71_skoda

    Guru Member

  • Grup: Banned
  • Posts: 18,070
  • Înscris: 02.01.2008

 kolfleading, on 07 martie 2018 - 18:19, said:

Si ajungem iarasi in regim on-off...
Pai nu ajungi daca puterea de 30% este mai mica decit necesarul casei.

 kolfleading, on 07 martie 2018 - 18:19, said:

Curba de termoreglare (temp. tur in functie de temp. ext) este o banala interpolare liniara, o functie de gradul I, pe care ar trebui s-o poata implementa si un elev de liceu. ...

Pai daca este banala, tu o sti baga intr-un cod Arduino ?

-----.
Mie mi se pare mult mai simplu sa zic IF T<32grd alimenteaza releu 1, 2 si 3 ca sa mergi pe 100%, iar cind 32<T<32,5 alimenteaza doar releu 1 si 2 ca sa mergi pe 88%. Mie personal mi se pare mult mait mai simplu cu IF si Else, decit sa implementez ce stie un elev de liceu sa deseneze cu pixul pe o foaie de hirtie. Pe foaie de hirtie stiu si eu, insa in Arduino nu stiu deocamdata sa desenez. (banuiesc ca eu deocamndata sint la gradinita si ma rezum la ce stiu)

#38
blimpyway

blimpyway

    Senior Member

  • Grup: Senior Members
  • Posts: 7,954
  • Înscris: 03.11.2005

 kolfleading, on 07 martie 2018 - 15:49, said:

Deja am ajuns la o contradictie:
Tu zici "cat mai repede", clientul zice "sa scoata un consum optim".
Ce zici tu e foarte corect, poate e mai bine o solutie cat mai simpla a.i. sa fie cat mai siguri ca putem duce la capat proiectul.
Dar, daca ma apuc de treaba cred ca eu sunt ala in masura sa apreciez ce e complicat si ce nu dpdv al programarii.
Aici e complicatia, un senzor de temperatura in plus e 2euro + sarme si toti senzorii necesita un singur pin si cam aceleasi resurse de memorie pe arduino (aceasi biblioteca poate citi si 1 senzor sau 10).

Altfel contradictia nu e intre ce zic eu si ce zice clientul, fii sigur ca e tot clientul ala care zice "vreau comfort maxim si facturi minime", adica e contradictia sa care trebuie desigur sa stabilim impreuna unde va fi compromisul.

Quote

Pentru primele doua versiuni, lasa omul sa decida ce inseamna "mult" sau "prea mult".

Da, dar uite un exemplu unde decizia "prescrisa" in controler e mai buna decat decizia omului:
Cazul A:
Vine omul acasa obosit e frig si i se rupe daca in urmatoarea ora va cheltui <1 leu in plus la curent cat inseamna un kwh in plus cu un COP mai firav.. el vrea sa se relaxeze cat mai repede la televizor.

Deci zice "Decid sa maresc temperatura pe tur" - se duce, meniu, butoneaza, muta pe 45 in loc de 35 de grade. "Ba stai, mai bine 48 ca ma grabesc".  Isi pune sa mance, se intinde in canapea la televizor, intr-o juma de ora se face caldut si.. care crezi ca va fi reactia sa "Decid sa dau termostatul la 35 de grade sa optimizez consumul" sau "decid sa atipesc pe cantecele de la Vocea Romaniei" iar peste trei zile "aoleu, decid ca am uitat de temperatura de pe tur stai sa-mi dau doua palme"

Cazul B:
Ajunge  prima sotia omului intr-o casa rece si aplica algoritmul "Am dat termostatu la 30 de grade de o juma de ora..tot e frig, nu stiu cum sa butonez parascovenia aia, deci decid sa pun mana pe telefon si sa-l boscorodesc pa ametitu de barbatu-meu sa se invete minte cu pompa lui cu tot"
---------------
Solutia (nu zic ca asta o sa fie, doar o idee, care e inteligibila si pentru babele care stiu sa citeasca) - un buton MARE, rosu, cu eticheta "Mi-e FRIG!"  - pe care cu cat apesi mai insistent  cu atat creste puterea pompei mai mult si pe o perioada mai lunga.

Adica apesi o data ridici o treapta pentru 15 minute, apesi de 2 ori ridici inca o treapta pentru inca 15 minute, samd pana fie expira minutele respective fie  termostatu zice "suficient" si revii la temperatura de economie.

Edited by blimpyway, 07 March 2018 - 19:03.


#39
florin71_skoda

florin71_skoda

    Guru Member

  • Grup: Banned
  • Posts: 18,070
  • Înscris: 02.01.2008

 blimpyway, on 07 martie 2018 - 18:47, said:

Adica apesi o data ridici o treapta pentru 15 minute, apesi de 2 ori ridici inca o treapta pentru inca 15 minute, samd pana fie expira minutele respective fie  termostatu zice "suficient" si revii la temperatura de economie.

Adica cam la fel cu ce zicem eu ca faceau centralele Bereta Ciao cu 18 ani in urma.

#40
mihaicozac

mihaicozac

    Guru Member

  • Grup: Senior Members
  • Posts: 15,596
  • Înscris: 05.12.2005

 kolfleading, on 07 martie 2018 - 18:19, said:

Aici gresesti.
Ceea ce propui tu este un regulator de tip P - Proportional.
Regulatorul de tip P are marele dezavantaj ca functioneaza cu statism (eroare de reglare permanenta).
La regulatorul de tip P, cand temperatura pe tur ajunge la valoarea setata, eroarea de reglare este zero => comanda oprirea PDC.
Si ajungem iarasi in regim on-off...

Solutia corecta este un regulator de tip PI, iar acesta nu este chiar banal de implementat...
Regulatorul de tip PI are componenta integratoare I care actioneaza ca un fel de memorie si care tine minte cum a reactionat sistemul in ultimele secunde sau minute si calculeaza exact cat trebuie sa fie puterea ceruta de la PDC, sa mentina temperatura pe tur (in masura in care puterea necesara este in domeniul de modulare al pompei). Cu alte cuvinte, regulatorul PI poate sa egalizeze necesarul de caldura cu puterea ceruta de la PDC.

https://en.wikipedia.../PID_controller
http://controlguru.c...and-pi-control/


Aici iarasi gresesti.
Curba de termoreglare (temp. tur in functie de temp. ext) este o banala interpolare liniara, o functie de gradul I, pe care ar trebui s-o poata implementa si un elev de liceu. Dar curba asta iti da doar temperatura tur, iar valoarea asta trebuie s-o bagi mai departe ca setpoint in regulatorul PI.
Algoritmul de reglare proporţional e banal de simplu, se face gen Err = Tset - Tact. Apoi o funcţie map () care translatează domeniul Err în 8 valori discrete 0-7, urmat de o funcţie switch case(Err) unde funcţie de valoarea 0-7 se trimit HHL sau LLH sau etc. la 3 ieşiri digitale care merg în continuare la pompă.

Centrala mea pe motorină Viessman are 2 parametri de reglaj "slope" şi "offset" care modifică temperatura de tur în funcţie de temperatura exterioară şi cea presetată. În fond casa pierde căldura aproximativ liniar cu diferenţa de temperatură interior-exterior, ca urmare la dublarea diferenţei se dublează şi necesarul de energie.

Cât priveşte pericolul ca să se uite încălzirea la maximum, se poate prevedea o funcţie "Shock" care să dea în blană încălzirea până la prima atingere a valorii presetate şi care să se reseteze automat la prima atingere a acestei valori.

Edited by mihaicozac, 07 March 2018 - 19:07.


#41
blimpyway

blimpyway

    Senior Member

  • Grup: Senior Members
  • Posts: 7,954
  • Înscris: 03.11.2005

 mihaicozac, on 07 martie 2018 - 19:05, said:

Algoritmul de reglare proporţional e banal de simplu, se face gen Err = Tset - Tact. Apoi o funcţie map () care translatează domeniul Err în 8 valori discrete 0-7, urmat de o funcţie switch case(Err) unde funcţie de valoarea 0-7 se trimit HHL sau LLH sau etc. la 3 ieşiri digitale care merg în continuare la pompă.
Da, cu micul amanunt ca cei trei "biti" ai pompei incep de la 1/3 nu de la 1/8 ...

Quote

Centrala mea pe motorină Viessman are 2 parametri de reglaj "slope" şi "offset" care modifică temperatura de tur în funcţie de temperatura exterioară şi cea presetată. În fond casa pierde căldura aproximativ liniar cu diferenţa de temperatură interior-exterior, ca urmare la dublarea diferenţei se dublează şi necesarul de energie.
Cred ca aceasta "panta" ajustabila impreuna cu variatia proportionala explicata mai sus e aproape daca nu are chiar acelasi efect cu un algoritm Proportional Integral.

Quote

Cât priveşte pericolul ca să se uite încălzirea la maximum, se poate prevedea o funcţie "Shock" care să dea în blană încălzirea până la prima atingere a valorii presetate şi care să se reseteze automat la prima atingere a acestei valori.
Dap, asta e una din cele mai utile chestii. Ceva cat mai clar si vizibil sa fie usor de priceput pentru toata familia.

#42
Moisescualex82

Moisescualex82

    Member

  • Grup: Members
  • Posts: 282
  • Înscris: 05.11.2017
In fine , pana una alta eu zic ca solutiile simple sunt cele mai bune . Referitor la ce a zis Florin ca vrem avioane la €110 , cand am fost invitati aici , am crezut ca doar ne expunem niste pareri/idei/dorinte pe care le avem de la acest model de pompa si in ce masura ele pot fi si realizate si cu ce costuri eventual , faptul ca a aparut o suma intre timp se datoreaza faptului ca atat a fost cineva dispus sa accepte pentru a face un controller pentru aceasta pompa , nu a insinuat nimeni ca tu sau altcineva trebuie sa faca ceva pentru acea suma .

Ca sa nu lungesc discutia , raman la aceleasi dorinte legat de pompa si ceva in plus .

1. Sa pot folosi si functia de racire pe timp de vara
2. Sa pot sa am si apa calda chiar daca eu setez temperatura pe tur la 35°c , aici banuiesc ca solutia este o vana cu 3 cai .
3. Aici sa fiu clar , pompa sa mearga la 100% capacitate pana ajunge la temperatura setata in TA si pe urma nu sa se opreasca ci sa moduleze puterea ca sa mentina acea temperatura cu un consum optim de energie
4. Sa o pot controla si manual , adica sa setez eu o temperatura pe tur si pompa sa mentina acea temperatura constanta +- 2°c  

Este realizabil cea ce vreau eu ?
Daca este , cat ar costa o asemenea solutie ?

Va multumesc la toti .

Edited by Moisescualex82, 07 March 2018 - 21:00.


#43
kolfleading

kolfleading

    Born to Raise Hell

  • Grup: Senior Members
  • Posts: 19,987
  • Înscris: 01.03.2013

 florin71_skoda, on 07 martie 2018 - 18:46, said:

Mie mi se pare mult mai simplu sa zic IF T<32grd alimenteaza releu 1, 2 si 3 ca sa mergi pe 100%, iar cind 32<T<32,5 alimenteaza doar releu 1 si 2 ca sa mergi pe 88%.
Tu aici discuti despre un regulator P, pentru temperatura agentului termic.

 mihaicozac, on 07 martie 2018 - 19:05, said:

Algoritmul de reglare proporţional e banal de simplu, se face gen Err = Tset - Tact. Apoi o funcţie map () care translatează domeniul Err în 8 valori discrete 0-7, urmat de o funcţie switch case(Err) unde funcţie de valoarea 0-7 se trimit HHL sau LLH sau etc. la 3 ieşiri digitale care merg în continuare la pompă.
Algoritmul P nu e suficient de bun pentru aceasta aplicatie.
Algoritmul P impune ca puterea ceruta sa fie proportionala cu eroarea de reglare.

Pe masura ce Tact se apropie de Tset, puterea ceruta scade.

Dar in procesele de incalzire, pe masura ce cresti temperatura agentului termic, puterea pe care o disipa caloriferul sau pardoseala, creste.

Daca necesarul casei este mai mare decat treapta minima a regulatorului, atunci sistemul se va "agata" pe o treapta inferioara si Tact nu va ajunge niciodata la Tset. Aceasta eroare permanenta se numeste statism si este un "defect" specific regulatoarelor de tip P.

Daca totusi Tact atinge Tset, atunci Err = 0 => puterea ceruta va fi 0 si va avea ca efect oprirea pompei. Si astfel ajungem in regimul on-off, pe care incercam sa-l evitam.

Simplificat, un regulator P functioneaza cam asa:
  • daca nu exista eroare, nu exista comanda.
  • daca exista comanda, inseamna ca inca exista eroare.

Astfel, un regulator P nu se poate "cala" pe necesarul casei.

Algoritmul PI nu are statism, poate sa aduca temperatura la valoarea prescrisa si sa mentina UE in functionare continua, fara cicluri on-off si fara eroare permanenta.

 florin71_skoda, on 07 martie 2018 - 18:46, said:

Pai daca este banala, tu o sti baga intr-un cod Arduino ?
Nu stiu sintaxa lui Arduino, dar lucrez ca programator C / C++ pe sisteme embedded pentru automatizari industriale.

Utilizatorul specifica T1 = temperatura dorita pentru agentul termic la -15 C exterior.
Utilizatorul specifica T2 = temperatura dorita pentru agentul termic la +15 C exterior.
In functie de T1, T2 si temperatura exterioara actuala temp_ext, calculam temperatura dorita pentru agentul termic:

if temp_ext < (-15) then
  setpoint = T1;
else if temp_ext > (+15) then
  setpoint = T2;
else
  panta = (T2 - T1) / 30;
  setpoint = T1 + panta * (temp_ext - (-15));
endif


Acum, setpoint devine valoarea prescrisa, temperatura tinta a agentului termic pentru regulatorul PI.

Am aplicat ecuatia analitica a unei drepte:
y = y0 + panta * (x - x0)
Noi cunoastem un punct de pe dreapta, (x0, y0) si panta dreptei.
Astfel, putem calcula coordonata y a oricarui punct de pe dreapta, stiind coordonata x.

Edited by kolfleading, 07 March 2018 - 21:45.


#44
blimpyway

blimpyway

    Senior Member

  • Grup: Senior Members
  • Posts: 7,954
  • Înscris: 03.11.2005
kolfleading, ce spui e cu cap.  Arduino se programeaza tot in C (C++ daca vrei). Aproape sigur e mai usor de lucrat cu el decat cu alte controlere, din cateva motive.
1. sunt o gramada de utilizatori seriosi si copii care se joaca cu el si fac ... multe trasnai, cam ce tot iti poti imagina sa ceri de la un microcontroler cu limitarile sale. Poate asta nu-i un motiv dar e un indiciu ca merita.
2. Interfata utilizator free si prietenoasa (mediul de programare merge pe orice PC cu un port USB)
3. Aia multi utilizatori de multi anisori inseamna o baza imensa de biblioteci existenta free.. ce vrei matale, gps, accelerometre si magnetometre, senzori de gaze, rangere de ultrasunete.
De ex. imediat am gasit biblioteca cu algoritm PID implementat, problema mea nu e sa scriu un algoritm PID ci cum sa-l folosesc.
4. Bineinteles ca bibliotecile nu ar fi daca nu s-ar gasi o gramada de senzori, ecranele si alte periferice cu care acestia sa lucreze. Datorita masivei piete, acestia sunt tot mai ieftini.

-------
Moisescualex, referitor la plata. Ce discutam acum e design de produs. Nu o fi el industrial, dar e destula munca pe o problema cu care eu nu m-am intalnit pana acuma. Va fi timp, incercari, modificari si reincercari Nu vreau sa fac o afacere pentru ca sunt constient ca daca se pune problema in termeni de cat costa sa creezi un nou produs nu ajungem sa facem ceva. Deci in ce ma priveste, hai sa zic ca in momentul asta interesul e "academic". Nu tarifez prototipul.
Daca va fi sa iasa ceva util pentru unul din voi (prima instalare), decideti voi daca si cat merita rasplatita. Feedback-ul vostru imi va spune daca am pierdut vremea sau am sanse sa colaborez pe viitor cu altii la modul ... profesional.  Si in functie de rezultat voi continua sau ma voi lasa ca a fost o idee paguboasa.

Daca tie (voua) vi se pare corect asa incep sa studiez mai profund problema. Nu stiu ceilalti ca vad ca nu au comunicat prea mult. Daca nu vreti sa vorbim detalii aici, imi ziceti pe mesaj privat.

Sa nu uit, foarte important - stiu ca voi avea nevoie sa am acces sa vad eu o pompa din asta, Bucuresti sau vecinatati ar face lucrurile mult mai usoare. Din proprie experienta stiu ca "teleghidarea" prin telefon, mesagerie sau skype e foarte dificila.

#45
valceanuraoul

valceanuraoul

    Active Member

  • Grup: Members
  • Posts: 1,564
  • Înscris: 19.12.2009
Buna seara,
Eu sunt unul din cei 2 interesați din povestea lui Alex Moisescu.
Sincer, cred ca acest tipic este un pic prea stufos pentru cunoștințele mele in electronica.
Asa ca vin cu o intrebare: este dispus cineva sa realizeze contra cost un controler pentru IVT Ecolane aer apa? Ma intereseaza, ca acest controler sa realizeze modularea pompei de căldură în funcție de temperatura mediu ambiant cerută de termostat. Adica, daca eu vrei ca in casa sa de dea termostatul pe 20.5°C, pompa sa modduleze puterea pentru a obține e pe tur 35°C. Si sa faca asta atât în regim de incalzire, cât și răcire.
Va multumesc mult.

Edited by valceanuraoul, 08 March 2018 - 08:07.


#46
TheWarrior

TheWarrior

    Senior Member

  • Grup: Senior Members
  • Posts: 3,065
  • Înscris: 16.10.2007

 blimpyway, on 07 martie 2018 - 23:06, said:

Nu o fi el industrial, dar e destula munca pe o problema cu care eu nu m-am intalnit pana acuma. Va fi timp, incercari, modificari si reincercari Nu vreau sa fac o afacere pentru ca sunt constient ca daca se pune problema in termeni de cat costa sa creezi un nou produs nu ajungem sa facem ceva. Deci in ce ma priveste, hai sa zic ca in momentul asta interesul e "academic". Nu tarifez prototipul.
Sa aducem aminte acum pt cei ce nu cunosc, important pt orice automat, sa aiba implementata o functie tip watchdog.
Banuiesc ca acest Arduino dispune de astfel de functie.

E nevoie de o siguranta in exploatare, chiar daca e folosit in regim casnic si realizarea (pt inceput) in genul schemelor din Minitehnicus.

#47
dexterash

dexterash

    --something---

  • Grup: Senior Members
  • Posts: 22,912
  • Înscris: 19.08.2004
Oricum pe micii DIY nu ii intereseaza. Certificarile sunt pentru producatori (de unde si preturile 'diferite'). In regim DIY/China/necertificat sunt toti constienti de riscurile la care se expun - de la incendii la diverse. Si ei stiu aceste lucruri si familiile/copiii lor, astfel ca nu este o problema sau, poate, este o chestiune inteleasa si acceptata de toata familia.

Edited by dexterash, 08 March 2018 - 09:25.


#48
mihaicozac

mihaicozac

    Guru Member

  • Grup: Senior Members
  • Posts: 15,596
  • Înscris: 05.12.2005
Problema s-ar simplifica foarte mult dacă s-ar cunoaşte necesarul termic al clădirii, în cazul ăsta calculul puterii ar fi în mare parte doar o funcţie determinată de temperatura exterioară.  De ex. la mine am calculat un necesar energetic de 110W/K, adică la 0C afară şi 22C la interior necesarul de energie este de 2,32kW. Dacă bag această constantă în calculul reglării în principiu nu ar mai trebui decât să citesc temperatura exterioară ca să am o valoare corectă a puterii necesare.

#49
kolfleading

kolfleading

    Born to Raise Hell

  • Grup: Senior Members
  • Posts: 19,987
  • Înscris: 01.03.2013
Acelasi lucru il face si termoreglarea prin care stabilim temperatura agentului termic in functie de temperatura exterioara, numai ca indirect.
Puterea termica radiata de pardoseala sau de calorifere depinde de temperatura agentului termic. Prin reglarea temperaturii agentului termic, reglam puterea disipata de terminalele de incalzire.
Varianta cu curba de termoreglare are avantajul ca tine, pe cat posibil, pompa de caldura in zona de eficienta maxima (agent termic la temperatura minim necesara).

Deci, reiau recomandarea: lasati compensarile dupa temperatura exterioara pentru versiunea a treia. Au fost enuntate deja foarte multe idei, the sky is the limit. Ne pierdem in briz-briz-uri.

Pentru primele doua versiuni, concentrati-va pe implementarea unui regulator PI care sa mentina temperatura tur la o valoare selectata de utilizator.
Este o functie de baza, care se regaseste in toate automatizarile de PDC sau centrale termice de orice fel.

Eu as face ca selectia utilizatorului sa fie o intrare analogica, 0 ... 5 V, corespunzator la 30 ... 60 oC.
As mai pune si un condensator de 470 nF intre intrarea analogica si GND, pe post de low-pass filter.
Apoi as folosi un banal potentiometru de 4K7, conectat ca divizor de tensiune de la +5 V, ca sa fac selectia temperaturii.

Crawl before you walk, walk before you fly.

Edited by kolfleading, 08 March 2018 - 10:30.


#50
TheWarrior

TheWarrior

    Senior Member

  • Grup: Senior Members
  • Posts: 3,065
  • Înscris: 16.10.2007

 kolfleading, on 08 martie 2018 - 10:25, said:

Eu as face ca selectia utilizatorului sa fie o intrare analogica, 0 ... 5 V, corespunzator la 30 ... 60 oC.
As mai pune si un condensator de 470 nF intre intrarea analogica si GND, pe post de low-pass filter.
Apoi as folosi un banal potentiometru de 4K7, conectat ca divizor de tensiune de la +5 V, ca sa fac selectia temperaturii.
Corect, este cel mai usor de utilizat.
Si o baba surda e in stare sa roteasca de butonul gradat sa zicem de la 20-35grd.
Dar trebuie ca modulul sa aiba intrare analogica (nu cunsosc produsul, poate are)

 dexterash, on 08 martie 2018 - 09:22, said:

Oricum pe micii DIY nu ii intereseaza. Certificarile sunt pentru producatori (de unde si preturile 'diferite').
M-am referit la altceva, nu la certificari.

Edited by TheWarrior, 08 March 2018 - 11:11.


#51
mihaicozac

mihaicozac

    Guru Member

  • Grup: Senior Members
  • Posts: 15,596
  • Înscris: 05.12.2005
Arduino are 7 intrări analogice de 5V şi funcţie de citire facilă a lor. La automatizarea mea am folosit următorul cod pt. potenţiometru:

    int potentiometer = analogRead(A0);
    preset=map(potentiometer, 0, 1024, 300, 600);

Codul ăsta translatează rotirea potenţiometrului de la un capăt  la altul într-o modificare a unei variabile între 300 şi 600, care poate fi apoi interpretată ca şi 30,0C până la 60,0C.

#52
florin71_skoda

florin71_skoda

    Guru Member

  • Grup: Banned
  • Posts: 18,070
  • Înscris: 02.01.2008

 Moisescualex82, on 07 martie 2018 - 20:57, said:

Este realizabil cea ce vreau eu ?

Da, este.

 Moisescualex82, on 07 martie 2018 - 20:57, said:

2. Sa pot sa am si apa calda chiar daca eu setez temperatura pe tur la 35°c , aici banuiesc ca solutia este o vana cu 3 cai .
Da, trebuie vana cu 3 cai care sa comute circuitul pe serpentina boiler. Trebuie si o sanda bagata in boiler, care sa citeasca temperatura din boiler.
Vara trebuie prima data ca arduino sa opreasca racirea, dupaia sa comute vana, dupia sa porneasca pe incalzire si sa bage in serpentina boilerului. Cind baga in serpentina boilerului, trebuie sa se mareasca automat temperatura de tur.

Legat de pret. Parerea mea este ca 110 euro ar fi ok daca comparam cu cit costa un controler simplu de firma. Daca comparam cu cit costa un controler mai complex, nu mai pare chiar ok.
Este mult de munca, insa per ansamblu este ok. Cum spunea si colegul Blimpyway, cu oricine o sa bati palma, va zice ca este primul pe care-l face si prima data vor fi doar un soi de teste si trebuie sa fi si tu constient ca nu va iesi din prima perfect si va mai trebui ajustat pe parcurs.

Daca era un cazan pe lemne, puteam spune ca am vazut multe modele de automatizari facute de fabrica si stiu exact ce face fiecare. Asa ca nu era nimic complicat  sa vad cam ce se potriveste la tine si sa combin modul de gindire a citorva automatizari facute de fabrica si sa fac eu ceva personalizat pentru cazanul tau. Insa tu nu ai cazan pe lemne, ca ai PDC, care habar nu am cum ar trebui sa lucreze corect.

 kolfleading, on 07 martie 2018 - 21:34, said:

Nu stiu sintaxa lui Arduino, dar lucrez ca programator C / C++ pe sisteme embedded pentru automatizari industriale.

Felicitari.

Eu pina acum am facut doar controler pentru centrale clasice pe lemne si acolo a fost suficient ca sa ma leg de o temperatura ca sa pornesc o pompa. Nu a trebuit sa ajung prea departe. Asa ca deocamndata eu sint la gradinita (sau poate ca la cresa :D)

Tu zici ca omul sa seteze temperatura la 35grd pe tur si arduino sa faca nu stiu ce curba. Insa din ce am vazut eu, acesta pompa nu stie sa moduleze liniar, ca moduleaza in trepte (in 7 trepte). Dupa mintea mea, orice curba ai face, modularea tot va fi zimtata ca atit stie PDC. Nu ai cum sa scoti o curba perfect dreapta dintr-o modulare in trepete.

Din cite vad eu, in codul postat de tine, tu ai creat o panta din grad in grad. Eu in schimb am propus o modulare din 0,5 in 0,5 grd. Care curba o fi mai dreapta ? A mea sau a ta ? Pina la urma cum obti o curba aproape dreapta ? Nu bagind cit mai multe puncte intre minim si maxim ca sa scapi de dinti ?
(aici am trisat, pentru ca modularea mea era pentru tur fix cu histerezis de 3grd si a ta este pentru tur in fuctie de exterio si histerezis de 30grd :D)

Tu ai un cod din 7 linii care seteaza temperatura de tur in functie de temperatura exterioara si o face din grad in grad. Deci tot zimtata este curba.
Eu daca merg ca la gradinita doar cu if si else o sa am 4 x 30 = 120 linii. Eu muncesc mai mult cu scrisul si obtin acelasi lucru.

La pornit pompe folosesc ceva de genul :
if ( TA_Garaj > 500 && T_BEP >= T60 )
		{	digitalWrite(PRG,HIGH);  }
else if ( TA_Garaj > 500 && T_BEP <= (T60 - Histerezis_T60_PRC_PRG_Stop) )
		{	 digitalWrite(PRG,LOW);  }

Multiplic o traba de genul asta de 30 de ori cu copy / paste si m-am scos :D

O sa-mi salvez codul postat de tine si o sa incerc sa-l folosesc si eu. Mersi pentru el. Logic ca-i mai bun decit ce folosesc eu :D


 kolfleading, on 08 martie 2018 - 10:25, said:

Apoi as folosi un banal potentiometru de 4K7, conectat ca divizor de tensiune de la +5 V, ca sa fac selectia temperaturii.

Eu am incercat sa pun potentiometru pe arduino (la contolerele de cazane pe lemne), insa pina la urma tot la butoane am ajuns. Mi sa parut mult mai simplu de implementat
Exista Modul Codor Rotativ - Encoder KY-040. Este ca si "potentiometrul" de la casetofoanele auto, astea moderne, de poti si sa apesi pe el si la rotire nu are capat de cursa. Eu am folosit asa ceva insa nu-mi merge perfect, pentru ca in momentul in care-l activez, nu mai citeste arduino senzori de temperatura.

#53
florin71_skoda

florin71_skoda

    Guru Member

  • Grup: Banned
  • Posts: 18,070
  • Înscris: 02.01.2008

 TheWarrior, on 08 martie 2018 - 11:10, said:

Dar trebuie ca modulul sa aiba intrare analogica (nu cunsosc produsul, poate are)

O placa Arduino Uno are 6 intrari / iesiri analogice si 14 iesiri / intrari digitale, din care 6 pot fi folosite cu PWM
Din alea digitale, 2 pot fi folosite si pentru scris codul (RX si TX), iar in momentele in care o faci, nu functioneaza ce ai legat la ele. Asa ca ar ramine 12 sigure. Cu toate ca poti folosi linistit si TX si RX ca codul nu se incarca toata ziua
Daca folosesti LCD de tip shield cu Keypad (dinasta prefer eu sa folosesc), acesta va ocupa  6 pini digitali si ramin disponibili 6 (sau 8 cu RX si TX). Keypad-ul va ocupa un pin analog si ramin 5 disponibile
Daca folosesti LCD cu modul I2C ajung doar 2 pini pentru LCD. Pini SDA si SCL si atunci ai toti pini analogici si digitali disponibili.
Daca folosesti display LCD mare, cu touch screen, nu stiu citi pini ocupa, ca nu am studiat problema.
Sondele de temperatura  ds18b20 se leaga toate la un singur pin digital
Daca ai butoane, pui intre ele rezistente si se pot lega absolut toate la un pin analog


Daca nu ajung pini, exista Arduino Mega.
Daca sint prea multi, este Ardino mini.

 mihaicozac, on 08 martie 2018 - 11:29, said:

    int potentiometer = analogRead(A0);
preset=map(potentiometer, 0, 1024, 300, 600);
Mi-ai dat o idee foarte buna. Se pare ca eu nu stiam cum sa folosesc potentiometrul si deaia am ajuns la butoane :D Mersi.

Edited by florin71_skoda, 08 March 2018 - 12:30.


#54
blimpyway

blimpyway

    Senior Member

  • Grup: Senior Members
  • Posts: 7,954
  • Înscris: 03.11.2005

 TheWarrior, on 08 martie 2018 - 08:50, said:

Sa aducem aminte acum pt cei ce nu cunosc, important pt orice automat, sa aiba implementata o functie tip watchdog.
Banuiesc ca acest Arduino dispune de astfel de functie.
Da, are, multumesc. Arduino nu e decat procesor Atmel Atmega montat pe placute "prietenoase" in diverse formate cu un mediu de programare ok.
(si are si intrari analogice)
------
@kolfleading @mihaicozac - varianta cu potentiometru pentru stabilirea temperaturii tinta a turului mi se pare foarte ok, multumesc.

Edited by blimpyway, 08 March 2018 - 12:41.


Anunturi

Bun venit pe Forumul Softpedia!

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate