Openen en sluiten van een CO2 magneetklep.

algemene C code
Berichten: 340
Geregistreerd: 23 Okt 2016, 20:29

Openen en sluiten van een CO2 magneetklep.

Berichtdoor benvo » 11 Sep 2017, 16:13

Hallo allemaal,

Graag zou ik de CO2 toevoer willen aansturen met mijn Arduino. Boven een bepaalde pH waarde moet de toevoer gestart worden totdat een minimum pH niveau is bereikt. De toevoer moet dan gesloten worden totdat deze weer boven het maximum Ph gehalte komt waarna de toevoer weer moet opstarten. Dat openen lukt in onderstaande sketch, e.e.a. loopt ook door tot het minimum is bereikt. Nu de terugweg; de toevoer mag pas weer open als het pH waarde boven de toegestane maxPH waarde komt, daarop weet ik het antwoordt niet?

Code: Alles selecteren

/*----------------------------------------------------------------------------------------------------------------------------
  Wens is om zodra de pH waarde hoger of gelijk is aan de maxPH te CO2 toevoer te openen totdat de minPH waarde is bereikt.
  De toevoer wordt dan gesloten. Dat gebeurd in deze sketch. Nu zou ik graag willen dat de toevoer daarna gesloten blijft totdat
  de maxPH weer bereikt wordt. Waarna de pH toevoer weer geopend wordt, etc. De ruimte tussen maxPH en minPH wordt dus verschillend gebruikt.
  Kan dit?
  -------------------------------------------------------------------------------------------------------------------------------*/
int relais = 8;

float maxPH = 6.90;
float minPH = 6.70;


void setup() {
  pinMode(relais, OUTPUT);

}

void loop() {

  float pHvalue = 6.88;                                                 //stel dit is de door de sensor gemeten pHvalue.
  // ------------------------------------------------------
  if (pHvalue >= maxPH || pHvalue > minPH)                //Als de gemeten pH waarde groter is dan de maxPH waarde of groter dan de minPH waarde.
  {
    digitalWrite(relais, LOW);                                         //relais is aangetrokken, magneetklep open.
  }
  else
  {
    digitalWrite(relais, HIGH);                                       //relais is gesloten, magneetklep is gesloten.
  }


}





Advertisement

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: Openen en sluiten van een CO2 magneetklep.

Berichtdoor nicoverduin » 11 Sep 2017, 17:57

Beetje zinloze if. Als de waarde groter is de de min waarde hoef je niet meer naar de max waarde te kijken. Die is in deze altijd geldig. Maar het jan wel. Je zou bijvoorbeeld een eenvoudige waarheids tabel kunnen maken(ff googelen wat dat is).
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 340
Geregistreerd: 23 Okt 2016, 20:29

Re: Openen en sluiten van een CO2 magneetklep.

Berichtdoor benvo » 11 Sep 2017, 18:51

Ter verduidelijking:

1. De CO2 toevoer moet gestart worden bij de maxPH waarde en geopend blijven totdat het minPH bereikt is.

2. Zodra het minPH niveau daar is wordt de toevoer gesloten en moet ook gesloten blijven totdat het maxPH niveau weer daar is.

Daarna begint het verhaal weer bij 1.

Het probleem is eigenlijk dat je dus een moment hebt dat de waardes tussen maxPH en minPH liggen en dat de CO2 toevoer open is en een moment dat de waardes tussen minPH en maxPH liggen en de toevoer dus afgesloten moet zijn. Maar dit is eigenlijk niet mogelijk, zo lijkt het, want het eerste en het tweede geval zijn immers eigenlijk gelijk!

Toch wil ik die ruimte, tussen maxPH en minPH, graag zo benutten omdat anders het gevaar ontstaat dat het relais aan en uit gaat ratelen. Als ik de if schrijf met alleen de pHvalue > minPH zou dit gaan gebeuren denk ik.
Gaat hij aan en uit tussen pH 6.71 en 6.70 bijvoorbeeld.

Dat is dan ook de reden dat ik de if zo schreef dus met de maxPH en de minPH erin.

Ik weet nog wat een waarheidstabel is van héél vroeger. (Hoewel, ik ben een Alpha) Hoe het precies werkt zeker in samenhang met een Arduino is een ander verhaal. Of er nog andere mogelijkheden zijn?

Dank, in ieder geval, voor de reactie.

Berichten: 4064
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: Openen en sluiten van een CO2 magneetklep.

Berichtdoor shooter » 11 Sep 2017, 20:00

if phvalue > max klep open. (punt
volgende regel if phvalue < min klep dicht en weer een programma klaar.
paul deelen
shooter@home.nl

Berichten: 340
Geregistreerd: 23 Okt 2016, 20:29

Re: Openen en sluiten van een CO2 magneetklep.

Berichtdoor benvo » 12 Sep 2017, 17:58

@Shooter,

Dit had ik zelf aanvankelijk ook zo staan. Door de een of andere rare gedachtenkronkel meende ik dat dit fout zou gaan. Niet dus! Fijn dat je wilde reageren! Dank!

Groet,
Ben.

Berichten: 4064
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: Openen en sluiten van een CO2 magneetklep.

Berichtdoor shooter » 12 Sep 2017, 19:21

een computer kronkelt niet, dus die doet alleen maar wat je hem vertelt
en ach daar is een forum voor, he om die kronkels glad te strijken.

zorg je er wel voor dat er maximaal 1 bubbel/ 5 seconden uitkomt, Het heeft tijd nodig om te reageren en het verdijft de zuurstof behoorlijk dus rustig aan.
paul deelen
shooter@home.nl

Berichten: 340
Geregistreerd: 23 Okt 2016, 20:29

Re: Openen en sluiten van een CO2 magneetklep.

Berichtdoor benvo » 13 Sep 2017, 20:23

Een bellenteller heb ik niet. Die is ook niet nodig, ook nu heb ik een automatisch systeem in mijn aquarium dat indien nodig CO2 toevoert.

Overigens werkt het programmaatje, zoals jij, Shooter, voorstelde, nog niet. De lamp, ik simuleer de magneetschakeling met een lamp, blijft altijd branden. M.a.w. de relais blijft dicht staan. (LOW)
Of er nu een pHvalue boven de maxPH of onder de minPH ingebracht wordt. Gebruik ik het programmaatje dat ik hierboven inbracht werkt het gedeeltelijk wel. Hierover moet ik eens goed nadenken.

Berichten: 4064
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: Openen en sluiten van een CO2 magneetklep.

Berichtdoor shooter » 13 Sep 2017, 21:54

laat je programma maar zien dan, wellicht zit er een fout in.
loop {
dus een if (... < ... ){klep open;}

en dan nog een if ( ... > ...) {klep dicht;}
geen else gebruiken
dan een delay van 10000 bijvoorbeeld
}// einde loop
paul deelen
shooter@home.nl

Berichten: 340
Geregistreerd: 23 Okt 2016, 20:29

Re: Openen en sluiten van een CO2 magneetklep.

Berichtdoor benvo » 14 Sep 2017, 12:56

Dank je wel, Shooter. Maar ik heb het gevonden. Het probleem zat in een stekker! Niet in de software. Nauwelijks te meten overigens. Er bleek een vezel van het kabelomhulsel tegen de data kabel aan te tikken hetgeen de problemen veroorzaakte. Raakte soms wel, soms niet. Maar omdat het bijna niet zichtbaar was zocht ik mijn probleem elders. Gelukkig gevonden dus.

Dank nogmaals.

Berichten: 118
Geregistreerd: 28 Dec 2014, 23:20
Woonplaats: Bilzen BE

Re: Openen en sluiten van een CO2 magneetklep.

Berichtdoor Dries » 15 Sep 2017, 15:55

Hoi Ben, leuk projectje waar je mee bezig bent maar aub wees voorzichtihg met die CO2, ik hoop dat je PH probe genoeg betrouwbaar is, ik had hetzelfde in gedachte om ook ooit eens te doen via een Arduino maar ik waag me er niet aan, ik ben bang om de vissen te gaan vergassen, blijf erbij als je wilt gaan testen.....

Volgende

Terug naar C code

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 6 gasten