Arduino differential termostat

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
Sun Tracker
Inlägg: 7
Blev medlem: 8 januari 2023, 18:36:25

Arduino differential termostat

Inlägg av Sun Tracker »

Hej
Har letat förgäves efter en kod till mitt projekt , Jag vill med hjälp av min Arduino uno med två tempsensorer DS18B20 och ett relä kunna styra en pump. Tanken är om givare ett når 8 grader högra än givare två så startar pumpen, När temperaturen sen sjunker och differensen ej längre är 8 grader så slår pumpen av.Givare 1 sitter uppe på solfångaren och givare 2 sitter i acktanken.
Är det någon vänlig själ som skulle kunna hjälpa mig den koden.
Användarvisningsbild
Micke_s
EF Sponsor
Inlägg: 6741
Blev medlem: 15 december 2005, 21:31:34
Ort: Malmö

Re: Arduino differential termostat

Inlägg av Micke_s »

Pseudokod
Läs sensor 1
Läs sensor 2

Om sensor 1
danei
EF Sponsor
Inlägg: 26423
Blev medlem: 2 juni 2003, 14:21:34
Ort: Östergötland
Kontakt:

Re: Arduino differential termostat

Inlägg av danei »

Färdig kod för att läsa av givarna borde du kunna hitta. Sedan är det en smal sak även om man saknar vana. Det finns mängde av videor på youtube om hur man kommer igång.
Sun Tracker
Inlägg: 7
Blev medlem: 8 januari 2023, 18:36:25

Re: Arduino differential termostat

Inlägg av Sun Tracker »

Hej tack

Jag har kommit en bit på vägen men som sagt jag har gått igenom hela internettet och inte hittat en kod som passar mina givare, utan LCD skärm mm
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43178
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: Arduino differential termostat

Inlägg av sodjan »

Bara en detalj...

> Tanken är om givare ett når 8 grader högra än givare två så startar pumpen, När temperaturen sen sjunker och differensen ej längre är 8 grader...

Du ska nog inte ha samma temp både för till- och frånslag. Det kallas "hysteres". https://sv.wikipedia.org/wiki/Hysteres
Kanske en diff på 10 grader för tillslaget och 6 grader för frånslaget. Eller vad som nu passar i ditt specifika fall.
Annars kommer du att få väldigt täta till/frånslag som sliter i onödan på pumpen och eventuella reläer.
Användarvisningsbild
Swech
EF Sponsor
Inlägg: 4695
Blev medlem: 6 november 2006, 21:43:35
Ort: Munkedal, Sverige (Sweden)
Kontakt:

Re: Arduino differential termostat

Inlägg av Swech »

Du behöver lägga på en hysteres också
Om differensen är mer än 8 grader så bör pumpen inte stoppa förrän differensen är mindre än t.ex. 4 grader.
Annars om en givare står och väger mellan en grad så kan du få att pumpen slås av och på upprepade gånger

Kanske också lägga in en minsta tid som pumpen skall gå oavsett hur temperaturerna reagerar


Äh... sodjan var före
Swech
Sun Tracker
Inlägg: 7
Blev medlem: 8 januari 2023, 18:36:25

Re: Arduino differential termostat

Inlägg av Sun Tracker »

Hej tack för svar, Jo jag har tänkt på det också sett något liknande i andra koder. Tänkte att det kan jag lägga till eller använda mid av delay.
FormerMazda
Inlägg: 6085
Blev medlem: 27 februari 2006, 14:59:36
Ort: Tranås (Jönköping)

Re: Arduino differential termostat

Inlägg av FormerMazda »

För dina tempgivare använder du det färdiga LIBet som finns:
https://www.arduino.cc/reference/en/libraries/ds18b20/

När du installerar det så får du med exempelkod där du enkelt ser hur du får tempen i en variabel.

Sen är det bara en fråga om logik hur du hanterar till och frånslag.
Som nämnts innan så starta och stoppa inte på samma temp, utan starta på en, stoppa på en annan.

Diff = Givare 1 - Givare 2
Om diff > 8° = starta
Om diff < 8° = stoppa

Denna kod kommer få din pump att gå väldigt korta stunder, mycket start/stopp.
Så istället lägger du olika diff för start/stopp:
Diff = Givare 1 - Givare 2
Om diff > 8° = starta
Om diff < 4° = stoppa

Och denna diff får du kanske testa dig fram till.
Skriv svar