2 Pumpen zu gewissen Zeiten ansteuern

Hallo,
möchte mir, für mein Aquarium, einen Düngeautomat bauen. Dazu wollte ich mir zwei Dosierpumpen besorgen, die dann vom Arduino, über Relais, angesteuert werden sollen.
Möchte mich, bevor ich mir die Materialien besorge erstmal erkundigen ob es überhaupt möglich ist den Arduino permanent am Strom hängen zu haben um dann alle 12 Stunden abwechselnd die Pumpen für eine Sekunde laufen zu lassen.
lg Marko

Ja, funktioniert problemlos. Mehr Fragen hast du noch nicht? :wink:

Viel einfacher geht wirklich nicht :slight_smile:
Wenn es nur um die 12 Stunden und die eine Sekunde geht brauchst du noch nicht mal ein Uhrmodul,
das kann dann der Arduino auch so.
gruss

Danke. Mehr fragen habe ich noch nicht. Muß mir nun erstmal das Board, die Pumpen und die Relais etc. ordern.
Obwohl, da wäre noch was. Welches Board würdet ihr dafür nehmen? Ich hatte an den Nano gedacht.
Wenn ich alles habe kommen bestimmt noch fragen.
lg Marko

maverick1509:
Viel einfacher geht wirklich nicht :slight_smile:
Wenn es nur um die 12 Stunden und die eine Sekunde geht brauchst du noch nicht mal ein Uhrmodul,
das kann dann der Arduino auch so.
gruss

Welche Vorteile hätte denn so ein Uhrenmodul? Könnte ich dann zu gewissen Uhrzeiten die Pumpen ansteuern? Die Uhr würde auch ohne Strom weiter laufen?
lg Marko

Ich würde nicht den Nano nehmen, der ist zu Teuer:
http://www.watterott.com/de/Arduino-Nano (40 €)

Nimm lieber diese Komponenten, mit denen bist du auf Dauer, deutlich günstiger:
Wattuino Pro Mini 5V/16MHz - Watterott electronic (10 €)
FTDI Breakout (FT231X) - USB-Seriell-Wandler - Watterott electronic (Programieradapter) (11 €)

Bei jedem weiteren Projekt kann man dann den Wattuino nehmen und spart ordentlich Geld

Der Vorteil bei einem Uhren Modul liegt darin, das du eine feste Uhrzeit hast, und damit dein Projekt steuern kannst. Wenn du immer nur alle 12 Stunden dein Event auslöst, kannst du nach einem längerem Stromausfall die Zeit, wann die 12 Stunden um sind nicht mehr genau bestimmen. Entweder startet die Wartezeit dann von neuem, oder deine Relais ziehen mitten in der Nacht an, da du den Zeitpunkt nur relative bestimmen kannst, aber nicht absolute. Dies geht nur mit einer Uhr.

Jetzt habt ihr mich neugierig gemacht. Was benötige ich denn alles wenn ich so ein Uhrenmodul mit integrieren möchte. Ist ja doch praktischer da ich ja, wenn ich mal im Aquarium hantiere, den Strom ausschalte und dann ja jedesmal die Zeit wieder von vorne anfängt. Ich sehe schon, es wird doch komplizierter als geplant.

Das sind die Uhrmodule:
http://www.ebay.de/itm/I2C-RTC-DS1307-AT24C32-Real-Time-Clock-Realtime-Module-Batterie-fur-AVR-ARM-PIC-/261031558162?pt=Bauteile&hash=item3cc6b17c12

Eine Frage, wenn du 230V steuern willst kann ich dir aus eigener Erfahrung sagen, nimm SSR, keine normalen Relais.
Und willst du auch was sehen oder die Uhrzeit stellen, dann brauchst du auch noch ein LCD-Display, z.B.
http://www.ebay.de/itm/2004-Character-LCD-Module-Display-Anzeigen-20X4-20-4-204-Zeichen-For-Arduino-NEU-/121041735135?pt=Bauteile&hash=item1c2ea64ddf
gruss

Hi,

ich würde an deiner Stelle lieber den Arduino Uno kaufen.
Er ist mit 25 Euro unwesentlich teuerer als der Wattuino+FTDI und du unterstützt damit auch die Arduino-Plattform!
Der Leonardo ist sogar günstiger.

Wenn du später wirklich günstig etwas herstellen möchtest, dann greifst du eh auf den passenden Atmega Chip + Rohkomponennten.

Falls du Uhrzeitmodul einsetzen möchtest, dann musst du dieses auch irgendwie einstellen. Und schon bist du sehr schnell
mit der Anzeige + Steuerungsbuttons dabei. Fang lieber wie geplant an (jeweils nach 12 Stunden Pumpen ansteuern).
Ausbauen kannst du später dann immer noch.

Grüße
Nighti

HI Marko,

ich habe mir für mein BEcken ebenfalls eine 4-fach Dosierpumpe gebaut.
Ursprünglich habe ich das mit einem ULN2003 geregelt, habe den jetzt aber durch ein 4fach Relais ausgetauscht - bin damit zufriedener.
Ich habe mir damals einfach eine BreadboardVersion des Arduino zusammen gelötet. Alternativ kannst Du jedes Arduino Modell nehmen, abhängig davon was du noch alles machen möchtest. Nur das reine schalten der Pumpen und optional noch ne RTC geht mit jedem Arduino. Schau einfach nach der günstigsten Variante/Shop.

Eine RTC wäre schon zu empfehlen, da (meines Wissens nach) Du sonst nur mit dem zählen der millis() arbeiten kannst. Soweit ich weiß laufen die nach 52 Tagen über, vermutlich gibts auch dafür eine Lösung aber RTC ist einfach die charmanteste und genaueste. Und kostet in der Bucht fertig gelötet nicht die Welt.

Hast Du schon die Pumpen? Ich denke eine Zeitschalt von einer Sekunde wird eng - gefühlt würde ich sagen, dass die PUmpen dazu einfach zu langsam reagieren bzw zu ungenau sind, als dass dann da genau die passende Menge dosiert wird. Darf wirklich nur eine Sekunde geschalten werden?? Ggfs. nach einer Pumpe schauen, die einen engeren Schlauch hat??

Der COde für die Schaltung ist sehr simpel.

Bei Fragen kannst mich gern jederzeit anhauen.
Werde die Tage mein Projekt auch noch vorstellen, bau mir grad noch ein Gehäuse.

Warix:
Jetzt habt ihr mich neugierig gemacht. Was benötige ich denn alles wenn ich so ein Uhrenmodul mit integrieren möchte. Ist ja doch praktischer da ich ja, wenn ich mal im Aquarium hantiere, den Strom ausschalte und dann ja jedesmal die Zeit wieder von vorne anfängt. Ich sehe schon, es wird doch komplizierter als geplant.

Hoffe du hast trotzdem einen FI installiert :wink:
Zudem kannst du den Arduino besorgt am Strom laufen lassen, der braucht nur Niedrigspannung, da passier nichts.

Eine Frage, wenn du 230V steuern willst kann ich dir aus eigener Erfahrung sagen, nimm SSR, keine normalen Relais.
gruss

Was spricht denn gegen normale Relais, die mit 5v Spannung 230V schalten können? Nur der Interesse halber, da alle Arduino Shields die ich kenne, son StandardRelay nutzen.
Was ist der VOrteil eines SolidStatesRelais?
Abgesehen davon, vermute ich, dass die Dosierpumpe bei 12 oder 24v laufen wird. ZUmindest meine.

Gruß
THorsten

Ich habe mich nun entschieden das ganze mit einem Arduino Uno Uhrmodul und Display zu versuchen. Vielleicht kann ich das ganze dann später noch erweitern um auch das Licht damit zu steuern und die Temperatur zu überwachen.
Somit benötige ich:

  1. Arduino Uno (http://www.ozhobbies.eu/?module=product_info&products_id=1322)
  2. Uhrmodul (http://www.ozhobbies.eu/?module=product_info&products_id=1470)
  3. Relaisplatine (http://www.ozhobbies.eu/?module=product_info&products_id=1480)
  4. LCD Shield (LCD Shield für Arduino [DFR0009] - 10.10EUR : komputer.de, Arduino Open Source Hardware)
  5. Viel Hilfe beim Programmieren. :slight_smile:

@Thorsten
das ist ja passend. Welche Pumpen hast Du denn genommen? Bis jetzt bin ich noch am planen und suchen. Ist auch das erste Projekt mit einem Arduino was ich selbst auf die Beine stellen möchte. Habe mir zwar schon eine Steuerung zur Tropfenfotografie gebaut aber dafür gab es fertige Scripts im Netz.

@Thorsten
gegen normale Relais spricht, das schon viele hier, ich eingeschlossen, massive Probleme mit den Einschaltspitzen der Relais hatten.
Mir sind immer wieder die LCD-Displays unkontrolliert abgestürzt und das nicht nur bei einem Projekt. War nicht in den Griff zu bekommen.
Seit dem Einsatz der SSR (seit mehr als einem Jahr) nicht einmal mehr ein Problem gehabt, und vorher wirklich täglich.
gruss
Bernward

Hi,
ich nutze diese hier: http://www.ebay.de/itm/Schlauchpumpe-Dosierpumpe-Peristaltikpumpe-2-4-l-h-24V-/350588023435?pt=Pumpen&hash=item51a0acb28b
Bin bisher damit sehr zufrieden, habe nur leicht Dosierunterschiede festgestellt, die man aber durch die ANpassung der DOsierzeit ausgleichen kann.
Bei einer Sekunde wirds natürlich schwierig :wink:
VG

Hi Warix,

beim gewünschten LCD Shield musst du aufpassen. Habe es mir auch gekauft und alles versucht dieses länger als 2 Tage am Stück zu betreiben.
Mein Problem bei diesem Shield ist, dass es sich nach etwas mehr als 2 Tagen dauerlauf nicht mehr aktualisieren lässt.
Ein Softwareproblem konnte ich ausschliessen. Es liegt wirklich am eingesetzten Chip beim Display.

Kaufe dir lieber eins, was für Dauereinsatz geeignet ist (was du schliesslich haben möchtest).

Grüße
Nighti

Nighti:
Hi Warix,

beim gewünschten LCD Shield musst du aufpassen. Habe es mir auch gekauft und alles versucht dieses länger als 2 Tage am Stück zu betreiben.
Mein Problem bei diesem Shield ist, dass es sich nach etwas mehr als 2 Tagen dauerlauf nicht mehr aktualisieren lässt.
Ein Softwareproblem konnte ich ausschliessen. Es liegt wirklich am eingesetzten Chip beim Display.

Kaufe dir lieber eins, was für Dauereinsatz geeignet ist (was du schliesslich haben möchtest).

Grüße
Nighti

Danke für die Info. Welches würdest Du denn vorschlagen? Fand das halt ganz praktisch da schon Tasten mit drauf sind.

Ich habe mir bei Pollin dieses geholt.
Die ersten Tests von mehreren Wochen waren positiv.

Nighti:
beim gewünschten LCD Shield musst du aufpassen. Habe es mir auch gekauft und alles versucht dieses länger als 2 Tage am Stück zu betreiben.
Mein Problem bei diesem Shield ist, dass es sich nach etwas mehr als 2 Tagen dauerlauf nicht mehr aktualisieren lässt.
Ein Softwareproblem konnte ich ausschliessen. Es liegt wirklich am eingesetzten Chip beim Display.

Das wiederum kann ich mir gar nicht vorstellen. Das sind doch HD44780 bzw. kompatible LCD-Controller, wie man sie überall findet. Und dass es Serien gibt, die sich nach zwei Tagen nicht aktualisieren lassen klingt schon etwas merkwürdig. Woher weiß denn das LCD, dass zwei Tage um sind? :smiley:

sth77:
Das wiederum kann ich mir gar nicht vorstellen.

Das konnte ich mir auch nicht vorstellen. Hab sogar zum Schluss das Display vom Shield abgelötet und selbst verkabelt um selbst diese Möglichkeit auszuschliessen.
Man kann sehr einfach die Laufzeit testen. Lasse die Buchstaben a-z jede Sekunde anzeigen (wenn bei z angekommen, wieder bei a anfangen). In meinem Fall
war die Laufzeit reproduzierbar knapp über 2 Tage. Danach blieb die Anzeige stehen und liess sich nicht mehr aktualisieren.
Softwareseitig konnte ich jegliche Buffer-Overflows und ClearDisplays() ausschliessen.

Wie bereits geschrieben läuft das andere LCD problemlos.

Wenn man nach LCD-Displays googelt steht manchmal in der Beschreibung, dass sie nicht für Dauereinsatz geeignet sind. Bei anderen wiederum wird es
explizit erwähnt, dass es geht. Das hat meine Vermutung bestärkt, dass es an der verwendeten Hardware liegt und nicht jedes HD44780-Kompatibles Display
24x7 laufen kann.

Warix:
Ich habe mich nun entschieden das ganze mit einem Arduino Uno Uhrmodul und Display zu versuchen. Vielleicht kann ich das ganze dann später noch erweitern um auch das Licht damit zu steuern und die Temperatur zu überwachen.
Somit benötige ich:

  1. Arduino Uno (http://www.ozhobbies.eu/?module=product_info&products_id=1322)
  2. Uhrmodul (http://www.ozhobbies.eu/?module=product_info&products_id=1470)
  3. Relaisplatine (http://www.ozhobbies.eu/?module=product_info&products_id=1480)
  4. LCD Shield (http://www.komputer.de/zen/index.php?main_page=product_info&products_id=33&zenid=eb7d850f16838c9a98849385049356b9)
  5. Viel Hilfe beim Programmieren.

Bei Deinen geringen Programmierkenntnissen halte ich das für eine suboptimale Entscheidung.

Soweit ich das sehe, willst Du den Arduino quasi als Zeitschaltuhr verwenden, und eine/zwei Zeitschaltuhr/en verwendest Du nur deshalb nicht, weil bei Schaltuhren die kleinste programmierbare Schaltzeit 15 Minuten (mechanische Schaltuhr) oder 1 Minute (elektronische Schaltuhr) ist, Du aber eine Schaltzeit von 1 Sekunde für Deine Dosierpumpen benötigst.

Mein Gegenvorschlag für Material:

  1. Arduino Uno (http://www.ozhobbies.eu/?module=product_info&products_id=1322)
  2. Relaisplatine (http://www.ozhobbies.eu/?module=product_info&products_id=1480)
    (warum das vierfach und nicht das zweifach http://www.ozhobbies.eu/bauelemente/relais-interface-shield-2x-10a/ )
  3. USB-Netzteil für den Arduino (hast Du keine Stromversorgung vorgesehen oder hast Du ein Netzteil?)
  4. Zeitschaltuhr (billigste mechanische, die Du kriegen kannst)

Ausführung:
Als erstes nimmst Du die Zeitschaltuhr und programmierst sie so, dass sie alle 12 Stunden das Arduino-Netzteil mit Strom versorgt, z.B. eine viertel Stunde lang, und dann abschaltet. Wie lange genau, ist dabei egal.

Und auf den Arduino kommt ein ganz simples Programm, ohne Uhr, ohne Display, sondern einfach nur mit dieser Programmlogik:
a) Beim ersten Einschalten schalte Pumpe 1 für 1 Sek. ein, danach mache bei zum Ausschalten nichts mehr
b) Beim zweiten Einschalten schalte Pumpe 2 für 1 Sek. ein, danach mache bei zum Ausschalten nichts mehr
c) Und dann wieder bei a) anfangen

Die Schaltvorgänge (Uhrzeit verwalten, Einschalten des Arduino, Ausschalten des Arduino) übernimmt nun die stinknormale Zeitschaltuhr.

Und jedesmal wenn der Arduino eingeschaltet wird, schaltet er bei einem Einschalten die eine Pumpe für eine Sekunde ein. Beim nächsten mal die andere Pumpe. Und dann wieder von vorne.

Ob der Arduino zum 1., 3., 5., 7. mal eingeschaltet wird (1. Pumpe schalten) oder zum 2., 4., 6., 8. mal (2. Pumpe schalten) kann sich der Arduino jedesmal im EEPROM-Speicher merken. Die komplette Programmlogik in Pseudocode sieht dann so aus:

  1. Lies Eeprom-Speicherstelle,
  2. Wenn eine "1" gelesen wurde, dann Relais für Pumpe 1 einschalten, sonst Relais für Pumpe 2 einschalten
  3. Warte 1 Sekunde
  4. Relais wieder abschalten
  5. Wenn 1 gelesen wurde, schreibe 2 in die Eeprom-Speicherstelle, sonst schreibe 1
  6. Programmende (warten aufs Ausschalten durch die Zeitschaltuhr)

Und fertig ist die Laube.

@jurs
die Platine mit 4 Relais hatte ich gewählt damit ich später evtl. auch mein Licht über das Arduino schalten zu können. Dürfte, wenn das mit den Pumpen funktioniert, ja auch nicht mehr so schwer sein. Netzteile habe ich einige hier.
Wenn ich das mit dem RTC Modul gar nicht hinbekomme kann ich ja immer noch die einfache Version nehmen.
Kennst ja das Sprichwort: Warum einfach wenn es auch umständlich geht. :slight_smile:
Werde mir die Sachen mal bestellen. Habe schon mal angefangen mich in fertige Scripte einzulesen um daraus etwas zu lernen. Mal sehen wie es dann beim Projekt klappt. Erstmal allerdings nur mit LEDs.