Auteur Topic: Zelfbouw droogkast o.b.v. Raspberry Pi/Mycodo  (gelezen 3502 keer)

floriske.nl

  • Spekkoper
  • **
  • Berichten: 106
Re: Zelfbouw droogkast o.b.v. Raspberry Pi/Mycodo
« Reactie #150 Gepost op: mei 09, 2019, 09:29:27 pm »
Weer behoorlijk wat gedaan vandaag. Alle kabels die ik aan kon sluiten aangesloten.



Alleen de 12/5V voeding (daar moet ik de kabel nog van verlengen) nog en het LCD

floriske.nl

  • Spekkoper
  • **
  • Berichten: 106
Re: Zelfbouw droogkast o.b.v. Raspberry Pi/Mycodo
« Reactie #151 Gepost op: mei 10, 2019, 08:30:01 pm »
Nu de eerste testrun dan toch eindelijk dichterbij lijkt te komen vroeg ik me af of iemand wellicht eens z'n Mycodo PID instellingen voor temp en luchtvochtigheid zou willen delen.

Ik snap dat dat voor iedere kast anders is maar het geeft me wel een uitgangspunt hoe- en waarmee te beginnen.

floriske.nl

  • Spekkoper
  • **
  • Berichten: 106
Re: Zelfbouw droogkast o.b.v. Raspberry Pi/Mycodo
« Reactie #152 Gepost op: mei 12, 2019, 10:53:39 pm »
 C00L op m'n I2C aansluiting na is het bordje nu volledig aangesloten (voeding nog tijdelijk) en getest.

De 2 Fans werken, de 2 AM2302 sensoren en de 8 relais ook dus gelukkig lijkt m'n ontwerp op orde te zijn!

1 dezer dagen ook nog even het I2C LCD testen en dan weten we het helemaal zeker.

Tot dusver ben ik tevreden  Wh^^w

floriske.nl

  • Spekkoper
  • **
  • Berichten: 106
Re: Zelfbouw droogkast o.b.v. Raspberry Pi/Mycodo
« Reactie #153 Gepost op: mei 13, 2019, 04:24:50 pm »
Ik loop tegen een probleem aan waar hopelijk iemand hier me wel mee kan helpen:

Ik heb inmiddels op basis van een screenshot van Ralph een PID controller aangemaakt voor de temperatuur en deze staat proef te draaien. Op dit moment zonder tweaken draait de Temp daarmee met minder dan 1 graad schommeling.

De Heater en Koelkast worden nog wat vaak geschakeld naar mijn zin dus er moet nog wat getweakt worden maar dat komt wel goed.

Nu wil ik voor de RV ook een PID controller aanmaken met de luchtbevochtiger voor Raise en de koelkast voor Lower. Echter krijg ik dan de melding dat de koelkast output al in gebruik is bij een andere PID controller en dus niet gebruikt kan worden.

Nu kan ik dit oplossen door de koelkast parallel op een tweede relais te zetten maar het lijkt me dat dit ook anders moet kunnen. Of niet .... ?

BertM

  • Administrator
  • Fermentor
  • *****
  • Berichten: 922
    • Charcuterie&Worst
Re: Zelfbouw droogkast o.b.v. Raspberry Pi/Mycodo
« Reactie #154 Gepost op: mei 13, 2019, 09:48:21 pm »
praat je nu over een geschreven  programma?

floriske.nl

  • Spekkoper
  • **
  • Berichten: 106
Re: Zelfbouw droogkast o.b.v. Raspberry Pi/Mycodo
« Reactie #155 Gepost op: mei 13, 2019, 10:12:40 pm »
Dit gaat over de Mycodo Software voor de Raspberry Pi

Ik heb inmiddels uitgevogeld dat in de software voor ontvochtigen een tweede output aanmaken die dezelfde Gpio pin voor de koelkast aanstuurd ook werkt. Geen relais parallel nodig dus.

Ik kan nu koelen en/of ontvochtigen met de koelkast.

Qua PID ben ik wel wat gewend vanuit een andere hobby (vliegen met rc heli's) maar dit is toch wel weer heel andere tak van sport waar ik mezelf maar eens wat meer in moet gaan verdiepen.
« Laatst bewerkt op: mei 13, 2019, 10:20:51 pm door floriske.nl »

BertM

  • Administrator
  • Fermentor
  • *****
  • Berichten: 922
    • Charcuterie&Worst
Re: Zelfbouw droogkast o.b.v. Raspberry Pi/Mycodo
« Reactie #156 Gepost op: mei 16, 2019, 08:27:30 pm »
Ja, zit idd ook wel eens dagen te pielen met de PID om onze koelcompressoren goed ingeregeld te krijgen

floriske.nl

  • Spekkoper
  • **
  • Berichten: 106
Re: Zelfbouw droogkast o.b.v. Raspberry Pi/Mycodo
« Reactie #157 Gepost op: mei 16, 2019, 09:46:23 pm »
Vanuit m'n RC heli's ben ik gewend dat de output achter de PID regeling ook proportioneel is (servo's).

Zodra de error kleiner wordt wordt er ook daadwerkelijk minder gecorrigeerd.

In dit geval is de output een relais, dus ofwel 100% ofwel 0%. Dat is nogal een verschil. Je wil ook niet dat je koelkast te snel achter elkaar voor korte perioden in en uitgeschakeld wordt, hetzelfde geldt voor de heater en luchtbevochtiger.

Ik heb ergens een advies van de maker gelezen dat in dit geval bij Mycodo het volgende geldt:

P = Kp * e waarbij in geval van een relais P de tijd in seconden is waarmee de output hoog gehouden wordt. De error wordt iedere PID periode opnieuw bekeken en de P (=in dit geval tijd) opnieuw berekend.

Het heeft volgens hem geen zin om een Kp in te stellen waarbij de resulterende P waarde altijd hoger is dan de PID periode. Dan wordt je relais pas uitgeschakeld op het moment dat de error 0 is. Met hoogstwaarschijnlijk overshoot tot gevolg. Advies wat ik las is om bij max. error maximaal 2x de PID periode aan te houden.

De truc is dus om de P waarde zo in te stellen dat het relais op het juiste moment voordat de error 0 is afvalt en het resultaat na overshoot de juiste temp.

Dat vergt nogal wat testen lijkt me.

Mijn kast staat op het moment uit en heeft een gemiddelde temperatuur van 20,7°. In de zomer zal dit nog wel oplopen. Neem ik hiervoor een vrij extreme waarde dan kom ik bijvoorbeeld op 30°. Stel dat ik de temperatuur op 15° wil hebben is de error dan dus 15°

Mijn PID period staat nu op 30s (mag nog wel wat hoger gok ik maar ga hier even van uit). Dan kom ik adh van bovenstaande dus op:

PID period * 2 = 60
P=Kp * e
60=Kp * 15
Kp=4

Als ik dan zie dat Ralph bijvoorbeeld een Kp van 200 heeft ga ik dus weer enorm twijfelen aan bovenstaand advies.

Edit

ik heb bovenstaande eens terug zitten redeneren naar het moment waarop de inschakeltijd van het relais gelijk wordt aan de PID periode.

Bij Ralph is dit:

P=Kp * e
20=200 * e
e = 0,1°

Als de temperatuur dus binnen de eerstvolgende 2 PID perioden nog 0,1° extra stijgt of zakt dan zal het relais niet gaan pulseren. Dat zou moeten lukken maar de vraag is hoeveel overshoot er dan nog is welke de heater weer zal moeten corrigeren enz....

Kijk ik naar wat er in mijn geval uit het advies P=2*PID periode komt:

30=4 * e
e= 7,5°

Dan moet dus binnen de eerstvolgende 2 PID periodes de temperatuur nog 7,5° wijzigen anders zal het relais iedere nog volgende PID periode gaan pulseren omdat de inschakeltijd korter wordt dan de PID periode. Dat zal dus geheid gaan gebeuren en zal de compressor en/of heater niet leuk vinden. De kans op overshoot wordt dan wel kleiner.

Ik denk dus dat het zaak is om te testen hoeveel graden per tijdsperiode de koelkast koelt en hoeveel overshoot er daarna nog is. En andersom voor de heater en daar een gulden middenweg in te vinden.

Is deze gulden middenweg er niet dan 2 separate PID controllers voor de koelkast en heater zodat beiden geoptimaliseerd kunnen worden.

Of wellicht zelfs 2 simpele conditional controllers met iets van: als Temp > 15,5° dan koelkast aan, als Temp < 14,5° dan heater aan.

Verder denk ik dat een langere PID periode en wat hogere Kp afgestemd op bovenstaande test een lager risico op pulserende relais oplevert en daar bovenop het risico op overshoot beperkt.

Ik zal hier eens een post aan wagen op het forum van de maker van Mycodo.
« Laatst bewerkt op: mei 16, 2019, 10:55:58 pm door floriske.nl »