Get your Shrimp here

DIY Technik-Controller - Ein Mitmach- und Entstehungsbericht

Hallo,
Einen “Leitfähigkeitssensor“ kann man sich selbst bauen, habe da eine Anleitung von Anton Gabriel gefunden: http://anton-gabriel.at/08_09.html
Das müsste man eben noch irgendwie in ein für den Arduino messbares Signal wandeln.
Alternativ könnte man sich auch einen noch einfacheren basteln, man muss ja quasi nur den Wasserwiderstand berechnen und den Kehrbruch bilden.
Ich habe das vorhin ausprobiert und relativ richtige Werte erhalten. Relativ deshalb, weil der Leitwert von Luft<<Wasser<Salzwasser. Liegen zwar um über hundert µS/cm daneben, aber tendenziell schon mal ganz gut.

Gemessen habe ich an einer Viertelbrücke bei der ein Widerstand durch die zwei Elektroden ersetzt wurde. Mit besser dimensionierten Widerständen und genauem Abstand der Elektroden, bzw kalibrieren mit einer geeigneten Lösung könnte das ganze ausreichend genau sein.

Gruß Anton
 
Moin Anton,
Das ist doch schon mal ein guter Ansatz.
Mit einem analogen Eingang könnte man einen Spannungsabfall über einem Widerstand aufnehmen und auswerten.
Wie genau das ganze wird hängt ja, wie Du schon sagts, von den verwendeten Bauteilen ab.

Grüße
Lars
 
Hallo,

mal ein kleiner Zwischenstand, was bis jetzt so geht.

Datum/Uhrzeit
Temperatursensoren für 4 Becken
Temperatursensor für die Raumtemperatur
Alle Temperatur mit abrufbaren Min- und Maxwerten
Regelung der 4 Lüfter über PWM anhand einer Sinusfunktion

Für die Ansteuerung der Lüfter habe ich mir ein Motorshield habe ich mir zwar gegönnt, steuere sie aber über eine einfache Transistorschaltung an. Der Aufwand ist einfach geringer.

Mit der gleichen Schaltung steuere ich auch das Relais, dass das Magnetventil für die CO2 Versorgung schaltet.
Bei dem Relais setzte ich bewußt auf eine qualitativ höherwertige Ausführung.
Man bekommt auch Shields, auf denen kleine Relais sitzen, die direkt von dem Arduino angesteuert werden können.
Mit ist da aber die 230V Netzspannung viel zu nah an den Kleinspannungs-Leiterbahnen. Das erscheint mir doch nicht wirklich sicher.

Transistorschaltung zur Ansteuerung:
Relaistreiber_Steckplatine.jpg

2014-11-18 13.21.14.jpg

12V Relais zur Steuerung des Magnetventils:
2014-11-18 15.10.39.jpg


Wenn ich hier irgend etwas genauer ausführen soll, was zum Code der einzelnen Funktionen schreiben soll, müsst ihr das schon sagen.
Sonst gibt es nur ab und an mal einen Zwischenstand.

LG
Lars
 
Der Code würde mich interessieren.
Habe ja selber ein arduino laufen.
Wenn ich den Code sehe, weiß ich gleich was wie wo warum gemacht wird ;)
Bin am überlegen mir auch ein Touchscreen zu holen.
Mich würde da halt auch der Mehraufwand an Code interessieren und wie die einzelnen "Felder" auf dem Display definitiv werden usw.
Also ruhig den Code mal Posten ;)
Kann dir auch mal meinen Posten, schicken oder so
 
Touchscreen wird ganz einfach abgefragt.
Hier mal als Beispiel meine Mainloop mit Abfrage des Setupbuttons und Abfrage für die Anzeige der Maxi/Minwerte auf dem Homescreen.

Code:
void loop()
{
  HomeScreenloop();   // Screen erstellen

  boolean MainLoop = false;

  while (MainLoop == false)
  {
    TempGetloop();      // Temperatursensoren auslesen
    TimeGetloop();      // Zeit Auslesen
    LuefterSetloop();          // Lüftersteuerung aufrufen

    // Abfrage Setupbutton

    if (myTouch.dataAvailable())
    {
      myTouch.read();

      x = myTouch.getX();
      y = myTouch.getY();

      if ((y >= 5) && (y <= 95))
      {
        if ((x <= 5) && (x <= 132))
        {
          TempMaxWert();
        }
      }

      if ((y >= 200) && (y <= 240)) // y-Koordinaten
      {
        if ((x >= 276) && (x <= 320)) // Setup
        {
          myGLCD.setColor(0255, 0, 0);
          myGLCD.fillRect(276, 220, 320, 240);
          SETUPloop();
          MainLoop = true;
        }
      }
    }
  }
}

LG
Lars
 
Huhu Lars,

hast du Magnetventile mit 230V?
Warum (ich weiß, Mehraufwand und Kosten...) holste dir nicht welche, die mit 12V Kleinspannung laufen.. hab ich hier auch hängen, gerade damit ich sie noch (aus purer Faulheit) bei meinem TC420 durchschleifen/schalten kann.
Grade wenn du sowas fetziges wie schon ne gesamte Steuerung baust finde ich es äußerst komfortabel, wenn die 230V immer nur ganz ganz ganz weit weg sind ;)
 
Moin Rob,

ja, mein Magnetventil ist 230V. Natürlich könnte ich mir auch ein 12V holen und direkt ansteuern. Eventuell wenn das 230V den Geist aufgibt.
Um die 230V sicher von den 12V zu trennen setzte ich den Finder Relaissockel mit 12V Relais ein. Der hat Industriestandard. Den habe ich früher auch beruflich in sehr viel größere Steuerungen reindesignt. Zu dem habe ich vertrauen. Passt schon! :hehe:

Grüße
Lars
 
Der hat Industriestandard. Den habe ich früher auch beruflich in sehr viel größere Steuerungen reindesignt

Hehe, sowas wollte ich lesen.
Jetzt werde ich auch in Zukunft nicht mehr "blöken" wenn es um 230V geht, du hast ja berufliche Erfahrung und weißt ja was du tust :D

||edit||
Ja, jetzt seh ich den Finder Relaissockel auch. Ist ja.. fast zu übersehen... (blind)

(Mein Due liegt hier immernoch rum.. zuviel zu tun.. zu wenig Zeit für Löten und programmieren und Planung.. waaah! :S )
 
Zuletzt bearbeitet:
du hast ja berufliche Erfahrung

Bin aus dem R&D auf die Zuliefererseite gewechselt. Nutze aber immer noch gerne die Finder Komponenten.
Darf mein neuer Arbeitgeber bestimmt nun nicht lesen. :hehe:

LG
Lars
 
(Mein Due liegt hier immernoch rum.. zuviel zu tun.. zu wenig Zeit für Löten und programmieren und Planung.. waaah! :S )

Doppelpost ist zwar doof... Aber...
Das sollte hier ja ein Mitmachthread werden, bei dem das Mitmachen wohl noch nicht so gegeben ist.
Steig doch hier einfach mit ein! Mit dem Due müsste das doch auch alles klappen. Ok, die 3,3V sind anders. Da hast Du das Problem, dass RTC usw auf 5V TTL Pegel laufen. Hast Du schon ein RTC im Auge? Was soll Dein Projekt später alles können?
Ansonsten ist der Due ja zum Mega anschlusskompatibel. LCD/Touch mit 3,3V ist auch zu finden.

LG
Lars
 
Huhu Lars,

Doppelpost macht gar nix, vorallem wenn die Posts 2h 45m auseinander sind ;)

Ach mein kleiner putziger Due.. zuviel will ich damit :)
  1. pH messen + 12V (;P) Magnetventil von Co2 steuern
  2. Leitwert messen
  3. 3-6 LED Kanäle per PWM regeln
  4. Sonnenaufgang/Untergang/Mondphase simulieren
  5. Durchflussmeter
  6. Wlan/Rj45 / Sdcard Logging + Remote config
  7. RTC (DS31..zu faul zum nachgucken)
  8. Dosierpumpen ansteuern (6-19V, 3-X stück -> ULN2003 Stepper)
  9. Oled Display für Status in Leuchtbalken
  10. Touchdisplay für Ansteuerung der gesamten Kiste im Schrank
  11. Steckdosenleisten schalten (da sind wir wieder bei gescheiten Relais wegen böser 230V Netzspannung)
  12. Temperatur Aquarium / Temperatur LEDs messen
Joah... das wars fürs "Erste" ... gibt bestimmt noch X Dinge die mir einfallen dabei..
 
Hallo,
ich interessiere mich auch sehr für die Schaltung, werde aber vorerst nur mitlesen und evtl. mitdenken können. Aktuell betreibe ich selbst eine Schaltung auf Nano Basis zum Dimmen meiner LED inkl. Dämmerung, auslesen der Beckentemperatur und Düngung über Dosierpumpen.
Aber wie das so ist, man fängt an und schnell ist die Hardware zu schwach, deshalb denke ich darüber nach den Nano durch einen Mega zu ersetzen.
So ein 3,2" Touch Screen würde auch viel mehr her machen als ein 1" OLED :D, aber das wird mit dem Nano nix...:mad:

Gruß
Moritz
 
Da hast Du das Problem, dass RTC usw auf 5V TTL Pegel laufen.
Hi Lars, will dir nicht in dein Projekt fuschen aber der Due geht ohne Probleme mit allen I2C Modulen da die fast alle 3,3V Tollerant sind. Man muss nur den 5V Pin an 3,3V anschließen und den Pullup auslöten weil der Due auf 20/21 eigene Pullups hat. Man kann auch 70/71 nehmen, dann muss man aber in der lib Wire mit Wire1 ersetzen. Für abwärztkompatiblität kann man auch schreiben:

#if defined(__AVR__)
#define WIRE Wire
#elif defined(__arm__)
#define WIRE Wire1
#endif

und dann alle Wire im Code mit WIRE ersetzen. So läuft es auf Uno, Maga, Due ect.
Der Due hat dank seiner 3,3V den Vorteil das man für TFT keine Shields mehr benötigt was späteres basteln viel einfacher macht. Versuche NIE ein TFT/Touch an 5V zu betreiben. einzig manche wenige leitungen wie Mosi können direkt angeschlossen werden da der Mega 3V als HIGH interpretiert. Ansonsten hat man dann aber alle pins frei und kann die Touch z.b. auch auf Analoge Pins umlegen. Somit hat man wieder mehr PWM frei die meist wichtiger sind.
Ein weiterer Vorteil des Due sehe ich in dem großen Speicher und der Mhz, das ermöglicht TFT auch in Echtzeit ohne flackern zu betreiben. Doch wie schon geschrieben, evt muss man paar libs anpassen da die noch nicht übersetzt wurden (grade im I2C Bereich) oder man hat Shields die zwingend 5V erwarten. Dann hat man mit Level Shiftern zu kämpfen. DS18B20, DS3231 usw gehen aber ohne weiteres.
 
Due geht ohne Probleme mit allen I2C Modulen da die fast alle 3,3V Tollerant sind.


Moin Moritz!
Danke für die Info. Habe mich mit dem Due noch gar nicht wirklich beschäftigt. Das System, dass ich mir da gebastelt habe, läuft und funktioniert ja auch. Schneller Reaktionszeiten am TFT wären natürlich wünschenswert.

Mal schauen, da ich meine Becken umgestellt habe braucht ich nicht mehr vier Becken auf dem Mega. Nun sind zwei mit jeweils zwei Becken in Planung.

Eventuell setzte ich den zweiten auch auf einem Due auf.

Grüße
Lars
 
Hast du das mit dem Dcf77 eigentlich weiter verfolgt? Ich hätte da noch nen sketch den ich damals für nen dcf77 empfänger geschrieben hab den ich aus nem alten wecker genommen habe
 
Moin Stefan,

nein, habe ich noch nicht, aber auch nicht ganz abgelegt.
Für den einen habe ich ja eine RTC. Und die läuft eigentlich sehr gut.
Eventuell kommt dann bei dem zweiten eine DCF zum Einsatz.

LG
Lars
 
Zuletzt bearbeitet:
Hallo,

ich bin durch dieses Projekt auf das Forum gestoßen.

Ich baue für mein Aquarium gerade etwas ähnliches bzw. ziemlich genau das gleiche.
Ich habe momentan ein Mega 2560, wasserdichte DS18B20 1-Wire Temp. Fühler, eine 4-fach Relais-Karte (250V, 10A) für die Heizungen, ein DS3231 AT24C32 RTC Modul, ein SPI 1,8" TFT (ohne Touch) und einen Joystick hier durchgetestet.
Momentan experimentiere ich mit WS2812B LEDs und einem 8-Kanal PWM Modul für die Beleuchtungssteuerung.

Da ich aber eher Softwarelastig bin ist die Auswahl von Hardware für mich immer ein großes Chaos ;)

Gruß
Michael
 
Hallo Michael,

ich kann nur vor den Relaiskarten warnen. Bei den meisten sind die 230V nicht im genügenden Abstand zu der Kleinspannung. Da lohnt es sich auf Industriestandard zurückzugreifen.
Du brauchst auch nicht wirklich viel bei der Ansteuerung. Auch bei der PWM Steuerung nicht.
Mit der gleichen Schaltung, mit der ich oben das Relais ansteuere, regel ich auch die Lüfter und LEDs dimme ich damit auch.

Temperaturfühler, RTC und Mega ist ja schon mal gleich bei unserer bastelei. Man kann viel suchen, kommt aber (fast) immer bei den gleichen Ergebnissen raus.

LG
Lars
 
Hallo Lars,

ich nehme deine Bedenken zur Kenntnis und überdenke die Steuerung der Heizung. Ich werde die Relaiskarte also erst einmal lediglich zur Steuerung der Nachbeleuchtung (12V) und für den 12V Lüfter im Gehäuse nutzen.

Momentan habe ich Probleme den 32K Eeprom der RTC anzusprechen. Ich kann dort keine Werte reinschreiben. Ich möchte ihn aber zum einen für die Entlastung des Variablenspeichers vom Mega nutzen, zum anderen auch als FIFO Buffer für eine Historie (Temperatur, Ph-Werte etc.)

Nutzt du den Speicher? Welche Lib benutzt du dafür?

Gruß
Michael
 
Zurück
Oben