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
H Probleme mit Mangelerscheinung Erste Hilfe 7
H Chihiros LED A251 mit Denerle 20L Nanobecken zu viel Licht? Beleuchtung 4
D Wasserpantscher Photometer mit „Fremdtests“ Technik 0
L RF Wireless mit Solid LS verbinden Technik 0
Heiko Muth (Sumpfheini) Cryptocoryne siamensis jetzt wieder mit Art-Status Pflanzen Allgemein 1
Maj.Monogwam Biete Co2 Flasche mit Diffusor 500g Biete Technik / Zubehör 0
Maj.Monogwam Biete Eheim 126L Aquarium mit Unterschrank! Raum Erfurt/Thüringen Biete Technik / Zubehör 0
Maj.Monogwam Biete 2KG Co2-Anlage US-Aquaristik mit TÜV! Biete Technik / Zubehör 0
N Osmoseanlage Proline X3 mit sera GH/KH-plus 250 ml und sera shrimp mineral salt 100 ml Aufsalzen Nährstoffe 42
D Blätter mit Mangelerscheinung oder Algen abschneiden? Ja oder nein? Pflanzen Allgemein 5
Oli86 Uniq FS 600 LED mit WLAN Controller und verstellbarer Alu-Halterung + weiteres Zubehör | OVP | Top Zustand Biete Technik / Zubehör 0

Ähnliche Themen

Oben