Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Dein Meerwasser Forum für Nanoriffe. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Aquafish007

Bastler vor dem Herrn

  • »Aquafish007« ist der Autor dieses Themas
  • Deutschland

Beiträge: 1 275

Wohnort: Bergisch Gladbach

Beruf: Biotechnologe

Aktivitätspunkte: 6630

Danksagungen: 23

  • Nachricht senden

1

Donnerstag, 29. August 2013, 11:01

DIY Arduino Dosierpumpe

Hallo zusammen,

also ich ziehe das ganze jetzt mal von hinten auf.

Ich habe meinen Arduino Sketch auf ein Minimum reduziert und daraus eine Dosierpumpensteuereinheit programmiert, mit der man initial 4 Dosierpumpen steuern kann. Soll heißen, man kann:

1. Jeden Kanal manuell ein/aus-schalten
2. Jeden Kanal auf volumetrische Dosierung kalibrieren. (Geht ganz einfach: Schlauch an Spritze; Set Time Loop-Button klicken, abwarten Volumen von Spritze ablesen und in einen dafür vorgesehenen Platzhlter eintragen; fertig!)
3. Theoretisch unendlich viele Dosierzeiten pro Tag vergeben: Initial nur 1 (man düngt ja in der Regel nur 1 mal am Tag, abgesehen von Balling)

Viele weitere Funktionen kann man natürlich noch hinzufügen, wie z.B. nachträglich eine Nachfüllautomatik mit zusätzlicher Schlauchpumpe, Temperaturüberwachung, etc.

Natürlich alles ohne Ethernet gedöns. Man hat ein simples Menü, das man über ein Keypad steuern kann. Mehr nicht!

Nun habe ich schonmal im Aquagrow Projekt angegeben, was man alles dafür braucht (Links hierfür sind beispielsweise im Post: 66). Neben dem Arduino (am Besten Mega für spätere Erweiterungsmöglichkeit) benötigt man halt ein RTC Modul, ein 16x2 LCD Keypad, ein Motordrive shield, um 4 Dosierpumpen anzuschließen am Besten ein Protoshield für den Mega (oder man bastelt sich selbst eine Huckepackplatine aus einer Lochrasterplatine) und natürlich 4 Dosierpumpen aus der Bucht und ein kleines Netzteil.


Kostet in der Regel um 30-40 Euro für die Elektronik (exkl. Dosierpumpen). Vielleicht findet ihr ja auch günstigere Varianten


Günstige Varianten gibts z.B. hier:


Proto Kit:


http://www.ebay.de/itm/221041217549?ssPa…984.m1423.l2649


Dosierpumpen:
http://www.ebay.de/itm/151093653767?ssPa…984.m1423.l2649


Also wenn genug Interesse da ist, dann kann ich den gesamten Aufbau für jedermann simpel erklärt hier als Tutorium aufziehen.

Die Sache hat dann nur einen kleinen Haken. Da ich auch sonst einen Hauptberuf habe, werde ich nicht immer direkt antworten können. Aber es gibt hier bestimmt einige Elektroniker die weiterhelfen können.

Sven

Teppichliebhaber

Beiträge: 4 197

Beruf: ZTM

Aktivitätspunkte: 21845

  • Nachricht senden

2

Donnerstag, 29. August 2013, 11:39

Hoi

Natürlich ist da Interesse dran und ich denke nicht nur von meiner Seite aus.

Jedoch hört sich das für mich sehr kompliziert an und da wäre ich dir sehr verbunden wenn du mal so einen schönen Leitfaden erstellen könntest.
Vielleicht traue ich mich dann doch mal daran.

Auf jedenfall super interessante Geschichte.

Sven
Fragen zu Anemonen? Kleines Anemonen 1mal1

Florian

Anfänger

    Deutschland

Beiträge: 54

Wohnort: Viersen

Beruf: Elektriker

Aktivitätspunkte: 290

  • Nachricht senden

3

Donnerstag, 29. August 2013, 11:41

Moin Volker,

coole und eine sehr Preis günstige Idee, aber brauchst du dann kein Relay-Bord ?
Oder die Schaltest du die Pumpen?
Gruß Florian

Aquafish007

Bastler vor dem Herrn

  • »Aquafish007« ist der Autor dieses Themas
  • Deutschland

Beiträge: 1 275

Wohnort: Bergisch Gladbach

Beruf: Biotechnologe

Aktivitätspunkte: 6630

Danksagungen: 23

  • Nachricht senden

4

Donnerstag, 29. August 2013, 11:45

Hallo Florian,

nee, dafür braucht man kein Relay-Board. Man benötigt nur ein Motor drive shield (am Besten eins für 4 Pumpen) und ein Netzteil. Da gibts bei den Chinesen ganz viele. Wie z.B. von SainSmart.

Aquafish007

Bastler vor dem Herrn

  • »Aquafish007« ist der Autor dieses Themas
  • Deutschland

Beiträge: 1 275

Wohnort: Bergisch Gladbach

Beruf: Biotechnologe

Aktivitätspunkte: 6630

Danksagungen: 23

  • Nachricht senden

Florian

Anfänger

    Deutschland

Beiträge: 54

Wohnort: Viersen

Beruf: Elektriker

Aktivitätspunkte: 290

  • Nachricht senden

6

Donnerstag, 29. August 2013, 12:30

Weil ich das immer über ein Relay Board gemacht habe und bin da bis jetzt immer gut mit aus gekommen.
Naja ich schalte das aber auch über mein Raspberry.
Gruß Florian

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Florian« (29. August 2013, 12:32)


Aquafish007

Bastler vor dem Herrn

  • »Aquafish007« ist der Autor dieses Themas
  • Deutschland

Beiträge: 1 275

Wohnort: Bergisch Gladbach

Beruf: Biotechnologe

Aktivitätspunkte: 6630

Danksagungen: 23

  • Nachricht senden

7

Donnerstag, 29. August 2013, 12:35

Kann man natürlich auch machen, ist aber nicht nötig. Bei einem Mtor shield kann man allerdings auch Pumpgeschwindigkeit und Drehrichtung schalten.

Hecht

Düsentrieb

    Deutschland

Beiträge: 3 552

Wohnort: DÜsseldorf

Beruf: ZTM

Aktivitätspunkte: 17995

Danksagungen: 9

  • Nachricht senden

8

Donnerstag, 29. August 2013, 12:43

Volker :6_small28:

shy

Schüler

Beiträge: 134

Aktivitätspunkte: 695

Danksagungen: 1

  • Nachricht senden

9

Donnerstag, 29. August 2013, 12:51

Hallo Volker,

also an einer Schritt für Schritt Erklärung samt Bildern für Neueinsteiger in die Materie gibts es sicherlich sehr viel Interesse! Vielen Dank schon einmal für deine Bemühungen!

MfG Norman

    Deutschland

Beiträge: 1 445

Wohnort: Genthin

Beruf: Entwickler

Aktivitätspunkte: 7455

Danksagungen: 31

  • Nachricht senden

10

Donnerstag, 29. August 2013, 18:40

hi

hab was ähnliches gebastelt ..
das ganze hängt an einem BUS- System ( UART - basierend )
8 Ausgänge für Pumpen
integrierter 12V Schaltregler ( max 1A )
gibt eine kalibrierfunktion ...
dann werden nur die benötigten mengen in ml angegeben
»saddevil« hat folgendes Bild angehängt:
  • IMAG0217.jpg
Dirk

Aquafish007

Bastler vor dem Herrn

  • »Aquafish007« ist der Autor dieses Themas
  • Deutschland

Beiträge: 1 275

Wohnort: Bergisch Gladbach

Beruf: Biotechnologe

Aktivitätspunkte: 6630

Danksagungen: 23

  • Nachricht senden

11

Donnerstag, 29. August 2013, 22:08

So in etwa würde das Initialprogramm dann aussehen:

[http://youtu.be/0WqGD90mcVc


Hier ist jetzt noch kein Motorshield im Einsatz. Hier wird nur ein Arduino Mega, keypad LCD LCD und RTC-Modul (Real Time Clock, also eine Uhr mit Batterie) verwendet.

Mit einem USB Kabel wird der Arduino mit dem PC zum Upload des Programmes verbunden, dazu aber später mehr. Das Gute hierbei ist, der Controler wird gleichzeitig über USB mit Strom versorgt.
Alternativ steht später natürlich noch der vorhandene separate Netzstecker am Arduinoboard bereit.

Aquafish007

Bastler vor dem Herrn

  • »Aquafish007« ist der Autor dieses Themas
  • Deutschland

Beiträge: 1 275

Wohnort: Bergisch Gladbach

Beruf: Biotechnologe

Aktivitätspunkte: 6630

Danksagungen: 23

  • Nachricht senden

Stefan

Plexiglas-Designer

Beiträge: 598

Wohnort: Geilenkirchen

Beruf: CNC-Lasertechnik/

Aktivitätspunkte: 3105

Danksagungen: 1

  • Nachricht senden

13

Freitag, 30. August 2013, 06:28

:6_small28: :6_small28: :6_small28: :6_small28: :6_small28:
das ist cool. da hätte ich doch mal wieder was zum basteln, wofür ich ein schönes kleines gehäuse lasern könnte :2_small9:
Gruß Stefan

TorstenH

Schüler

Beiträge: 137

Aktivitätspunkte: 685

  • Nachricht senden

14

Freitag, 30. August 2013, 10:09

Hallo
Super kommt gerade richtig habe sogar schon alle Teile hir liegen, muss mir nur noch das Display mit Tasten und das motorschield bestellen. Ich hatte schon versucht das selber hin zu bekommen aber leider bekomme ich das alles zusammen nicht ans laufen. Einzelne Teile ja aber alles zusammen nicht.

Danke noch mal für deine Mühe Mfg Torsten

Gesendet von meinem GT-N8000 mit Tapatalk 2

Aquafish007

Bastler vor dem Herrn

  • »Aquafish007« ist der Autor dieses Themas
  • Deutschland

Beiträge: 1 275

Wohnort: Bergisch Gladbach

Beruf: Biotechnologe

Aktivitätspunkte: 6630

Danksagungen: 23

  • Nachricht senden

15

Freitag, 30. August 2013, 10:22

Hallo Torsten,


das bekommen wir schon hin.

Alternativ geht auch folgendes:

http://www.lipoly.de/index.php?main_page…eyword=keyboard


Das benutze ich für meinen Riffcomputer, weil es sich besser ins Gehäuse basteln lässt. Man muss nur die Knopfbelegung anpassen.

Und dazu halt ein HD44780, 2004 (also 20x4) LCD oder 16x2 ohne Keypad.

http://www.ebay.de/sch/i.html?_trksid=p2…cat=0&_from=R40


Wenn man sich dazu ein I2C LCD Backpack holt (gibts meisstens in der Bucht auch als Kombi) dann spart man sich einige Ports, weil alles mit nur 2 Pins (man sagt zu I2C auch two wire) gesteuert wird. Dafür gibts dan eine separate Library. Man verwendet dann nicht mehr die Liquid Crystal Library sondern diejenige mit dem Zusatz I2C.
Aber für den Anfang kann man natürlich auch erstmal mit dem fertigen Kombi LCD beginnen, weil die Tasten schon direkt drauf sind.

Aquafish007

Bastler vor dem Herrn

  • »Aquafish007« ist der Autor dieses Themas
  • Deutschland

Beiträge: 1 275

Wohnort: Bergisch Gladbach

Beruf: Biotechnologe

Aktivitätspunkte: 6630

Danksagungen: 23

  • Nachricht senden

16

Freitag, 30. August 2013, 10:34

Wer schon eingermaßen Fit ist kann schonmal mit dem Dosierpumpensketch rumspielen. Dazu gibts die Library für die Uhr, also das RTC-Modul von Henning Karlsen die einfach mit durch die vorhandene ersetzt wird (am Besten macht ihr aber eine Sicherheitskopie der vorhandenen!).

Diese Library ist deswegen so interessant, weil sie es uns ermöglicht, jeden Pin des Boards zu benutzen. Man ist nicht auf die beiden Pins für SDL und SCA angewiesen. So stehen uns die beiden Ports SDA und SCL (Arduino Uno: Digital 4 und 5; Mega: Digital 20 und 21) für andere wichtigere Dinge bereit wie z.B. eine LCD Benutzung via I2C Backpack.

Man muss im Code nur die beiden Pins 20,21 mit anderen Pins, die man benutzen möchte umbenennen. Ich verwende zum Beispiel ganz gerne Digital-Pin 40 und 41.


Im Ürbrigen habe ich die Library ein bißchen modifiziert, sodass die deutsche Übersetzung der Tage angezeigt werden.

Ansonsten werde ich dann mal in Kürze anfangen im Schnellverfahren die wichtigsten Basics zu erklären und eine Bauanleitung zu erstellen.
»Aquafish007« hat folgende Dateien angehängt:
  • Dosierpumpe_20130827.zip (7,41 kB - 386 mal heruntergeladen - zuletzt: 29. Oktober 2018, 08:30)
  • DS1307.zip (71,97 kB - 278 mal heruntergeladen - zuletzt: 29. Oktober 2018, 08:30)

TorstenH

Schüler

Beiträge: 137

Aktivitätspunkte: 685

  • Nachricht senden

17

Freitag, 30. August 2013, 14:04

Hallo
Super das teil von lipoy habe ich gesucht, jetzt nur noch das teil für i2c Ansteuerung, , für das Display. Ich habe immer mit den normalen Displays rumgespielt, und auch einige Sketche aus dem Netz durchprobiert, leider habe ich es durch die Verwendung des i2c Anschluss nicht hingekommen.
Dann werde ich heute noch ein paar Teile bestellen, ich dosiere zur Zeit jeden Tag per Hand, das nerft langsam.
Mfg Torsten

Gesendet von meinem GT-N8000 mit Tapatalk 2

TorstenH

Schüler

Beiträge: 137

Aktivitätspunkte: 685

  • Nachricht senden

18

Freitag, 30. August 2013, 14:36

Hallo
Habe gerade mir mal Sketch angeschaut, ich sehe gerade das ich eine math.h brauche. Habe schon danach im Netz geschaut ich finde sie nicht zum download. Ist es möglich das du alle erforderlichen Libraries online stellst. Die neue DS1307 habe ich schon im Libraries Ordner.

das sind die Fehlermeldungen die ich bekomme :115E17~112:

Danke Torsten

Dosierpumpe_20130827:19: error: 'Time' does not name a type
Dosierpumpe_20130827:21: error: 'Time' does not name a type
Dosierpumpe_20130827:11: error: 'DS1307' does not name a type
Dosierpumpe_20130827:30: error: 'Time' does not name a type
Dosierpumpe_20130827:77: error: 'Time' does not name a type
Dosierpumpe_20130827:89: error: 'Time' does not name a type
Dosierpumpe_20130827:101: error: 'Time' does not name a type
Dosierpumpe_20130827:113: error: 'Time' does not name a type
Dosierpumpe_20130827.ino: In function 'void setup()':
Dosierpumpe_20130827:141: error: 'rtc' was not declared in this scope
Dosierpumpe_20130827:150: error: 'Dosierung1' was not declared in this scope
Dosierpumpe_20130827:159: error: 'Dosierung2' was not declared in this scope
Dosierpumpe_20130827:168: error: 'Dosierung3' was not declared in this scope
Dosierpumpe_20130827:177: error: 'Dosierung4' was not declared in this scope
Dosierpumpe_20130827.ino: In function 'void loop()':
Dosierpumpe_20130827:195: error: 'Time' was not declared in this scope
Dosierpumpe_20130827:195: error: expected `;' before 'time'
Dosierpumpe_20130827:198: error: 'time' was not declared in this scope
Dosierpumpe_20130827:237: error: 'time' was not declared in this scope
Dosierpumpe_20130827:249: error: 'Dosierung1' was not declared in this scope
Dosierpumpe_20130827:250: error: 'Dosierung2' was not declared in this scope
Dosierpumpe_20130827:251: error: 'Dosierung3' was not declared in this scope
Dosierpumpe_20130827:252: error: 'Dosierung4' was not declared in this scope
display.ino: In function 'void Display(int)':
display:14: error: 'rtc' was not declared in this scope
display:18: error: 'FORMAT_SHORT' was not declared in this scope
display:33: error: 'Dosierung1' was not declared in this scope
display:48: error: 'Dosierung2' was not declared in this scope
display:63: error: 'Dosierung3' was not declared in this scope
display:78: error: 'Dosierung4' was not declared in this scope
menuWerte.ino: At global scope:
menuWerte:50: error: 'Time' does not name a type
menuWerte:156: error: 'Time' does not name a type
menuWerte.ino: In function 'void setDisplayDate(int, int, int)':
menuWerte:237: error: 'Time' was not declared in this scope
menuWerte:237: error: expected `;' before 't'
menuWerte:242: error: 't' was not declared in this scope
menuWerte:244: error: 't' was not declared in this scope
menuWerte:246: error: 't' was not declared in this scope
menuWerte:250: error: 't' was not declared in this scope
menuWerte:252: error: 't' was not declared in this scope
menuWerte:254: error: 't' was not declared in this scope
menuWerte:272: error: 'rtc' was not declared in this scope
menuWerte:272: error: 't' was not declared in this scope
menuWerte.ino: In function 'void setDisplayDow(int, int, int)':
menuWerte:292: error: 'Time' was not declared in this scope
menuWerte:292: error: expected `;' before 't'
menuWerte:297: error: 't' was not declared in this scope
menuWerte:309: error: 'rtc' was not declared in this scope
menuWerte:309: error: 't' was not declared in this scope
menuWerteSetzen.ino: In function 'void MenuWerteSetzen()':
menuWerteSetzen:22: error: 'rtcClock' was not declared in this scope
menuWerteSetzen:22: error: 'rtc' was not declared in this scope
menuWerteSetzen:23: error: 'setDisplayTime' was not declared in this scope
menuWerteSetzen:28: error: 'rtcClock' was not declared in this scope
menuWerteSetzen:28: error: 'setDisplayTime' was not declared in this scope
menuWerteSetzen:29: error: 'rtc' was not declared in this scope
menuWerteSetzen:84: error: 'Dosierung1' was not declared in this scope
menuWerteSetzen:84: error: 'setDisplayTime' was not declared in this scope
menuWerteSetzen:87: error: 'Dosierung1' was not declared in this scope
menuWerteSetzen:87: error: 'setDisplayTime' was not declared in this scope
menuWerteSetzen:150: error: 'Dosierung2' was not declared in this scope
menuWerteSetzen:150: error: 'setDisplayTime' was not declared in this scope
menuWerteSetzen:153: error: 'Dosierung2' was not declared in this scope
menuWerteSetzen:153: error: 'setDisplayTime' was not declared in this scope
menuWerteSetzen:216: error: 'Dosierung3' was not declared in this scope
menuWerteSetzen:216: error: 'setDisplayTime' was not declared in this scope
menuWerteSetzen:219: error: 'Dosierung3' was not declared in this scope
menuWerteSetzen:219: error: 'setDisplayTime' was not declared in this scope
menuWerteSetzen:282: error: 'Dosierung4' was not declared in this scope
menuWerteSetzen:282: error: 'setDisplayTime' was not declared in this scope
menuWerteSetzen:285: error: 'Dosierung4' was not declared in this scope
menuWerteSetzen:285: error: 'setDisplayTime' was not declared in this scope

Aquafish007

Bastler vor dem Herrn

  • »Aquafish007« ist der Autor dieses Themas
  • Deutschland

Beiträge: 1 275

Wohnort: Bergisch Gladbach

Beruf: Biotechnologe

Aktivitätspunkte: 6630

Danksagungen: 23

  • Nachricht senden

19

Freitag, 30. August 2013, 14:36

Das Keypad ist eigentlich von DFrobot, allerdings haben die das nicht mehr im Angebot auf der HP. Schade eigentlich. Dafür gibts bei denen jetzt größere Einbaukeypads.

Ich werde hier allerdings erstmal alles ohne das I2C LCD Backpack erklären. Wer es unbedingt mit I2C machen möchte kann es gerne machen. Ist halt ein zusätzliches Bauteil was Geld kostet. Wer es allerdings schon hat kann froh sein, denn es ist schon eine echte Erleichterung.

Aquafish007

Bastler vor dem Herrn

  • »Aquafish007« ist der Autor dieses Themas
  • Deutschland

Beiträge: 1 275

Wohnort: Bergisch Gladbach

Beruf: Biotechnologe

Aktivitätspunkte: 6630

Danksagungen: 23

  • Nachricht senden

20

Freitag, 30. August 2013, 16:10

Hallo Torsten,

Papperlapapp, entpacke die gesamte Zip in einen Ordner. Dann öffnest Du "Dosierpumpe_20130827", alle anderen Files die benötigt werden öffnen sich dann automatisch in Arduino.

Wichtig: Alles Files müssen unbedingt im selben Ordner sein, sonst findet die SW nicht die dazugehörigen Files.

Du hast wahrscheinlich das falsche File geöffnet!

math brauchst du nicht!

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Aquafish007« (30. August 2013, 16:11)


Zurzeit sind neben Ihnen 3 Benutzer in diesem Thema unterwegs:

3 Besucher

Social Bookmarks

Counter:

HTML Editor - Full Version
Hits heute: 12 615 Klicks heute: 21 836
Hits pro Tag: 20 085,6 Klicks pro Tag: 48 479,37