[WIP] Egenbyggd shuntstyrning
Grymt jobbat !!!
/johan
/johan
Funkishus från -41, 140m2 på två plan + 70m2
Nibe Alpha Combi, Baxi Eurofire 20kw
Första brännaren på Twitter?@pelletstat
Nibe Alpha Combi, Baxi Eurofire 20kw
Första brännaren på Twitter?@pelletstat
Re: [WIP] Egenbyggd shuntstyrning
Har du någon form av stopp på motorn om shunten går ut till ändlägen.latis skrev: Jag kommer lagra shuntinställningen i en databas och lägga till/dra bort från den varje gång jag shuntar för att datorn alltid skall veta vart shunten är.
Ex.vis Pannan har stannat och det är väldigt kallt så kommer ju shunten till slut att gå ut i max ändläge om det (pannan) inte åtgärdas i tid.
Och på sommaren när det inte åtgår någon värme så blir ju det ändläge åt andra hållet när temperaturen inne överstiger måltemperaturen.
Senast redigerad av MP den lör 19 feb, 2011 21:30, redigerad totalt 1 gånger.
Re: [WIP] Egenbyggd shuntstyrning
Vad är anledningen till att du kör kortet mot parallellporten för det begränsar väl ledningslängden mellan dator och kortet (om jag förstått rätt).latis skrev: Har byggt ett kort som kopplas till parallellporten med 2st optokopplare som isolation mot datorn.
Re: [WIP] Egenbyggd shuntstyrning
Ja det skulle jag verkligen uppskatta om du har möjlighet.latis skrev: När det börjar närma sig lite mer färdig status så kan jag kasta ut lite bilder på det hela.
Allt har fungerat bra och när solen värmer genom fönstrena så sjunker tempen på framledningen för att sedan shunta tillbaka när det börjar svalna av igen.
Svar på lite frågor:
Ändläge på motorn har jag löst med två mikrobrytare som bryter upp matningsmöjligheten till motorn när den nått sina gränser, så automatiken försöker sjunta, men ingen ström kommer till motorn.
Anledning till att jag använde parallellporten är att det är fruktansvärt enkelt,
2 pinnar + jord är allt som behövs, lägger sedan ett motstånd och en optokopplare mellan 1 pinne och jord och samma uppsättning mot den andra pinnen och jord. Sedan ett program som sätter +5V på rätt pinne. Detta styr i sin tur 2st relä direkt via optokopplaren som drar motorn på det håll det skall shuntas (komplett kostnat á 40SEK typ). Motorn är en 230V på 1RPM med kondensator. Så sluta en matning mot nollan får den att snurra på ena hållet och andra matningen mot nollan åt andra hållet.
Jag loggar alla temperaturer med 1-wire (DS18S20) och uppdaterar en databas med temperaturerna var 3:e minut och gör en shuntändring en gång i timmen just nu, kommer dock ändra detta till så korta tider som möjligt när allt är intrimmat klart. Intrimning tar tid eftersom man jobbar 8-10 timmar om dagen och förändingar är tröga i temperaturskillnader.
Temperaturer som loggas:
Framledningsvatten, returvatten, innetemp och panntemp. Kommer lägga till ytterligare ett rum för innetemp samt utetemp framöver. Håller just nu på att installera loggning av elmätaren. Framkommande projekt är att även logga skruven till pelletsen för att på så vis räkna förbrukningen på det.
Har dock fått vår andra dotter för 2 veckor sedan, så allt tar lite längre tid nu
Svar på lite frågor:
Ändläge på motorn har jag löst med två mikrobrytare som bryter upp matningsmöjligheten till motorn när den nått sina gränser, så automatiken försöker sjunta, men ingen ström kommer till motorn.
Anledning till att jag använde parallellporten är att det är fruktansvärt enkelt,
2 pinnar + jord är allt som behövs, lägger sedan ett motstånd och en optokopplare mellan 1 pinne och jord och samma uppsättning mot den andra pinnen och jord. Sedan ett program som sätter +5V på rätt pinne. Detta styr i sin tur 2st relä direkt via optokopplaren som drar motorn på det håll det skall shuntas (komplett kostnat á 40SEK typ). Motorn är en 230V på 1RPM med kondensator. Så sluta en matning mot nollan får den att snurra på ena hållet och andra matningen mot nollan åt andra hållet.
Jag loggar alla temperaturer med 1-wire (DS18S20) och uppdaterar en databas med temperaturerna var 3:e minut och gör en shuntändring en gång i timmen just nu, kommer dock ändra detta till så korta tider som möjligt när allt är intrimmat klart. Intrimning tar tid eftersom man jobbar 8-10 timmar om dagen och förändingar är tröga i temperaturskillnader.
Temperaturer som loggas:
Framledningsvatten, returvatten, innetemp och panntemp. Kommer lägga till ytterligare ett rum för innetemp samt utetemp framöver. Håller just nu på att installera loggning av elmätaren. Framkommande projekt är att även logga skruven till pelletsen för att på så vis räkna förbrukningen på det.
Har dock fått vår andra dotter för 2 veckor sedan, så allt tar lite längre tid nu
latis:
Det här är något som jag själv tittat på att göra hemma, fast med flera reglerloopar(innetemp reglerar returtemp som reglerar framledning).
Det du dock gjort fel är att ditt föregående fel är inte rätt uträknat. Det är mycket lättare än vad du gjort. Föregående fel skall helt enkelt bara vara summan av alla tidigare uppmätta fel, dvs först räknar du ut ditt fel och sedan summerar du aktuellt fel med summan av alla fel (detta är att integrera).
i pseudokod:
aktuellt fel = börvärde - aktuellt värde
föregående fel = föregående fel + aktuellt fel
styrvärde = aktuellt fel * P-förstärkning + föregående fel * I-förstärkning
Ett problem som kommer att bli besvärligt om du implementerar denna förändring är windup i regulatorn. När du har kallt i tankarna och den inte orkar trycka upp temperaturen inne kommer värdet på föregående fel att ökas tills det antingen flödar över eller tills du börjar elda igen med resultatet att det tar lika lång tid att få ner I-delen. Detta kan säkerligen ge 25-30 grader inne från låg starttemp.
Motsvarande sker under sommaren när temperaturen inne är så hög att inget skall shuntas ut med resultatet att I-delen blir så liten att det kommer ta flera veckor att få upp den igen.
Lösningen är helt enkelt att implementera anti-windup (google är din vän) exempelvis genom att bara räkna ut nytt föregående fel om det är så att shunten inte är i ytterlägen.
Pseudokod:
om (shunt inte är max) och (shunt inte är min)
föregående fel = föregående fel + aktuellt fel
Ta bort D-delen, dels kräver den ytterligare en permanent variabel och dels så innebär den enbart ett svängigare system som riskerar att självsvänga ordentligt om man inte har tungan i rätt mun.
Det här är något som jag själv tittat på att göra hemma, fast med flera reglerloopar(innetemp reglerar returtemp som reglerar framledning).
Det du dock gjort fel är att ditt föregående fel är inte rätt uträknat. Det är mycket lättare än vad du gjort. Föregående fel skall helt enkelt bara vara summan av alla tidigare uppmätta fel, dvs först räknar du ut ditt fel och sedan summerar du aktuellt fel med summan av alla fel (detta är att integrera).
i pseudokod:
aktuellt fel = börvärde - aktuellt värde
föregående fel = föregående fel + aktuellt fel
styrvärde = aktuellt fel * P-förstärkning + föregående fel * I-förstärkning
Ett problem som kommer att bli besvärligt om du implementerar denna förändring är windup i regulatorn. När du har kallt i tankarna och den inte orkar trycka upp temperaturen inne kommer värdet på föregående fel att ökas tills det antingen flödar över eller tills du börjar elda igen med resultatet att det tar lika lång tid att få ner I-delen. Detta kan säkerligen ge 25-30 grader inne från låg starttemp.
Motsvarande sker under sommaren när temperaturen inne är så hög att inget skall shuntas ut med resultatet att I-delen blir så liten att det kommer ta flera veckor att få upp den igen.
Lösningen är helt enkelt att implementera anti-windup (google är din vän) exempelvis genom att bara räkna ut nytt föregående fel om det är så att shunten inte är i ytterlägen.
Pseudokod:
om (shunt inte är max) och (shunt inte är min)
föregående fel = föregående fel + aktuellt fel
Ta bort D-delen, dels kräver den ytterligare en permanent variabel och dels så innebär den enbart ett svängigare system som riskerar att självsvänga ordentligt om man inte har tungan i rätt mun.
Extuna V202K UB, 55 kW, 4000 l tank i garaget med 28 mm Cu-kulvert.
Kökspanna Tirolia Casanova, laddomat 10, 750 l tank och TVA/elpanna för varmvatten.
Sa souvraya niende misain ye
Kökspanna Tirolia Casanova, laddomat 10, 750 l tank och TVA/elpanna för varmvatten.
Sa souvraya niende misain ye
-
- Prima virke
- Inlägg: 58
- Blev medlem: tis 26 okt, 2010 09:52
- Ort: Knivsta
- Kontakt:
Re: [WIP] Egenbyggd shuntstyrning
Liten update:
Det som ni du Millox tycker krävs vet jag inte. Min temp håller sig på +-0.1 grad (20.4-20.6) när jag mitt börvärde på 20.5. Trots tempsvängningar på +5 på dagen till -6 på natten. Enda gången jag har högre är när jag eldar i kaminen, men då går shunten ner på 0 när tempen sedan närmar sig 20.5 igen så börjar den shunta upp.
Tror ni mig inte så kan jag försöka få upp lite grafer för publik visning.
Det som ni du Millox tycker krävs vet jag inte. Min temp håller sig på +-0.1 grad (20.4-20.6) när jag mitt börvärde på 20.5. Trots tempsvängningar på +5 på dagen till -6 på natten. Enda gången jag har högre är när jag eldar i kaminen, men då går shunten ner på 0 när tempen sedan närmar sig 20.5 igen så börjar den shunta upp.
Tror ni mig inte så kan jag försöka få upp lite grafer för publik visning.
Re: [WIP] Egenbyggd shuntstyrning
Nu har allt snurrat på ett tag och shuntstyrningen funkar utomordentligt! Har även ordnat med loggning på pelletsskruven samt att jag får ett pling i mobilen om förrådet börjar närma sig slutgränsen
Allt är även portat till en raspberry pi så jag använder GPIO pinnarna till styrningen istället för en skrivarport på en dator, en fördel blev att styrningen nu endast drar ca 1W.
Just nu ser det ut så här:
Förbrukning idag 2.86kg (13kWh)
Kvar i lagret 234.115kg
Förbrukning igår 5.72kg (27kWh)
Förbrukning denna månaden 92.4kg (443kWh)
Förbrukning förra månaden 169.895kg (815kWh)
Förbrukning i år 780.45kg (3746kWh)
Beräknade dagar på lager 35.99 dagar
http://www.rya.me
Allt är även portat till en raspberry pi så jag använder GPIO pinnarna till styrningen istället för en skrivarport på en dator, en fördel blev att styrningen nu endast drar ca 1W.
Just nu ser det ut så här:
Förbrukning idag 2.86kg (13kWh)
Kvar i lagret 234.115kg
Förbrukning igår 5.72kg (27kWh)
Förbrukning denna månaden 92.4kg (443kWh)
Förbrukning förra månaden 169.895kg (815kWh)
Förbrukning i år 780.45kg (3746kWh)
Beräknade dagar på lager 35.99 dagar
http://www.rya.me
Re: [WIP] Egenbyggd shuntstyrning
Coolt projekt!
Tänkte fråga hur du kopplat onewire till raspberryn, gpio-bitbanging / nån busmaster / usb...? Och hur det fungerar i praktiken, ev problem med trådlängder, störningar osv. Jag funderar på att lägga till onewirestöd till mitt loggerprojekt och vill få det så generellt och lättanvänt som möjligt. Jag tänker mig ett pluginsystem (vill inte göra projektet raspberryspecifikt) så flera varianter kan nog stödas, men tänkte kolla hur du har gjort (och om du är nöjd med det). Lutar nog åt att i första hand stöda någon lättillgänglig färdig busmastermodul för enkelhetens skull, men det tilltalar kanske inte de som är födda med lödkolven i handen...
Tänkte fråga hur du kopplat onewire till raspberryn, gpio-bitbanging / nån busmaster / usb...? Och hur det fungerar i praktiken, ev problem med trådlängder, störningar osv. Jag funderar på att lägga till onewirestöd till mitt loggerprojekt och vill få det så generellt och lättanvänt som möjligt. Jag tänker mig ett pluginsystem (vill inte göra projektet raspberryspecifikt) så flera varianter kan nog stödas, men tänkte kolla hur du har gjort (och om du är nöjd med det). Lutar nog åt att i första hand stöda någon lättillgänglig färdig busmastermodul för enkelhetens skull, men det tilltalar kanske inte de som är födda med lödkolven i handen...
Termax 25Cr med spaksotning, Bio Comfort + lambda + kompressorrengöring, 10m skorsten med 125mm insatsrör. 8t bulkförråd. Matene vertikalskruv. https://github.com/motoz/PellMon open source pelletlogger
Re: [WIP] Egenbyggd shuntstyrning
Med tanke på att du kör Linux borde du kunde köra det hela (med små ändringar) på en Raspberry Pi. Den kostar 348:- hos Kjell & Co och drar seriöst mindre ström än den dator du använder nu. Du får lägga till ett CF-kort och någon nätdel om du inte har en 5V 2A liggande men den sparade strömmen kompenserar lätt för det med tiden.
Janfire NH, CTC 265B '72, K-Silo, KW SID012 dragbeg.
143m² (2 plan) + 71m² 1939, 20°C.
Var med i utv. av styrningen till Janfire NH brännaren.
Är inte PK!
143m² (2 plan) + 71m² 1939, 20°C.
Var med i utv. av styrningen till Janfire NH brännaren.
Är inte PK!