INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 1 Bewertungen - 5 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Dosieren mit Durchfluss Sensor
07.06.2017, 07:27 (Dieser Beitrag wurde zuletzt bearbeitet: 07.06.2017 10:25 von Dualpower.)
Beitrag #1
Dosieren mit Durchfluss Sensor
Hallo,
ich Dosiere z.Z. Flüssigkeiten zeitabhängig mit Magnetventilen.
z.B. öffne ich das Magnetventil für 1500 ms das entspicht 10 ml, jetzt möchte ich das gerne mit einem Durchfluss sensor machen.
Steh nur auf´m Schlauch wie ich das anstellen soll.
Funktion: Magnetventil öffnen --> Start Dosiermessung --> mege erreicht --> Magnetventil zu

Mache das mit einem Arduino Mega 2560, der Durchfluss Sensor ist ein YF-S401

Aktuell Dosiere ich so:
Code:
void loop() {
  if (!Dosierungaktiv) {    
    max=0;
    // Wenn keine Dosierung, dann Taster abfragen
    for (int i = 0; i < Anzahl_Rezepte; i++) {
        if (analogRead(Taster[i]) < 512) {                     // Wenn Taster gedrückt wurden,
        Rezept_Nr = i;                                      // Ausgewähltes Rezept merken,
        StartZeit = millis();                                 //    Zeit merken,
        for (int z = 0; z <= Anzahl_Zutaten; z++) {           //    Dosierung Ventil i starten
        digitalWrite(Ventil[z], HIGH);    
        }

        for(int i = 0; i < Anzahl_Zutaten;i++) {                         //Max Dosierzeit im Rezpt ermitteln
        if (Rezept_ms[Rezept_Nr][i] > max) max = Rezept_ms[Rezept_Nr][i];    
   }
        Dosierungaktiv = true;                                 //    und Status setzen.
        Zaehler[i] = Zaehler[i]+1;
      }
    }
  } else {                                                     // Solange Dosierung aktiv
    for (int i = 0; i < Anzahl_Zutaten; i++) {                 // für jede Zutat abfragen,
      unsigned long currentMillis = millis();
      if ( currentMillis - StartZeit > Rezept_ms[Rezept_Nr][i]) {      // ob die Dosierzeit abgelaufen ist
        digitalWrite(Ventil[i], LOW);
      }  
      // test gesammt abschaltung aller ventile nach Max zeit
       if ( currentMillis - StartZeit > max + 500) {      // ob die Dosierzeit abgelaufen ist
        digitalWrite(Ventil[i], LOW);
    }
  }  
    boolean DosierungAus = true;
    for (int i = 0; i < Anzahl_Zutaten; i++)  {           // Wenn alle Ventile abgeschalten sind
      DosierungAus = DosierungAus && !digitalRead(Ventil[i]);
    }
    if (DosierungAus) {
      Dosierungaktiv = false;                  // Status zurücksetzen
          i2c_eeprom_updateUIntArray(I2C_EEPROM_ADRESSE, EEPROM_SPEICHER_ADR, Zaehler, sizeof(Zaehler) / sizeof(Zaehler[0]));  // In EEprom schreiben
          Fertig();
      }
    }  
  }
}

würde mich freuen wenn Ihr mir helfen würdet, danke!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
07.06.2017, 11:53
Beitrag #2
RE: Dosieren mit Durchfluss Sensor
Wobei brauchst Du denn Hilfe?

Du wirfst uns einen Brocken Code hin und willst Hilfe. Das ist alles, was wir von Dir wissen.

1. Zeige den gesamten Sketch, nicht nur einen Ausschnitt.
2. Gib uns einen Link zum Durchfluss Sensor
3. Beschreibe, was es tun soll und wo Du ein Problem hast.

Dann hätten wir eine Chance, Dir helfen zu können.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
07.06.2017, 13:51
Beitrag #3
RE: Dosieren mit Durchfluss Sensor
Hallo,
1. das ist der gesammt loop.
2. Diesen Sensor habe ich.
3. ich möchte die Ventile nicht mehr Zeitgesteuert öffnen/Schließen sondern über die Dosiermenge.

Ich möchte gerne wissen wie ich die Impulse vom Fruchflussmengenzähler Auslese um ein Ventil z.b. für 20ml zu öffnen.



(07.06.2017 11:53)Tommy56 schrieb:  Wobei brauchst Du denn Hilfe?

Du wirfst uns einen Brocken Code hin und willst Hilfe. Das ist alles, was wir von Dir wissen.

1. Zeige den gesamten Sketch, nicht nur einen Ausschnitt.
2. Gib uns einen Link zum Durchfluss Sensor
3. Beschreibe, was es tun soll und wo Du ein Problem hast.

Dann hätten wir eine Chance, Dir helfen zu können.

Gruß Tommy
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
07.06.2017, 15:43 (Dieser Beitrag wurde zuletzt bearbeitet: 07.06.2017 15:47 von Tommy56.)
Beitrag #4
RE: Dosieren mit Durchfluss Sensor
(07.06.2017 13:51)Dualpower schrieb:  Hallo,
1. das ist der gesammt loop.
2. Diesen Sensor habe ich.
3. ich möchte die Ventile nicht mehr Zeitgesteuert öffnen/Schließen sondern über die Dosiermenge.

Ich möchte gerne wissen wie ich die Impulse vom Fruchflussmengenzähler Auslese um ein Ventil z.b. für 20ml zu öffnen.
Dann weiter im Telegrammstil:

1. Das ist der Loop, nicht der ganze Sketch
2. Datenblatt
3. Beispielprogramm

Das ganze war 1 Googleaufruf mit "Caudalimetro YF-S401 Flowmeter" und alle Läden, bei denen es nie Datenblätter gibt (Amazon, ebay) ignorieren .

Gruß Tommy

Edit: Ob der ausreichend empfindlich für Deine Anwendung ist kann ich nicht beurteilen, da Du dazu keine Info gibst.

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.06.2017, 14:18
Beitrag #5
RE: Dosieren mit Durchfluss Sensor
Hey Tommy,
danke für deine mühe und die infos.

Was ich einfach nicht schnalle Huh ist die bisher geflossenen menge zu ermitteln um das Ventil abzuschalten, im Beispiel sin die Durchflussmengen je Stunde.

Ich möchte das ventil öffnen und nach z.B. 20 ml das Ventil abschalten.
und das möglichst nicht per Interrupt weil ich das für 12 ventile machen muß.

Danke

(07.06.2017 15:43)Tommy56 schrieb:  
(07.06.2017 13:51)Dualpower schrieb:  Hallo,
1. das ist der gesammt loop.
2. Diesen Sensor habe ich.
3. ich möchte die Ventile nicht mehr Zeitgesteuert öffnen/Schließen sondern über die Dosiermenge.

Ich möchte gerne wissen wie ich die Impulse vom Fruchflussmengenzähler Auslese um ein Ventil z.b. für 20ml zu öffnen.
Dann weiter im Telegrammstil:

1. Das ist der Loop, nicht der ganze Sketch
2. Datenblatt
3. Beispielprogramm

Das ganze war 1 Googleaufruf mit "Caudalimetro YF-S401 Flowmeter" und alle Läden, bei denen es nie Datenblätter gibt (Amazon, ebay) ignorieren .

Gruß Tommy

Edit: Ob der ausreichend empfindlich für Deine Anwendung ist kann ich nicht beurteilen, da Du dazu keine Info gibst.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.06.2017, 16:30
Beitrag #6
RE: Dosieren mit Durchfluss Sensor
(09.06.2017 14:18)Dualpower schrieb:  Was ich einfach nicht schnalle Huh ist die bisher geflossenen menge zu ermitteln um das Ventil abzuschalten, im Beispiel sin die Durchflussmengen je Stunde.

Ich möchte das ventil öffnen und nach z.B. 20 ml das Ventil abschalten.
und das möglichst nicht per Interrupt weil ich das für 12 ventile machen muß.

Wenn du die Durchflussmenge je Stunde hast, kannst du doch damit zurück rechnen, nach welcher Zeit 20ml durchgeflossen sind.

Dann schaltest du ganz normal das Ventil ab. Dazu wird kein Interrupt benötigt.

Allerdings wird es schon eine Herausforderung sein, das für 12 Sensoren aufzubauen.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.06.2017, 18:56
Beitrag #7
RE: Dosieren mit Durchfluss Sensor
Eigentlich brauchst du doch nur die Impulswertigkeit. Dies ist eine Angabe darüber alle wie viele ml ein Impuls ausgelöst wird.
Weil das eine fundamentale Kenngröße des Sensors ist sollte die eigentlich im Datenblatt stehen.
Daraus kannst du dann ausrechnen wie viele Impulse du für 10 oder 20ml erhältst.

Also Magnetventil öffnen und Impulse zählen. Wenn Anzahl x Impulse gezählt wurden ist Menge y durchgeflossen.

Mit der Fließgeschwindigkeit musst du evtl. aufpassen dass 0,3 l/m nicht unterschritten werden. Bei kleineren Geschwindigkeiten läuft der Rotor im Sensor evtl. nicht los.

Gruß
Arne

Gruß Arne
Mit zunehmender Anzahl qualifizierter Informationen bei einer Fragestellung, erhöht sich zwangsläufig die Gefahr auf eine zielführende Antwort.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
10.06.2017, 15:32
Beitrag #8
RE: Dosieren mit Durchfluss Sensor
Ich würde es so lösen:
12 Eingänge für die Durchflussmesser
12 Ausgänge für die Magnetventile
12 Transistoren oder ICs oder Relais oder, oder...
Weil die Ausgänge schaffen die Magnetventile nicht.
Uno hat Zuwenig Pins
Porterweiterung ist weitere Fehlerquelle, also einfach nen Mega verwenden, der hat genug Pins.

Sketch in Stichworten:
12 INT Variablen anlegen (volatile) evtl. Array
12 Interrupts anlegen, für jeden Pin eines Durchflussmessers.

In jedem Interrupt die volatile var um 1 erhöhen.

Im Loop wird irgendwie für jede der 12 Komponenten eine Sollmenge definiert.
Für jede der 12 Komponenten ermitteln:
Sollmenge größer IST Menge (die volatile vars)
Ja: Ausgang high
Nein: Ausgang low

12 mal nein > Alle Volatile Vars auf null setzen, ebenso die Sollmengen.

Jetzt auf die nächste Aktivierung warten.

Nein, den fertigen Sketch meissel ich jetzt nicht hier ins Handy...
1. weil ich den nicht prüfen kann
2. weil, wenn er läuft, Dir auch nicht geholfen ist, beim Verstehen des Ganzen

Binatone
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Arduino als Enocean Aktor/Sensor hr3 2 221 08.02.2020 20:53
Letzter Beitrag: Bitklopfer
  Fehlermeldung (wegen BME 280 Sensor?) Schneggl 3 432 26.10.2019 09:28
Letzter Beitrag: Tommy56
  Grove-GSR Sensor frala 22 2.903 09.10.2018 22:11
Letzter Beitrag: Bitklopfer
  Sensor mit 10 Hz auslesen Olafson Larson 7 1.824 05.07.2018 15:59
Letzter Beitrag: Tommy56
Exclamation Sound Sensor KY-038 Jack 6 2.163 16.05.2018 23:46
Letzter Beitrag: georg01
Question IR Sensor - Tastendruck oneill86 2 1.321 21.03.2018 18:22
Letzter Beitrag: oneill86
  DS18s20 Temperatur Sensor georg01 9 3.282 25.02.2018 16:03
Letzter Beitrag: georg01
  Lichtschrankensensor / Line Tracker Sensor Hitikatus 5 2.220 13.07.2017 15:21
Letzter Beitrag: RCudino
  Arduino Sensor zeigt falsche Werte an Sandro2504 4 2.191 04.06.2017 09:03
Letzter Beitrag: hotsystems
  433 MHZ Temp.Sensor hbulf 12 4.177 15.12.2016 18:00
Letzter Beitrag: hbulf

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste