Dosierpumpen mit Schaltsteckdosen - Ein AquaGrow Mod

rrnetz

Member
SInd das nur Testdaten bei dir, oder pumpst du echt 8x10ml rein. :pfeifen:
 

hugo1892

Member
Das sind nur Testdaten

Jetzt hab ichs mal so eingepflegt:


Code:
#define PUMPCOUNTS 12      // Number Pumps

PUMP dosing[] = { 
{get_ts(10,0,5),1,"D1",8,10},
{get_ts(10,0,5),1,"D2",2,10},
{get_ts(10,0,5),1,"D3",3,10},
{get_ts(10,0,5),1,"D4",4,10},
{get_ts(10,0,5),1,"D5",5,10},
{get_ts(10,0,5),1,"D6",6,10},
{get_ts(10,0,20),1,"D1",8,10},
{get_ts(10,0,20),1,"D2",2,10},
{get_ts(10,0,20),1,"D3",3,10},
{get_ts(10,0,20),1,"D4",4,10},
{get_ts(10,0,20),1,"D5",5,10},
{get_ts(10,0,20),1,"D6",6,10},
};

Leider wirft er mir dann auf dem Display alles durcheinander.

Um 10:00:05 wirft er mir auf dem Display aus: (Das passt ja wie vorgegeben.

690 690 690 690
690 690

Um 10:00:20 kommt dann
690 690 690 690
-41 -41 -31 -21

Das verstehe ich jetzt nicht. Das ist aber Trockenversuch, ohne angeschlossene Pumpen.
 

rrnetz

Member
Ich glaub 6x um 10:00:05 - 10:00:20 geht auch nicht
 

rrnetz

Member
Hi Moritz
Kleines Problem, hättest du noch eine DIY Mini Platine Version 1 mit Bug für mich.
Hab meine im Aquarium versenkt beim reinigen. :( (kommt dann auch in den Schrank ich aufs Aqua :pfeifen: )
 

rrnetz

Member
hugo1892":34xt7hx2 schrieb:
Das sind nur Testdaten

PUMP dosing[] = {
{get_ts(10,0,5),1,"D1",8,10},
{get_ts(10,0,5),1,"D2",2,10},
{get_ts(10,0,5),1,"D3",3,10},
{get_ts(10,0,5),1,"D4",4,10},
{get_ts(10,0,5),1,"D5",5,10},
{get_ts(10,0,5),1,"D6",6,10},
{get_ts(10,0,20),1,"D1",8,10},
{get_ts(10,0,20),1,"D2",2,10},
{get_ts(10,0,20),1,"D3",3,10},
{get_ts(10,0,20),1,"D4",4,10},
{get_ts(10,0,20),1,"D5",5,10},
{get_ts(10,0,20),1,"D6",6,10},
};[/code]

Müsten glaub immer fortlaufende zeiten sein.
so gehen 6 pumpen gleichzeitig um 10:05 und 6 pumpen um 10:20
oder meinst wie ich das Board versenkt habe
 

hugo1892

Member
Hi,

hab ich probiert, geht leider nicht!

Es geht eine einfache Dosierung/Tag. Eine zweite oder dritte funktioniert so nicht.

Was sogar komisch ist, ich füge diesen Code ein:

Code:
#define PUMPCOUNTS 9      // Number Pumps

PUMP dosing[] = { 
{get_ts(10,0,5),1,"D1",8,10},
{get_ts(10,0,10),1,"D2",2,10},
{get_ts(10,0,15),1,"D3",3,10},
{get_ts(10,0,20),1,"D4",4,10},
{get_ts(10,0,25),1,"D5",5,10},
{get_ts(10,0,30),1,"D6",6,10},
{get_ts(10,0,35),1,"D1",8,10},
{get_ts(10,0,40),1,"D1",8,10},
{get_ts(10,0,45),1,"D1",8,10},
};

Er gibt mir auf dem oled folgende abgerechnete Werte aus

940 940 940 940
940 940 680 -91

Wenn 10:00:45 abgelaufen ist verändert es sich folgendermaßen:


940 940 940 940
-51 80 958 -91

Die farbigen Werte dürfte er gar nicht auswerfen, sondern jeweils von dem betehenden ersten Wert abziehen.

Was hab ich da nur wieder angefangen, SORRY
 

rrnetz

Member
Könntest du mal deine komplette config.h posten
 

hugo1892

Member
Klar

Code:
#include <RTClib.h>

#define PUMPCOUNTS 9      // Number Pumps
#define RELAYCHANNELS 4
#define RELAYTIMES 6
#define KEYPADI2C 0x20
#define LCD_ADR 0x27


  // PIN MAPPING NICHT ÄNDERN!!!
  #define PIN_TEMP A1   // Temperatur
  #define RELAY1 2
  #define RELAY2 3
  #define RELAY3 4
  #define RELAY4 5
  #define DOSE7 6  
  #define DOSE6 7   
  #define DOSE5 8  
  #define DOSE4 9     // Dosierpumpe 
  #define DOSE3 10      // Dosierpumpe 
  #define DOSE2 11     // Dosierpumpe 
  #define DOSE1 12     // Dosierpumpe 

// Größe Vorratsflaschen Dünger in ml
const int dose_val = 991;

// Neu zuordnung der Pins für Dosierung
const byte dosingPins[]={DOSE1,DOSE2,DOSE3,DOSE4,DOSE5,DOSE6,};
// Milliliter per minute in Reihenfolge wie Pumpen oben Achtung Maximum 255ml/Minute
const byte dosingMlMin[]={60,60,60,60,60,60,};

// Pumpen Einstellungen
// Uhrzeit, Aktive, Name, Pin Adresse (von array oben 0 ist erste Pumpe "Dose1"), Status (ignorieren, nur wichtig für Programm), Milliliter pro Dosierungconst 
PUMP dosing[] = { 
{get_ts(10,0,5),1,"D1",8,10},
{get_ts(10,0,10),1,"D2",2,10},
{get_ts(10,0,15),1,"D3",3,10},
{get_ts(10,0,20),1,"D4",4,10},
{get_ts(10,0,25),1,"D5",5,10},
{get_ts(10,0,30),1,"D6",6,10},

{get_ts(10,0,35),1,"D1",8,10},
{get_ts(10,0,40),1,"D1",8,10},
{get_ts(10,0,45),1,"D1",8,10},
};

// Wird verwendet um zu sehen ob schon dosiert wurde. Nicht Ändern!!!
boolean dosingState[PUMPCOUNTS];

const byte relayPIN[]= {RELAY1,RELAY2,RELAY3,RELAY4};
RELAY relays[RELAYCHANNELS][RELAYTIMES] = { 
  {{get_ts(11,24,5),1},{get_ts(11,24,10),0},{get_ts(11,24,15),1},{get_ts(11,24,20),0},{get_ts(11,24,25),1},{get_ts(11,24,30),0}},
  {{get_ts(11,24,5),1},{get_ts(11,24,10),0},{get_ts(11,24,15),1},{get_ts(11,24,20),0},{get_ts(11,24,25),1},{get_ts(11,24,30),0}},
  {{get_ts(11,24,5),1},{get_ts(11,24,10),0},{get_ts(11,24,15),1},{get_ts(11,24,20),0},{get_ts(11,24,25),1},{get_ts(11,24,30),0}},
  {{get_ts(11,24,5),1},{get_ts(11,24,10),0},{get_ts(11,24,15),1},{get_ts(11,24,20),0},{get_ts(11,24,25),1},{get_ts(11,24,30),0}}
};
 

omega

Well-Known Member
Hi,

Moritz' Code greift auf die Arrays dosingMlMin, dosing und dosingState mit den Indizes 0 bis PUMPCOUNTS-1 zu. Da kommt bei PUMPCOUNTS = 9 und nur 6-elementigen Arrays nur Schrott bei den letzten drei raus.

Deine pinAddr in dosing sind auch falsch. Die sind der Index auf den Array dosingPins. Der hat bei Dir aber nur 6 Elemente.

Grüße, Markus
 

rrnetz

Member
hugo1892":2wkd65le schrieb:
// Größe Vorratsflaschen Dünger in ml
const int dose_val = 991; Komische flasche, nimm 1000 immer die volle flasche, für 500ml 500 usw.

// Neu zuordnung der Pins für Dosierung
const byte dosingPins[]={DOSE1,DOSE2,DOSE3,DOSE4,DOSE5,DOSE6,}; nach DOSE6 das komma weg
// Milliliter per minute in Reihenfolge wie Pumpen oben Achtung Maximum 255ml/Minute
const byte dosingMlMin[]={60,60,60,60,60,60,};nach letzter60 komma weg

/

und wichtig wie Omega schrieb PumpCount passend zu den Pumpen die du verwendest
 

omega

Well-Known Member
Hallo René,

das Komma am Ende einer Array-Initialisierung ist syntaktisch optional und korrekt.

Grüße, Markus
 

rrnetz

Member
ok
bei mir im code ist es nicht da und es ging trotzdem. hätt ja klappen können
Kann leider nicht testen meins ist defekt.
 

hugo1892

Member
HI Rene,

das mit der Flasche hab ich nur gemacht um es besser nachvolliehen zu können.

Das Markus schreibt kann ich nicht ganz nachvollziehen.

Deine pinAddr in dosing sind auch falsch. Die sind der Index auf den Array dosingPins. Der hat bei Dir aber nur 6 Elemente.

Wie muss ich es schreiben meisnt du?

DAnke Euch
 
Ähnliche Themen
Themenersteller Titel Forum Antworten Datum
bastifantasti Hat Jemand Erfahrung mit elektr. Dosierpumpen?? Technik 13
B Dosierpumpen, verschiedene Hersteller? Technik 1
Mr-K Inline Dosierer für Dosierpumpen Bastelanleitungen 9
T Dosierpumpen Jebao DP-4 und Kamoer KSP-F03A Technik 2
M Dosierpumpen über Homematic steuern Technik 6
Erwin Dosierpumpen - Es wird immer unerträglicher.... Technik 5
T Dosierpumpen für Düngerautomatisierung ;) Bastelanleitungen 8
M Dünger über Dosierpumpen zuführen! Technik 5
O Dosierpumpen Anlage bauen Technik 21
Jakob.K Honiggurami mit Parasiten infiziert? Fische 3
J 100x40x50 Floatglas mit Giesemann Aquarienvorstellungen 4
E Gibt es beobachtungen das Becken mit HMF Filtern zu mehr Algen neigen? Technik 12
DEUMB 64 Liter-Würfel mit Xiphophorus pygmaeus/ Zwergschwertträgern Fische 19
Maj.Monogwam Probleme mit Schwebeteilchen Kein Thema - wenig Regeln 17
Maj.Monogwam Nano-Cube/Aquarium/Terrarium mit LED Biete Technik / Zubehör 0
Wuestenrose Entkarbonisierung – was passiert mit der Leitfähigkeit? Kein Thema - wenig Regeln 11
Maj.Monogwam Erfahrungen mit Betta in 20L-Becken?! Kein Thema - wenig Regeln 4
mich2525 Problem mit Zeitsteuerung nach Zeitumstellung Technik 15
F Scapers Tank 70l mit WIOdecor-Kit Aquarienvorstellungen 12
S Verkaufe meine Life Aqua Master Pro 2nd Series! Noch mit Garantie und Rechnung! Biete Technik / Zubehör 13

Ähnliche Themen

Oben