DIY Arduino Dosierpumpe

  • Hi Volker,


    mein 16x2 Display hat noch nicht mal eigene Pins. Wie ich herausgefunden habe funktionieren auch nicht alle Kabel einwandfrei. Daher könnte ich mir vorstellen, dass das Display aufgrund dessen nicht läuft wie es soll.


    Ich werde mir das 20x4 I2C bestellen. Das kann ich doch direkt anschließen, oder brauche ich ein weiteres Schield dafür?
    Bei den Buttons dachte ich mir, dass ich die viellleicht gegen einen Analogstick austausche. Irgendetwas muß ich an dem Ding ja auch selber Programieren und den Stick habe ich schon.


    Ich will die Pumpen nur mit 12 Volt betreiben. Wenn ich es richtig verstehe, dann haben die dadurch zwar nur die halbe Leistung, aber 40ml/min reicht dicke. Hinzu kommt der Vorteil, dass ich den Arduino damit ohne weitere Komponente betreiben kann.

  • Ich habs gerade herausgefunden:


    Die DS1307 Library von Henning Karlsson akzeptiert so wie es aussieht nur die Bezeichnung der Digitalports. Da man die Analogports von A0 beginnend als weitere Digitalports bezeichnen kann (Digitalport 13 ist der höchste offiziell angegebene Port am Arduino Uno), und demnach A0 = Digitalport 14 ist.


    Somit ist A4 = Digital 18 und A5 = Digital 19.


    Also schreibt ihr beim Uno dann:



    //Initialisierung
    DS1307 rtc(18,19);


    anstelle von



    //Initialisierung
    DS1307 rtc(4,5);


    in den Sketch!


    Bitte gebt mal bescheid, ob das bei euch auch funktioniert. Am besten lötet ihr provisorisch eure Strippen in die Lötösen unterhalb A4 und A5 des LCD-Shields ein um ein Wackelkontakt zu vermeiden.

  • Hallo Ben,


    ja, das sollte richtig sein. So verstehe ich das auch. Also ein dickes 12 V Netzteil und Du kannst alles zusammen anschließen.


    Dann brauchst Du auch nicht die beiden Kondensatoren C7 und C8 am Shield umlöten. Allerdings musst Du dann darauf achten, dass Du trotzdem Power Shield und Arduino separat bestromst. Dann muss auch der Jumper vom Motorshield gezogen werden.


    In der Regel ist das natürlich schon so, dass Du dass dann direkt anschließen kannst. Allerdings musst Du Dein RTC Shield auch irgendwie bzw. irgendwo befestigen. Ich kann nur dazu raten, kaufe Dir ein sog. Protoshield (entsprechend der Größe zu dem jeweiligen Board). Da sind dann auch gleich die Pins zum Anlöten direkt dabei und Du steckst nachher diese Platine Huckepack auf Dein Board drauf.


    Alternativ kann man sich natürlich auch eine Lochrasterplatine zurechtschnitzen, und muss dann die Langen Pins, sog. Pin Header (hier und hier ) separat kaufen = teuer! Hier stimmt allerdings bei einer Seite der Abstand nicht und man muss sich eine Pin Header Leiste blöde zurechtbiegen.

  • Oh man Volker, so viel Bahnhof für mich. Aber trotzdem hochinteressant.

    Beste Grüße
    Harald


    Freunde gibt es viele. Nur die Echten wird man erkennen.

  • Hallo Volker,


    Bei mir gehts leider immernoch nicht. Habe heute extra eine neue RTC auf Amazon bestellt und dort dann eine Zeichnung für den UNO entdeckt und gesehen dass Sda und Scl auf den analogen Port müssen nicht auf den digitalen *schäm*


    Trotzdem löst das mein Problem nicht. Entweder es kommt wieder diese unmöglichen Zeit und Datumsangaben oder das Datum steht auf 0.0.2000 und lässt sich nicht verstellen und die Uhr auf 00:00, die Uhrzeit lässt sich zwar verstellen aber das wird nicht gespeichert sondern immerwieder resettet.


    /edit
    Ich glaubs ja gar nicht jetzt gehts :D Hab mal die beiden Anschlüsse auf der anderen Seite des RCT Moduls genommen und jetzt gehts ohne Probleme. Links scheint wohl ein Wackler dran zu sein.
    Werd mir dann morgen mal Stiftleisten besorgen und die anlöten.


    Könntest du vllt. mal ein Bild hochladen wie du das gemeint hast mit Stiftleisten und Schrumpfschlauch. Ist für mich auch noch viel Bahnhof, sprich ich versteh nicht wie du das mit der Verkabelung lösen willst (das Protoshield für den UNO hab ich auch da)


    lG
    Michael

    Einmal editiert, zuletzt von MoonPie ()

  • zieht bitte zum Test mal wie in folgendem Schema die rtc.set... sachen aus dem EEPROM-Teil raus und kopiert diese unterhalb rtc.halt(false);


    dann kommentiert ihr die drei Zeilen in der EEPROm-Methode raus.


    Dann testet erneut.


    //Unsere Uhr
    rtc.halt(false);


    rtc.setDOW(SATURDAY);
    rtc.setTime(13, 30, 0);
    rtc.setDate(7, 9, 2013);

    //Dosierautomat
    //Wenn im EEPROM noch nichts drinnen steht und damit keine komischen Zahlen beim Auslesen des EEPROMS kommen, kann man Default-Werte setzen, die beim allerersten Start gesetzt werden
    // Ein Beschreibungszyklus dauert 3.3 ms, ich gebe Ihm mal 5 ms.
    // Zur Information: Das Beschreiben des EEPROMS ist "nur" 100.000 mal möglich, danach ist es kaputt!
    if (EEPROM.readInt(0) != 1)
    {
    // rtc.setDOW(SATURDAY);
    // rtc.setTime(13, 30, 0);
    // rtc.setDate(7, 9, 2013);

  • Hi Volker,


    ich habe dieses Kit,


    Da ist ein Protoshield dabei, das aber nicht den kompletten Mega abdeckt. Leider kann man dort auch nicht direkt das Motorshield aufsetzen, da die Steckverbindungen versetzt sind :( Den Sinn von diesem Protoshield habe ich allerdings noch nicht so ganz verstanden.


    Bis jetzt habe ich das Motorshield auf den Arduino gesetzt, vier Knöpfe gebastelt und vier Pumpen angeschloßen. Dies funktioniert auch mit dem externen Netzteil ganz gut, mit dem der Arduino und die Motoren zur gleichen Zeit versorgt werden. Warum ist es wichtig beide mit eigenen Netzteilen zu Versorgen?

  • Hi Ben,


    Wenn ich Volker richtig verstanden habe könnte man auf das Protoshield einfach eine Steckerleiste auflöten und dann kannst du z.B. das RTC Modul bequem aufstecken. Genauso mit anderen zusätzlichen Modulen die später sicherlich auch noch dazukommen werden.


    lG
    Michael

  • Also sieht jetzt für den Test total frickelig aus aber mit der rtc auf a2 und A3 und das I2C LCD auf A4 und A5 gehts prima. Hab allerdings kein keyboard mehr hier was ich jetzt an A0 hängen kann. Aber vom Prinzip her klappts.

  • Ben:


    Verstehe Dein Protoshield Problem im Zusammenhang mit dem Motorshield nicht. Mach ml ein Foto. Das kleine Protoshield wird von hinten her auf den Mega gesetzt nicht vorne wo der USB sitzt.


    Aber im Prinzip hat Michael recht.


    Komisch dass Deim Kit nur ein kleines Protoshield dabei war. löte blos nicht das Breadboard da drauf. Dann kannste keine Stecker mehr drauflöten.

  • Achso Ben,


    Du kannst ruhig 1Netzteil (12V) für Board und M-Shield verwenden, Du musst nur beide separat mit Strom versorgen. Warum? Steht hier:


    http://learn.adafruit.com/adaf…shield/power-requirements




    :2_small9:

  • hmmm ..


    bin kein freund von dem arduino-steck-gedöhns ...
    aber später kann man sowas grundsätzlich auch auf ein PCB setzen ...
    den bootloader gibts für zig controller ...
    µC ist ja nur ein 0815 AVR von atmel


    wenn sich genügend leute finden st sowas auch relativ güsntig

    Dirk

  • Hallo Dirk,


    Ich denke wir machen es jetzt erstmal so.


    Muss halt jemand da sein, der das umsetzt wie Du das vorschlägst.


    Und so schlimm wirds für die Dosierpumpe nicht werden.


    Wenn das mal fertig ist kann jeder der sich damit ein wenig auseinandergesetzt hat mehr mit Arduino anfangen und weitere Projekte selbst starten.

  • Zitat


    Könntest du vllt. mal ein Bild hochladen wie du das gemeint hast mit Stiftleisten und Schrumpfschlauch. Ist für mich auch noch viel Bahnhof, sprich ich versteh nicht wie du das mit der Verkabelung lösen willst (das Protoshield für den UNO hab ich auch da)


    lG
    Michael


    Hallo Michael,


    Mach ich in Kürze für alle zusammen.


    Gruß,
    Volker




    Sent from my iPhone using Tapatalk

  • Hallo Volker,


    Nachdem es bei mir gestern sporadisch funktioniert hat hab ich das Alles auf die provisorische Verdrahtung geschoben (Wackelkontakt). Also hab ich heute Stift und Buchsenleisten angelötet. Nach Langem rumprobieren geht jetzt zumindest die Uhrzeit, aber das Datum bleibt bei mir auf 0.0.2000 und lässt sich auch nicht verstellen.


    Auch hat zwischenzeitlich auch mal das Display das rumblinken angefangen.


    Kann es vllt doch sein, dass die Uhr und das LCD einfach zu viel Strom für den USB Ausgang zieht? Wie gesagt wurde mir das in einem anderen Forum mal so erklärt. USB2.0 liefert doch auch max 500mA oder? Mit einem 12V / 1,5A Netzteil scheint es jetzt zumindest bei mir zu funktionieren.


    lG
    Michael

  • Hallo,


    Da ich meinen Beitrag nicht mehr editieren kann kommt jetzt ein Doppelpost.


    Ich hab bei mir wohl den Fehler gefunden. Ich hab die Schaltung wie auch du auf dem Bild auf einem Steckbrett aufgebaut (Stifleiste von dem RTC auf das Steckbrett drauf und die Anschlüsse am Steckbrett angeschlossen). Nun scheint das Steckbrett minimale Wackler zu produzieren welche das Modul völlig durchdrehen lässt (daher wohl auch das "flackern" des LCD Bildschirm, weil der glaub ich nach dem Takt der Uhr durchschaltet oder?).


    Jetzt weiss ich aber nicht wie ich die Verdrahtung jetzt zu den Testzwecken machen soll. Die endgültige Verdrahtung kann ich ja jetzt kaum machen, da ich das später alles zusammenstecken und nicht zusammenlöten will.


    Vielleicht könntest du heute Abend ja schonmal zeigen wie du das bei dir gemacht hast, damit diese Microwackler nicht auftauchen.


    lG
    Michael

  • Hallo Michael,


    man muss in jedem Fall auch aufpassen, dass der Arduino nicht auch noch auf dem Steckbrett aufliegt. Die Restlänge der Pins des Arduino reichen vollkommen aus um Kontakt zu den Steckplätzen des Breadboards zu bekommen. Den Fehler habe ich zumindest anfänglich gemacht und hab mich die ganze Zeit gewundert warum nichts funktioniert.


    Ich weiss, zumindest jetzt, noch nicht ob ich heute Abend dazu komme. Für eine bessere Übersicht, zu den Fotos die ich in den einzelnen Lötschritten darstellen werde, bin ich gerade eine Layout am erstellen. So kann man dann die einzelnen Module auf dem Protoshield Mega/Uno (oder einer Lochrasterplatine) schön platziert erkennen.


    Das Layout als Lötvorlage stelle ich dann ertsmal hier rein, bevor ich mit der Fotostrecke anfange.

  • Hi Volker,


    Ich habe das Arduino Board nicht aufs Steckbrett, sondern nur die Uhr.


    Hier mal ein Bild damit man mein Problem vllt besser erkennt. So sieht der Aufbau gerade aus:



    Komme ich auch nur minimal an eines der Kabel, welche ich rot eingekringelt hab, macht die Uhr was sie will und zeigt unmögliche Werte an. Z.B. kommt jetzt schon wieder als Datum 24.00.2013, obwohl ich gerade erst das Bild gemacht habe.


    Gibts da ne Möglichkeit ohne es fest zu verlöten?


    lG
    Michael

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!