Styring af fremløb temp. (Læst 4675x)

Offline DanFr

  • U=I*R
  • ***
  • Indlæg: 45
  • Antal brugbare Indlæg: 0
    • Vis profil
Styring af fremløb temp.
« Dato: Oktober 08, 2021, 16:35:15 »
Hej.
Er total nybegynder med Arduino og har aldrig ejet en, men har dog snart brugt mange uger på at læse og se videoer om Arduino og dens muligheder. Så efterhånden ved jeg så meget, at jeg kan stille de rigtige spørgsmål, så jeg kan få købt de rigtige komponenter hjem til det projekt jeg vil kaste mig ud i. Og efterfølgende render jeg med garanti ind i udfordringer med kodningen. Hehe



Forklaringen på projekt.
Jeg ønsker at regulere fremløbs temperaturen (blande/shunt ventil) fra min kedel med et setpunkt der kommer fra en udendørsføler, fremløbs temperaturen er meget svingende til dels fordi at temperaturen i kedel fra start til stop ændre sig og pga, at jo koldere mit retur løb er jo mere varme skal blande/shunt ventilen blande i.
Når jeg har fundet ud af overstående og det virker, så ønsker jeg, at gå videre med nogle flere temperaturvisninger samt start/stop af kedel(brænder), start/stop af cirk. Pumpe efter ude temperaturen og måske ændre setpunkt temperatur for start/stop af kedel (en form for sommer/vinter tilstand der styres af ude temperaturen).
Men lige nu koncentrere jeg mig om, at regulere fremløb temperaturen samt start/stop af cirk. Pumpe efter ude temperaturen
Senere har jeg en lille drøm om, at jeg kan komme til at styre det hele på en 5” Nextion touchskærm.

Spørgsmål.
Da jeg skal bruge en del temperatur sensorer, så falder mit valg på en Dallas DS18B20 da den kan bruges som en BUS og spare på indgangene på Arduino’en.
> Er det et okay valg? kom gerne med fordele/ulemper.
> Efter hvad jeg har læst om DS18B20, så skulle en kabel længde på 4 meter ikke være et problem, har tænkt mig at bruge et skærmet 3 leder og føre VCC med ud til alle sensorer, fordele/ulemper

Til at regulere ventilen har jeg fra et tidligere projekt bygget en Belimo AM24-SR spjældmotor på, den køre på 24v dc og styres af et 0-10v signal.
> Skal jeg beholde den og konvertere 0-5v PWM til et analog 0-10v?
> Kunne jo også bygge en 0-180gr servomotor på i stedet, ville det være en fordel eller ulempe?

Jeg tænker at reguleringen skal forgå med en PID-regulering.
> Der er vel ikke noget i vejen for at kigge på ”kun en” DS18B20 i bus’en til PID-reguleringen?
> Måske Valget af PID-regulering har indflydelse på valget af servomotor kontra 0-10v styring?

Der er allerede en ting jeg ikke rigtig kan se mig ud af.
At lave en PID-regulering med et setpunkt på
Feks. 45gr ”tror” jeg nok jeg kan finde ud af. Men mangler en ide til hvordan jeg kan få det setpunkt til at ændre sig efter ude temperaturen.

Vh DanF

 

Offline dani8303

  • Spændingsdeler
  • ****
  • Indlæg: 63
  • Antal brugbare Indlæg: 9
  • ESP8266, Linux server, PHP, JS, så spiller det.
    • Vis profil
    • Egen side til styring, energi mm. tag et kig :-)
Sv: Styring af fremløb temp.
« Svar #1 Dato: Oktober 08, 2021, 17:24:11 »
Hej
Her er mine svar/erfaringer i forhold til dine spørgsmål.

> Er det et okay valg? kom gerne med fordele/ulemper.
Bruger selv DS18B20 til rigtig mange ting. Det er en fantastisk sensor, der bare virker. Bruger det blandt andet til styring af et solfangeranlæg.

> Efter hvad jeg har læst om DS18B20, så skulle en kabel længde på 4 meter ikke være et problem, har tænkt mig at bruge et skærmet 3 leder og føre VCC med ud til alle sensorer, fordele/ulemper.
Jeg bruger uskærmet kabel, hvor den længste forbindelse er cirka 13m. Prøv at læse følgende pdf: https://pdfserv.maximintegrated.com/en/an/AN148.pdf . Den giver en god forståelse af de udfordringer der kan være.

> Skal jeg beholde den og konvertere 0-5v PWM til et analog 0-10v?
> Kunne jo også bygge en 0-180gr servomotor på i stedet, ville det være en fordel eller ulempe?
Hvis du skal bruge et ordentligt 0 - 10V signal, så kunne en AD5231 måske være en ide. En servomotor ville nok være lettere at styre. Har selv bygget "danfoss amv 150" sammen med et "sonoff dual R2"(Har ESP8266 som MCU), hvilket virker rigtig fint.

> Der er vel ikke noget i vejen for at kigge på ”kun en” DS18B20 i bus’en til PID-reguleringen?
Det vil være det eneste rigtige i første omgang.

> Måske Valget af PID-regulering har indflydelse på valget af servomotor kontra 0-10v styring?
Ikke umiddelbart. Det handler mere om at få signalerne behandlet/beregnet korrekt. Det burde kunne lade sig gøre uanset hvad. Det er dog vigtigt at tage stilling til om ventilen skal køre med en absolut indstilling, hvorved den altid ved hvor den er. Alternativt kan bruges relative styring, hvor ventilen bliver bedt om at gå fx. 20% mod mere åbent. Du ved altså ikke ventilen stod på 10%, 30% eller lignende. Den står nu bare 20% ekstra åbent. Begge dele kan dog styres med en PID, dog er en absolut indstilling det bedste. En absolut indstilling er dog afhængig af at aktuatoren understøtter dette.
Måske er en fuld PID ikke nødvendig i første omgang. Ofte vil en PI regulering være nok. Start eventuelt med at programmer en P regulering. Den er nemlig relativ simpel. Når det så virker opgrader så til en PI. Hvis du bruger et færdigt bibliotek, så start med at slå I og D fra, hvorved du kan fokusere på at få trimmet P ledet.

> hvordan jeg kan få det setpunkt til at ændre sig efter ude temperaturen.
Lav et matematisk sammenhæng. Fremløbstemperaturen skal være 30C+ 2C per grad under 20C. Eksempel:
SP_fremløb = 30 + ((20 - T_ude) * 2);

Venlig hilsen Daniel Dannerelv
« Senest Redigeret: Oktober 08, 2021, 17:33:26 af dani8303 »

 

Offline DanFr

  • U=I*R
  • ***
  • Indlæg: 45
  • Antal brugbare Indlæg: 0
    • Vis profil
Sv: Styring af fremløb temp.
« Svar #2 Dato: Oktober 09, 2021, 06:30:52 »
Hej Daniel.
Fedt, tak for dine svar og blev da en del klogere på mine valg.
Så vil jeg bestille en håndfuld DS18B20 hjem, har læst og prøvet på at forstå det link du sendte, men ser ikke at der skulle blive problemer i mit tilfælde da jeg har så korte kabler. Det eneste er, at jeg mere eller mindre er nød til at lave det som en stjerne konfiguration da styreenheden vil blive udmiddelbart central i projektet, men igen ser det ikke som et problem med de korte kabeltræk, eller hvad tænker du?

Tror jeg går med analog 0-10v i første omgang, jeg har også kigget på små kredsløb der opbygget omkring en LM358'er til at konvertere signalet, men tror jeg køber en lille færdig enhed der er beregnet til det samme, den har også noget fin justering af forholdet mellem 0-5v pwm og 0-10v analog. Men tager nok en servo hjem alligevel hvis jeg ombestemmer mig, den skal nok bliver brugt til et senere projekt, er jeg sikker på 8)

Den spjældmotor jeg bruger har et feedback signal, men det mener jeg ikke er relevant, da ventilen næsten aldrig skal stå samme sted for at holden en ønsket temperatur. Hvis der bliver kaldt på varme i huset, så er min retur meget kold i starten, så skal shunt'en måske være 90% åben, og efterhånden som returen bliver varmere, så får shunt'en brug for at gå længere mod 0% , Samt om kedelvandet er 59 eller 65 gr vil jo også give udslag. giver det mening?

Ja en fuld PID regulering er nok lidt overkill, men ja, regner med at benytte et af de færdige biblioteker.

Godt eksempel på en udregning, den er helt sikkert brugbar.

Jeg må få købt nogle stumper hjem, så jeg kan komme i gang med mit projekt.

Vender uden tvivl tilbage..  ;D

Vh Dan.
« Senest Redigeret: Oktober 09, 2021, 09:35:12 af DanFr »

 

Offline dani8303

  • Spændingsdeler
  • ****
  • Indlæg: 63
  • Antal brugbare Indlæg: 9
  • ESP8266, Linux server, PHP, JS, så spiller det.
    • Vis profil
    • Egen side til styring, energi mm. tag et kig :-)
Sv: Styring af fremløb temp.
« Svar #3 Dato: Oktober 10, 2021, 18:35:19 »
Hej Dan

Så lang tid kabeltrækkene er korte, så brude det ikke give nogle problemer. Du nævner at spjældmotoren har feedback. Det kan sagtens være relevant, da der så kan laves et "pid cascade loop". Det er måske en smule overkill, men kan reguleringsmæssigt give god mening.

Temperaturændringerne på kedelvand og retur vil netop påvirke den nødvendige åbningsgrad. Det burde dog ikke give de store udfordringer, da PID'en sagtens burde kunne håndtere dette. Når ventilen ændre indstilling, så burde temperaturen relativt hurtigt ændre sig. Den hurtige respons mellem ventilindstilling og temperatur, giver en lav dødtid. En lav dødtid gør at PID'en burde være lettere at trimme.

Venlig hilsen Daniel

 

Offline DanFr

  • U=I*R
  • ***
  • Indlæg: 45
  • Antal brugbare Indlæg: 0
    • Vis profil
Sv: Styring af fremløb temp.
« Svar #4 Dato: Oktober 10, 2021, 20:08:05 »
Daniel, kan allerede mærke frustrationerne stige mig til hovedet. haha ;D

Jeg er først lige begyndt sådan rigtig at sætte mig ind i hvordan en PID er opbygget, intet erfaring og ja Arduino er også ny for mig, og mit første projekt. så bliver nok en for stor mundfuld, at skulle kaste mig ud i "PID Cascade Loop" også. Skal nok få mine udfordringer, bare med det jeg vil lave nu. Jeg må få lavet en opstilling og programmere lidt når stumperne engang kommer hjem

Venlig hilsen Dan

 

Offline Icecap

  • Op-amp
  • ***
  • Indlæg: 182
  • Antal brugbare Indlæg: 19
    • Vis profil
Sv: Styring af fremløb temp.
« Svar #5 Dato: Oktober 11, 2021, 13:20:00 »
Jeg har en fungerende C-kode til at detektere hvilke 1-Wire(R) adresser som findes på en bus. Den er godt nok gjort til en helt anden mikroprocessor hvor jeg bruger 2 pinde via et par transistorer (for at man ALDRIG sender VDD eller direkte processorpinde udenfor et print) men den er enkel at justere.

Selvfølgeligt har jeg også et bibliotek for at få værdier af dem.

Jeg tænker at man kan tilslutte en sensor af gangen og skabe en tabel over sensorerne så man ved hvilket nummer de enkle har.