FHEM Forum

Verschiedenes => Off-Topic => Thema gestartet von: danieljo am 14 November 2015, 15:16:08

Titel: Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: danieljo am 14 November 2015, 15:16:08
Da ich nirgendwo hi nweß mit diesem Thema poste ich es mal hier.

Es geht um die ph Sensoren der Firma Atlas Scientific

http://www.atlas-scientific.com/product_pages/circuits/ezo_ph.html (http://www.atlas-scientific.com/product_pages/circuits/ezo_ph.html)

Sehr preiswerter Sensor wie ich finde. Die Sensoren unterstützen Serielle Datenübertragung und I2C Bus.

Ich wollte mal Fragen ob jemand hier aus dem Forum sowas schon in Betrieb hat mit FHEM. Denke ich aber eher weniger da es nur für solche Interessant ist die einen Pool im Garten, Teich oder Aquairum.

Ich würde gerne den Sensor an meinem Aquarium einsetzen. Eine pH Elektrode habe ich bereits und den Sensor wollte ich nächste Woche mal kaufen. Der Hersteller bietet unter anderem diverse Beispiel Codes für Arduino und Raspberry in Python.

Hauptfunktion soll sein einfach den pH-Wert über den I2C Bus in FHEM reinzubekommen.

Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: danieljo am 16 November 2015, 10:10:25
So ich habe den Sensor mal bestellt. Das ganze soll übrigens an einem Raspberry Pi2 zum laufen kommen. Welches auf Debian läuft.
Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: AxelSchweiss am 16 November 2015, 11:27:46
Hi
Ich habe auch Interesse da ich mir in 2016 eine automatische Poolsteuerung bauen will.
Das ganze soll dann mit eine Raspi oder Arduino gelöst werden.
Es gibt hier im Forum schon einen Beitrag der auch PH-Probes verwendet .... mal sehen ob ich den wieder finde dann verlinke ich den hier.
Allerdings gibt es dann immer noch das Problem das man die Probes dann mit einer Lösung kalibrieren muss .... gibt' da nix wartungsfreies ?

Was mir noch fehlt ist die Messung der Chlor-Konzentration.
Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: danieljo am 16 November 2015, 14:29:41
Zum Thema Chlor Messung kann ich leider nix sagen da ich eher aus der Aquaristik komme.

Das Kalibrieren der pH-Elektrode ist leider unerlässich. Es sei aber gesagt wenn man "gute" Elektroden hat und diese im Pool im "dunklen Bereich" vor der Sonne geschützt (Algen Bildung) reicht es normalerweise vollkommend aus wenn man diese 1 mal im Jahr neu kalibriert.

Meine im Aquarium Kalibriere ich 2 mal Jahr. Wobei einmal im Jahr genügen würde. Die Kalibrier-Flüssigkeiten kosten nicht die Welt Meist bekommt man ein ganzen Set für 20€.

Ich sage mal so. Beim Aquarium habe ich ganz andere Arbeiten die mehr aufwand sind wie mal eben das Kalibrieren der Elektrode wenn ich da an Filter reinigen denke oder sowas in der Richtung. Man kann sich die Arbeit vielfältig vereinfachen dennoch bleiben bestimmte sachen übrig die gemacht werden müssen ;)

Zurück zum Thema. Die Platine soll wenn möglich an den I2C Bus des RPi gehangen werden. Ein Beispiel Script auf der Hersteller Seite ist ja vorhanden. Jetzt wäre die Frage ob man aus FHEM heraus das Script starten kann und das Ergebniss des Scriptes zurück an FHEM leitet. Wäre ja fürs erste genügend. So ein FHEM-Modul wäre ja ganz nett. Aber mir fehlt das Wissen dazu sowas zu programmieren.
Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: AxelSchweiss am 16 November 2015, 14:55:25
Nun .... da gibt es mehrere Möglichkeiten
Ich würde das Script nicht aus FHEM heraus aufrufen um blockierende Funktionen zu vermeiden.

So würde ich das machen ( schlagt mich, beißt mich)
1) Einrichten eine Telnetports (4711?) auf localhost ohne Passwort
2) Einrichten eines Dummy mit dem reading ph_wert , oder so.
3) Das Script wird per Cron-Job alle fünf Minuten, oder auch öfter, aufgerufen.
4) Das Script macht nach jedem Aufruf, also erst wenn es den PH ermittelt hat, einen Connect via dem Telnetport zu FHEM auf.
5) Das Script schreibt jetzt mittels setreading den aktuellen PH-Wert in das reading des Dummy.

Vorteil davon :
Beide Teilsysteme sind voneinander entkoppelt und kommunizieren über eine definierte Schnittstelle.
Keine Blocking-Probleme falls das Script etwas unvorhergesehenes macht.
Du kannst event-on-change-reading und co. für notifys verwenden

Nachteile:
bitte ergänzen
Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: Icinger am 16 November 2015, 15:45:33
Nachdem die Platine ja auch UART kann, könntest du diese auch seriel an den Pi anschliessen und das ganze dann per ECMD laufen lassen.

lg, Stefan
Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: danieljo am 16 November 2015, 15:51:47
Beides Gute Ideen. Theoretisch könnte man das ganze auch ohne dem vorgefertigtem Script über UART steuern da kann man auch einstellen ob man ein einzelnens Reading nehmen möchte oder dauerhafte Messung usw.
Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: AxelSchweiss am 16 November 2015, 16:02:02
ECMD ... What'n dat
Nie gehört :-)
Hört sich nach einem Parser für die serielle Schnittstelle an.
Wäre natürlich um Welten besser.
Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: Icinger am 16 November 2015, 19:18:06
Zitat
Hört sich nach einem Parser für die serielle Schnittstelle an.

Genau das ist es auch :)
Schau mal in die commandref :8
Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: danieljo am 17 November 2015, 19:45:17
So der pH Sensor von Atlas Scientific's ist heute angekommen. Ich habe jetzt ein Test RaspberryPi2 fertig gemacht zum probieren und testen.
Als Distru kommt das Debian System zum Einsatz. Fürs erste will ich das ganze über die UART Schnittstelle realisieren.

Ich habe mir jetzt die Serielle Schnittstelle freigeben und mittels dem programm "minicom" bekomme ich jetzt schön brav jede Sekunde den pH-Wert übermittel.

Das Fomat der empfangen Daten sieht wie folgt aus:

6.8721
Jetzt bleibt die Frage wie bekomme ich diesen Wert der mir jede Sekunden über die UART Schnittstelle übermittelt wird in FHEM als "reading" rein?
Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: Icinger am 17 November 2015, 20:31:38
Hast eine Protokoll-Beschreibung von der seriellen?
Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: danieljo am 17 November 2015, 20:36:25
Hast eine Protokoll-Beschreibung von der seriellen?

Ich habe mein Betirag über deinem nochmal editiert mittlerweile bekomme ich ohne mein zutun auf der Seriellen über minicom folgende Werte jede Sekunde übermittelt

6.8721
Anbei die PDF des Sensors

http://atlas-scientific.com/_files/_datasheets/_circuit/pH_EZO_datasheet.pdf (http://atlas-scientific.com/_files/_datasheets/_circuit/pH_EZO_datasheet.pdf)

Daten-Typ ist Flaoting Point ; format ist String und ansonsten ne Standart UART Konfiguration:

9600 bps
8 data bits
1 stop bit
no parity
no flow control


Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: Icinger am 17 November 2015, 20:48:22
Ist ja ansich eh ganz simpel aufgebaut, da lässt sich schon was draus machen.
Wenn du willst, können wir morgen mal nen Hangout oder FB-Chat machen, und das ECMD zusammenstöpseln
Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: danieljo am 17 November 2015, 20:51:17
Ist ja ansich eh ganz simpel aufgebaut, da lässt sich schon was draus machen.
Wenn du willst, können wir morgen mal nen Hangout oder FB-Chat machen, und das ECMD zusammenstöpseln

Ja ist anscheinend echt recht einfach. Einfach Strom an den Sensor und er fängt direkt an jede Sekunden den Messert zu übertragen.

Da würde ich mich sehr drüber freuen wenn wir das irgendwie zusammen hin bekommen würden :) Meint wegen ruhig über FB-Chat.

Gleich wollte ich auf der Test Plattform noch das aktuelle FHEM draufschmeißen.
Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: danieljo am 17 November 2015, 21:31:58
Ich habe mittels

define EZO_pH ECMD serial /dev/ttyAMA0@9600
schonal das ECMD angelegt fällt eigentlich nur noch das reading  ;D
Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: danieljo am 19 November 2015, 20:11:07
Ein Dankeschön geht an Icinger der sich die Zeit genommen hat die classdef zu schreiben. Als Anhang stellen wir euch diese zur Verfügung.
Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: danieljo am 21 November 2015, 14:58:33
Leider gibt es ein kleines Problem:

Und zwar hängt sich ECMD nach einer gewissen Zeit bzw. bei einem gewissen Ereignis auf.

Und zwar sieht das ganze im Log-File so aus:

2015.11.21 07:16:18 5: EZO_pH: read "6.919\r"
2015.11.21 07:16:18 5: EZO_pH: Spontaneously received "6.919\r"
2015.11.21 07:16:18 5: EZO_pH dispatch 6.919
2015.11.21 07:16:18 5: EZO_pH: match regex (\d+\.?\d*)\r for reading pH of device EZO_pH_Sensor with class PH
2015.11.21 07:16:18 5: Postprocessing "6.919\r" with perl command {my $ret=$_;$ret=~s/^(.*)\r$/$1/g; return $ret}.
2015.11.21 07:16:18 5: Postprocessed value is "6.919".
2015.11.21 07:16:18 5: Triggering EZO_pH_Sensor (2 changes)
2015.11.21 07:16:18 5: Notify loop for EZO_pH_Sensor pH: 6.919
2015.11.21 07:16:19 5: EZO_pH: read "6.917\r"
2015.11.21 07:16:19 5: EZO_pH: Spontaneously received "6.917\r"
2015.11.21 07:16:19 5: EZO_pH dispatch 6.917
2015.11.21 07:16:19 5: EZO_pH: match regex (\d+\.?\d*)\r for reading pH of device EZO_pH_Sensor with class PH
2015.11.21 07:16:19 5: Postprocessing "6.917\r" with perl command {my $ret=$_;$ret=~s/^(.*)\r$/$1/g; return $ret}.
2015.11.21 07:16:19 5: Postprocessed value is "6.917".
2015.11.21 07:16:19 5: Triggering EZO_pH_Sensor (2 changes)
2015.11.21 07:16:19 5: Notify loop for EZO_pH_Sensor pH: 6.917

Soweit ist das auch alles Richtig. Das ganze erfolgt Sekündlich. Da der pH-Sensor von sich aus jede Sekunden ein Reading absetzt. Das ganze läuft so lange (mal nur 3 Minuten oder fast auch 12 Stunden) ohne Probleme bis zu diesem Punkt:

2015.11.21 07:16:21 5: EZO_pH: read "6.920\r6.923\r"
2015.11.21 07:16:21 5: EZO_pH: Spontaneously received "6.920\r6.923\r"
2015.11.21 07:16:21 5: EZO_pH dispatch 6.920
6.923
2015.11.21 07:16:22 5: EZO_pH: read "6.923\r"
2015.11.21 07:16:22 5: EZO_pH: Spontaneously received "6.923\r"
2015.11.21 07:16:22 5: EZO_pH dispatch 6.923
2015.11.21 07:16:23 5: EZO_pH: read "6.927\r"
2015.11.21 07:16:23 5: EZO_pH: Spontaneously received "6.927\r"
2015.11.21 07:16:23 5: EZO_pH dispatch 6.927
2015.11.21 07:16:24 5: EZO_pH: read "6.928\r"
2015.11.21 07:16:24 5: EZO_pH: Spontaneously received "6.928\r"
2015.11.21 07:16:24 5: EZO_pH dispatch 6.928
2015.11.21 07:16:25 5: EZO_pH: read "6.929\r"
2015.11.21 07:16:25 5: EZO_pH: Spontaneously received "6.929\r"
2015.11.21 07:16:25 5: EZO_pH dispatch 6.929

Aus irgendeinem Grund liest ECMD 2 Werte direkt hintereinander ein. Was auch eigentlich nicht das Problem sein sollte. Aber dann kommt halt das Dispatch welches besagt 6.920 6.923 und genau wenn so in Eintrag kommt hängt ECMD bzw. Es passiert nix mehr. Sprich im Log-File sehe ich zwar das weitere Werte jede Sekunden gelesen werden aber der "match" eintrag felht. Dann hilf nur ein "shutdown restart"

Das ganze läuft auf einem Testsystem Raspberry Pi 2 mit Debian Whezzy Distru. und aktuellem FHEM sonst nix.

Weiß jemand was das sein kann und wie man das Problem behebt?

Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: danieljo am 21 November 2015, 16:56:39
Problem behoben. Danke Icinger.

Hier nun die aktualisierte classdef

Hier noch ein Hinweis im ECMD Device muss das "partial" Attribut auf 1 oder 2 Sekunden gesetzt werden!

Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: danieljo am 24 November 2015, 21:10:22
Es gibt ja nun noch weitere Sensoren von diesem Hersteller unter anderem Leitwert, Sauerstoffsättigung usw. Da diese Sensoren sowohl UART als auch I2C beherschen wird es bei mehr als einem Sensor natürlich schwierig da zum Beispiel der Raspberry Pi nur eine UART Schnittstelle hat. Man könnte jetzt hingehen und sich ein UART-2-USB Adapter kaufen und somit weitere UART Schnittstellen hinzufügen oder aber man benutzt den I2C Bus.

Hat jemand schonmal ein Modul für I2C Programmiert ? Ist das aufwendig bzw. Schwierig?

Es gibt auf der Herstellerseite unteranderem dieses Python Script für den Raspberry Pi der den Sensor mittels I2C anspricht.

#!/usr/bin/python

import io # used to create file streams
import fcntl # used to access I2C parameters like addresses

import time # used for sleep delay and timestamps
import string # helps parse strings


class atlas_i2c:
    long_timeout = 1.5 # the timeout needed to query readings and calibrations
    short_timeout = .5 # timeout for regular commands
    default_bus = 1 # the default bus for I2C on the newer Raspberry Pis, certain older boards use bus 0
    default_address = 99 # the default address for the pH sensor
   
    def __init__(self, address = default_address, bus = default_bus):
        # open two file streams, one for reading and one for writing
        # the specific I2C channel is selected with bus
        # it is usually 1, except for older revisions where its 0
        # wb and rb indicate binary read and write
        self.file_read = io.open("/dev/i2c-"+str(bus), "rb", buffering = 0)
        self.file_write = io.open("/dev/i2c-"+str(bus), "wb", buffering = 0)
       
        # initializes I2C to either a user specified or default address
        self.set_i2c_address(address)
   
    def set_i2c_address(self, addr):
        # set the I2C communications to the slave specified by the address
        # The commands for I2C dev using the ioctl functions are specified in
        # the i2c-dev.h file from i2c-tools
        I2C_SLAVE = 0x703
        fcntl.ioctl(self.file_read, I2C_SLAVE, addr)
        fcntl.ioctl(self.file_write, I2C_SLAVE, addr)
           
    def write(self, string):
        # appends the null character and sends the string over I2C
        string += "\00"
        self.file_write.write(string)
       
    def read(self, num_of_bytes = 31):
        # reads a specified number of bytes from I2C, then parses and displays the result
        res = self.file_read.read(num_of_bytes) # read from the board
        response = filter(lambda x: x != '\x00', res) # remove the null characters to get the response
        if(ord(response[0]) == 1): # if the response isnt an error
            char_list = map(lambda x: chr(ord(x) & ~0x80), list(response[1:])) # change MSB to 0 for all received characters except the first and get a list of characters
            # NOTE: having to change the MSB to 0 is a glitch in the raspberry pi, and you shouldn't have to do this!
            return "Command succeeded " + ''.join(char_list) # convert the char list to a string and returns it
        else:
            return "Error " + str(ord(response[0]))
   
    def query(self, string):
        # write a command to the board, wait the correct timeout, and read the response
        self.write(string)
       
        # the read and calibration commands require a longer timeout
        if((string.upper().startswith("R")) or
           (string.upper().startswith("CAL"))):
            time.sleep(self.long_timeout)
        elif((string.upper().startswith("SLEEP"))):
            return "sleep mode"
        else:
            time.sleep(self.short_timeout)
           
        return self.read()
           
    def close(self):
        self.file_read.close()
        self.file_write.close()

def main():
    device = atlas_i2c() # creates the I2C port object, specify the address or bus if necessary
   
    print(">> Atlas Scientific sample code")
    print(">> Any commands entered are passed to the board via I2C except:")
    print(">> Address,xx changes the I2C address the Raspberry Pi communicates with.")
    print(">> Poll,xx.x command continuously polls the board every xx.x seconds")
    print(" where xx.x is longer than the %0.2f second timeout." %  atlas_i2c.long_timeout)
    print(" Pressing ctrl-c will stop the polling")
   
    # main loop
    while True:
        input = raw_input("Enter command: ")
       
        # address command lets you change which address the Raspberry Pi will poll
        if(input.upper().startswith("ADDRESS")):
            addr = int(string.split(input, ',')[1])
            device.set_i2c_address(addr)
            print("I2C address set to " + str(addr))
       
        # contiuous polling command automatically polls the board
        elif(input.upper().startswith("POLL")):
            delaytime = float(string.split(input, ',')[1])
           
            # check for polling time being too short, change it to the minimum timeout if too short
            if(delaytime < atlas_i2c.long_timeout):
                print("Polling time is shorter than timeout, setting polling time to %0.2f" %  atlas_i2c.long_timeout)
                delaytime =  atlas_i2c.long_timeout

            # get the information of the board you're polling
            info = string.split(device.query("I"), ",")[1]
            print("Polling %s sensor every %0.2f seconds, press ctrl-c to stop polling" % (info, delaytime))
           
            try:
                while True:
                    print(device.query("R"))
                    time.sleep(delaytime - atlas_i2c.long_timeout)
            except KeyboardInterrupt: # catches the ctrl-c command, which breaks the loop above
                print("Continuous polling stopped")
       
        # if not a special keyword, pass commands straight to board
        else:
            try:
                print(device.query(input))
            except IOError:
                print("Query failed")
       
       
if __name__ == '__main__':
    main()
Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: danieljo am 27 November 2015, 19:33:35
Heute habe ich den Sauerstoff-Sensor bekommen auch als Dissolved Oxigen bezeichnet. Damit lässt sich der Sauerstoffgehalt im Wasser messen.

Diesen sensor benutze ich jetzt erstmal um eine I2C anbindung zu bekommen.

Dazu habe ich ein Raspberry Pi 2 mit Debian Wheezy aufgesetzt und den Sensor an den I2C Bus angeklemmt.

Mit den I2c-Tools in der Kommandozeile unter Debian wird der sensor auf der Adresse 0x61 gefunden.

In FHEM habe ich das RPII2C-Modul eingerichtet um somit von FHEM aus Zugriff auf den I2C Bus zu erhalten.

Da konnte ich auch schon erste erfolge verzeichnen.

Mit:

set I2C_RPI writeblock 0x61 0x52
Sage ich dem Sensor er soll eine Messung starten. nach 1 Sekunde kann ich den Messwert mittels:

get I2C_RPI readblock 0x61 82
abrufen das Ergebnis sieht dann so aus:

received : 1 57 46 55 56 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0  |  transmission: Ok
Die erste Zahl ist eine Dezimal 1 diese kann ignoriert werden. Danach folgt der Messwert in ASCII. Umgewandelt lässt sich somit ein Messwert von: 9.78 ermitteln. Was dann heißt das der Sauerstoffgehalt im Wasser 9.78mg/l beträgt.

So nun will ich fürs erste das ganze in ein I2C Modul packen. Der klausw hatte mir schon paar Infos gegeben aber als blutiger anfänger ist das doch schon eine sehr große Nummer.

Das ganze soll wie folgt aussehen:

I2C Adresse : 0x61
Befehl Messung starten "R" = hex 0x52
1000ms warten
Befehl Messwert lesen "R" = dec 82
die 1 Am Anfang entfernen den Rest umwandeln.

Hört sich einfach an, wenn es dann auch so wäre :D
Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: danieljo am 28 November 2015, 13:05:40
Ich habe mir das I2C_SHT21 Modul genommen und begonne umzuändern. Ich habe es für Atlas Scientific Dissolved Oxygen Sensor mal I2C_EZODO genannt.

Ich habe es geschafft den Sensor anzusprechen ein Messung zu starten 1 dann mit usleep 1sekunde zu warten und den Rückgabewert zu empfangen der sieht in der Log-File jetzt so aus:

1 50 50 55 46 49 53
Der Rückgabe wert besteht aus 7 bytes der erste davon ist der Response code dieser kann 1, 2, 254 oder 255 betragen und gibt den Status zurück 1 bedeutet in dem Fall Success. Dieser Wert ist für den gemessen Wert unrelevant.

Die 50 50 55 46 49 53 sind der eigentliche Messerwert in Decimaler Schreibweise. Wenn ich diese Bytes in ASCII umwandel kommt 227.22 raus. beträgt der gemessen Wert nur 12.34 so ist das letzte Byte NULL.

Wie bekomme ich nun diesen Decimalen Wert in einen Nummerischen Wert umgewandelt. Weil das Reading ist im moment 306 wo dieser Wert herkommt weiß ich nicht hängt aber damit zusammen das der Rückgabe Wert nicht richtig umgewandelt wird.

Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: Helmi55 am 27 Januar 2016, 12:35:52
Hallo liebe Freunde
da die Poolsaison ja bald starten wird hänge ich mich gleich dran.
Ich muss meine Solarsteuerung umbauen da die alten mechanischen Dinge schön langsam den Geist aufgeben.
Die Polosteuerung (SolardiffRegelung) habe ich auf meinem Test RPi schon fertig.
Nun möchte ich auch noch gerne den pH-Wert angezeigt bekommen. Ich brauche keine automatische pH Steuerung - das pH-Minus erledige ich händisch.
Nun meine Frage habt ihr das bestellt?  http://www.atlas-scientific.com/product_pages/kits/ph-kit.html
Ist es richtig - das muss man selbst zusammen löten? Grrr....
@danieljo  funktioniert es bei dir wie gewünscht. Der Bypass ist nach der Filterpumpe eingebaut richtig?
Gruß
Helmut
Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: danieljo am 28 Januar 2016, 19:32:28
Hallo liebe Freunde
da die Poolsaison ja bald starten wird hänge ich mich gleich dran.
Ich muss meine Solarsteuerung umbauen da die alten mechanischen Dinge schön langsam den Geist aufgeben.
Die Polosteuerung (SolardiffRegelung) habe ich auf meinem Test RPi schon fertig.
Nun möchte ich auch noch gerne den pH-Wert angezeigt bekommen. Ich brauche keine automatische pH Steuerung - das pH-Minus erledige ich händisch.
Nun meine Frage habt ihr das bestellt?  http://www.atlas-scientific.com/product_pages/kits/ph-kit.html
Ist es richtig - das muss man selbst zusammen löten? Grrr....
@danieljo  funktioniert es bei dir wie gewünscht. Der Bypass ist nach der Filterpumpe eingebaut richtig?
Gruß
Helmut

Hallo,

Der Link von dir bezieht sich auf das Komplette Kit zur pH-Wert Messung. Damit hast du alles was du brauchst. In meinem Fall brauchte ich nur die Platine, da ich bereits eine pH-Elektrode besitze genau wie die Flüssigkeiten zur Kalibrierung etc...

Wenn du sparen möchtest, dann kauf dir nur die EZO pH Platine. Du kannst jede Handelsübliche pH-Elektrode mit BNC Anschluss einsetzten.

Ja ein wenig Löten muss man schon da das ganze nicht Plug & Play ist. Du musst eigentlich nur 3 x 3pin Pfostenverbindereinlöten 2 Widerstände und eine BNC-Buchse und fertig den rest kannst du mit Steckkabeln Verbinden. Desweiteren ist es emphelenswert eine Komplette galvanische Trennung mit einzubauen. Nur so ist zu gewähren das der Messwert auch richtig ist und nicht durch Kriechströme verfälscht werden.

Die pH-Elektrode sollte bestenfalls hinter einem Filter im Bypass stecken am Besten Dunkel und vor Sonnenlicht geschützt sonst veralgt diese doch recht schnell. Bei mir funktioniert die ganze Sache absolut zuverlässig und ohne Fehler.

Du kannst bei www.exp-tech.de mal schauen dort werden diese Sensoren auch angeboten direkt aus Deutschland so entfallen dir Zoll Abwicklung usw.

bei Fragen stehe ich dir gerne zur Verfügung.
Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: Helmi55 am 29 Januar 2016, 08:10:37
Guten Morgen
Danke für deine Info. In dem Shop ist es leider ausverkauft. Werde nachfragen ob es wiederbestellt ist.
Na ja hatte vor ca. 30 Jahen das letzte mal einen Lötkolben in der Hand ;D
Was meinst du mit galvanischer Trennung genau? Ein eigenes Netzteil und einen Optokoppler in der Leitung zum Pi? (Hast du da dann evtl. Kaufvorschläge)
Was benötige ich noch um die pH Sonde lauffähig zu bekommen
Wie gesagt bin Anfänger, habe aber meine Poolsteuerung jetzt fertig und mein großer Wunsch wäre noch
Die Anzeige des pH Wertes.
Muss sowieso vor Saisonstart noch einen Filter bei der Solaranlage einbauen, da könnte ich dann gleich nach dem Filter den Bypass setzen
Herzlichen Dank
Liebe Grüße Helmut
Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: danieljo am 29 Januar 2016, 19:34:14
Ich denke die werden die wieder reinbekommen. Leitwert ist im Moment auch ausverkauft.

Was du brauchst ist nichts weiter als die EZOpH Platine sowie die kleine Platine mit der BNC Buchse. Eine pH-Elektrode. Dann benötigst du ein RaspberryPi und Verbindes das ganze über den I2C Bus. Dann brauchst noch FHEM und das Modul welches im ersten Beitrag angepinnt ist. Viel mehr ist fürs erste nicht nötig.

Thema Galvansiche Trennung. Entweder guckst du das der RaspberryPi über WLAN funkt dann solltest du mittels einem Steckernetzteil bereits eine galvanische Trennung haben. (Einfach, Jedoch habe ich dies nicht überprüft) Oder aber der EZOpH Sensor wird über einen DC/DC Wandler und einem Optokoppler getrennt. (Aufwenig, aber funktioniert einwandfrei)

Wichtig ist die pH-Elektrode erst dann anzustecken wenn die Stromversorgung des RaspberryPi getrennt ist. Damals habe ich mir eine Platine zerschossen aus welchem Grund genau weiß ich leider nicht mehr.

Der Hintergrund der galvansichen Trennung ist folgender. Die pH-Elektrode ist eine äußerst empfindlicher Sensor der je nach pH-Wert eine winzige Spannung erzeugt deren Strombelastbarkeit sehr gering ist. Mit einem normalen Multimeter ist da nix zu Messung. Die Messschaltung ist dementsprechend Hochempfindlich. Wenn du in deinem Pool eine Umwälzpumpe hast die mit dem Stromnetz Verbunden ist. So erfolgt ein Potentialausgleich des ErdLeiters. Dies ist bis hierhin nicht weiter schlimm. Da der Pool meistens ja auch in der "Erde" geerdet ist. Die pH-Elektrode mit ihrem empfindlichen Messeingang ist ebenfalls mit dem Stromnetz verbunden und es erfolgt hier ebenfalls ein Potenzialausgleich. Dies verfälscht aber den Messwert so das du statt pH 7, ph 0 oder 14 misst. Um einwandfreie Messergebnisse zu erzielen Versucht man den "Messkreis" vom "Stromkreis" zu trennen.

Mittels wie oben Beschrieben schnelle Optokoppler für die I2C Schnittstelle und einem kleinen 5V DC/DC Wandler da muss aber gelötet werden oder aber über einen sogennanten Trenntrafo.

Für Leute die einfach nur anwenden wollen ist das alles ziehmlich umständlich.

Ich will dich nicht von deinem Vorhaben abbringen dennnoch ist es auf den ersten Blick recht umfangreich und "teuer" Unterstütze dich aber gerne. Vllt. lässt es sich ja regeln das ich dir das ganze zusammenlöte und du es nur noch Anschließen brauchst. Sprich Löten und galvanische Trennung mittels DC/DC Wandler und Optopkoppler. Ein Satz Bauteile müsste ich hier noch liegen haben.
Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: Helmi55 am 30 Januar 2016, 13:53:32
Danke danieljo für deine ausführliche Erklärung
Darf ich mich bei dir mittels PM am Wochenende melden?
Danke
LG
Helmut
Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: danieljo am 03 Februar 2016, 17:25:05
Danke danieljo für deine ausführliche Erklärung
Darf ich mich bei dir mittels PM am Wochenende melden?
Danke
LG
Helmut

Nichts zu Danken, du darfst dich jederzeit bei mir melden.
Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: danieljo am 16 Februar 2016, 17:56:44
Der 3. Sensor ist geordert und sollte bis Ende der Woche bei mir eintreffen. Es ist der EZO EC Sensor zur Leitwertmessung im Wasser. Der Leitwert im Leitungswasser kann z.B. aussagen ob ein Wasser weich oder hart ist. Oder z.B. bei einem Vollentsalzer oder einer Umkehrosmoseanlage, dass Harz bzw. die Membran erschöpft ist. Im Aquarium kann man auch daran erkennen wann ein Wasserwechsel fällig wird, da ebenfalls durch die Abfallstoffe im Aquarium der Leitwert steigen kann.

Das passende Modul dazu werde ich hier demnächst veröffentlichen. Es wird dann als Dateianhang im ersten Post angefügt.

Des weiteren baue ich ein kleines Kunststoffgehäuse wo bis zu 4 Sensoren rein passen diese somit vor Staub und Nässe geschützt sind. Das ganze ausgebaut mit einer galvanischen Trennung je Sensor.

Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: danieljo am 17 Februar 2016, 19:13:11
Heute habe ich damit begonnen alles in seperates Staub und Spritzassergeschütztes Gehäuse zu verbauen. In dem Gehäuse mit den Maßen 110x110x70mm passen bis zu 4 Sensoren rein inkl. Galvanischer Trennung des weiteren habe ich es mit 2 Kabelverschraubungen versehen für den I2C Bus, somit lässt sich der I2C Bus durchschleifen zu weiteren Geräten/Sensoren. Bilder sagen mehr wie Worte:
Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: tomster am 17 Februar 2016, 19:40:01
Coole Sache!

Hab grad gesehen, dass man die einzelnen Module "nur" auf die BNC-Carrier-Boards aufstecken muss. Saubere Lösung!
Da krieg ich glatt Lust mir eine Teichsteuerung zusammenzulöten...

Die Sensoren jetzt noch mit mysensors zusammenbringen, dann könnt ich tatsächlich schwach werden.

--edit--
Ich hab mich zwar mit mysensors bislang noch nicht beschäftigt (vorsichtshalber aber schon Mal ein paar Arduinos und NRF24L01's beim Chinesen bestellt), aber es ist wohl schon was in der Richtung gemacht worden:
http://forum.mysensors.org/topic/845/surface-mount-atmega328p-au-sensor-board
Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: Helmi55 am 17 Februar 2016, 22:20:54
Perfekt Hoffe der Zoll gibt meinen pH Sensor bald frei
Lg Helmut
Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: Mario67 am 18 Februar 2016, 00:53:09
@danieljo: Kurze Frage: Wo hast Du das Gehäuse gekauft? Bei allem was ich bisher genutzt bzw. gefunden habe war keine Montageplatte dabei.

Gruß,
Mario
Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: danieljo am 18 Februar 2016, 06:46:16
@danieljo: Kurze Frage: Wo hast Du das Gehäuse gekauft? Bei allem was ich bisher genutzt bzw. gefunden habe war keine Montageplatte dabei.

Also das Gehäuse habe ich bei Ebay gekauft von Hersteller "TK ELS". Allerdings war da auch keine Montageplatte dabei, die ist schon im Boden des Gehäuses mit integriert.

Mfg, Daniel Joachims

Gruß,
Mario
Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: danieljo am 18 Februar 2016, 06:55:10
Coole Sache!

Hab grad gesehen, dass man die einzelnen Module "nur" auf die BNC-Carrier-Boards aufstecken muss. Saubere Lösung!
Da krieg ich glatt Lust mir eine Teichsteuerung zusammenzulöten...

Die Sensoren jetzt noch mit mysensors zusammenbringen, dann könnt ich tatsächlich schwach werden.

--edit--
Ich hab mich zwar mit mysensors bislang noch nicht beschäftigt (vorsichtshalber aber schon Mal ein paar Arduinos und NRF24L01's beim Chinesen bestellt), aber es ist wohl schon was in der Richtung gemacht worden:
http://forum.mysensors.org/topic/845/surface-mount-atmega328p-au-sensor-board

Mit mysensors habe ich bisher nichts Zutun gehabt. Sagt mir auch nix. Ja die Sensoren kann man einzeln draufstecken. Wollte die Sensoren auch an sich nicht fest verlöten. Dafür gibt es ja die Carrier-Boards. Auch wenn die nicht ganz günstig sind mit 14€.Aber bei Sensoren die als komplettes Kit 200€ kosten überlegt.man sich gut woran mit dem Lötkolben rumhängt :)

Werde mir das mysensors mal anschauen.

Mfg, Daniel Joachims
Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: tomster am 18 Februar 2016, 09:29:41
Mit mysensors habe ich bisher nichts Zutun gehabt. Sagt mir auch nix. Ja die Sensoren kann man einzeln draufstecken. Wollte die Sensoren auch an sich nicht fest verlöten. Dafür gibt es ja die Carrier-Boards. Auch wenn die nicht ganz günstig sind mit 14€.Aber bei Sensoren die als komplettes Kit 200€ kosten überlegt.man sich gut woran mit dem Lötkolben rumhängt :)

Werde mir das mysensors mal anschauen.

Mfg, Daniel Joachims

Ich hab bislang auch Nichts mit mysensors zu tun gehabt. Bei der Suche nach einer Lösung um mein Tablet bei Bedarf (Davorstehen) "aufzuwecken", bin ich über den Ansatz "Ultraschallsensor" dann darauf gestossen. Der Ansatz dahinter ist eigentlich ein ganz cleverer (Arduino+ Funkmodul); auch wenn er in den meisten Bereichen meine (elektro-)technischen Skills deutlich übersteigen dürfte. Der Gedanke aber, eigene Funk-Sensoren (zu recht günstigen Kosten) in meine FHEM-Umgebung einzubauen, hat mich dazu bewogen Mal ein paar Teile aus China zu bestellen und es zumindest einmal zu Probieren. So wie ich die Beschreibung unter meinem obigen Link verstehe, ist das die Umsetzung einer Poolsteuerung mittels "Eigenbau-Arduino", sprich Atmega328p und Funkmodul. Auch wenn der Threadersteller wohl nicht auf Arduino-Bootloader/ Firmware setzt.
Ich bin mir aber fast sicher, dass es hier im Forum Leute gibt, die sich mit Arduionos/ mysensors recht gut auskennen...
Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: Mario67 am 18 Februar 2016, 13:08:41
Hallo,
nach dem mir während des letzten Sommerurlaubs der Pool wegen falschem pH-Wert umgekippt ist, habe ich auch vor, eine Messeinrichtung zu bauen.
Der Sensor ist schon da und der EZO-pH + Carrier ist bestellt.
Obwohl bereits 1-Wire zur Pumpensteuerung am Pool liegt, habe ich vor zur Anbindung auch MySensors zu verwenden. Der Betrieb soll mit Batterien oder 3,7V-Li-Ion-Akku (z.B. 18650) erfolgen.
Dadurch ist die galvanische Trennung gegeben. Als MySensors-Knoten soll einer der im MySensors-Forum beschriebenen Ansätze
http://forum.mysensors.org/topic/1857/my-sensor-node-motherboard-mysensorsnode (http://forum.mysensors.org/topic/1857/my-sensor-node-motherboard-mysensorsnode)
https://www.openhardware.io/view/10/My-Slim-2AA-Battery-Node (https://www.openhardware.io/view/10/My-Slim-2AA-Battery-Node)
https://www.openhardware.io/view/4/EasyNewbie-PCB-for-MySensors (https://www.openhardware.io/view/4/EasyNewbie-PCB-for-MySensors)
verfolgt werden.

Die Integration in FHEM liegt vor:
Integration von MySensors in FHEM geplant?
http://forum.fhem.de/index.php/topic,26807.0.html (http://forum.fhem.de/index.php/topic,26807.0.html)
Entwicklung / Sammelbestellung Platine für MySensors-WLAN-Gateway (ESP8266)
http://forum.fhem.de/index.php/topic,46304.0.html (http://forum.fhem.de/index.php/topic,46304.0.html)
Platine für Selbstbau NanoCUL
http://forum.fhem.de/index.php/topic,38561.0.html (http://forum.fhem.de/index.php/topic,38561.0.html)

http://fhem.de/commandref.html#MYSENSORS (http://fhem.de/commandref.html#MYSENSORS)
http://fhem.de/commandref.html#MYSENSORS_DEVICE (http://fhem.de/commandref.html#MYSENSORS_DEVICE)

Gruß,
Mario
Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: danieljo am 20 Februar 2016, 19:33:48
Hallo,
nach dem mir während des letzten Sommerurlaubs der Pool wegen falschem pH-Wert umgekippt ist, habe ich auch vor, eine Messeinrichtung zu bauen.
Der Sensor ist schon da und der EZO-pH + Carrier ist bestellt.
Obwohl bereits 1-Wire zur Pumpensteuerung am Pool liegt, habe ich vor zur Anbindung auch MySensors zu verwenden. Der Betrieb soll mit Batterien oder 3,7V-Li-Ion-Akku (z.B. 18650) erfolgen.
Dadurch ist die galvanische Trennung gegeben. Als MySensors-Knoten soll einer der im MySensors-Forum beschriebenen Ansätze
http://forum.mysensors.org/topic/1857/my-sensor-node-motherboard-mysensorsnode (http://forum.mysensors.org/topic/1857/my-sensor-node-motherboard-mysensorsnode)
https://www.openhardware.io/view/10/My-Slim-2AA-Battery-Node (https://www.openhardware.io/view/10/My-Slim-2AA-Battery-Node)
https://www.openhardware.io/view/4/EasyNewbie-PCB-for-MySensors (https://www.openhardware.io/view/4/EasyNewbie-PCB-for-MySensors)
verfolgt werden.

Die Integration in FHEM liegt vor:
Integration von MySensors in FHEM geplant?
http://forum.fhem.de/index.php/topic,26807.0.html (http://forum.fhem.de/index.php/topic,26807.0.html)
Entwicklung / Sammelbestellung Platine für MySensors-WLAN-Gateway (ESP8266)
http://forum.fhem.de/index.php/topic,46304.0.html (http://forum.fhem.de/index.php/topic,46304.0.html)
Platine für Selbstbau NanoCUL
http://forum.fhem.de/index.php/topic,38561.0.html (http://forum.fhem.de/index.php/topic,38561.0.html)

http://fhem.de/commandref.html#MYSENSORS (http://fhem.de/commandref.html#MYSENSORS)
http://fhem.de/commandref.html#MYSENSORS_DEVICE (http://fhem.de/commandref.html#MYSENSORS_DEVICE)

Gruß,
Mario

Wenn ich das ganze richtig verstehe dann ist MySensors ein eigenes System und die Schnittstelle zu FHEM existiert auch bereits. Nun müsste für den EZOpH Sensor im Arduino ein Code hinterlägt werden der die Werte ermittelt und an FHEM verschickt ganz schöner Aufwand wie ich finde.
Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: danieljo am 20 Februar 2016, 19:35:23
Anbei nochmal ein paar Bilder von (fast) fertigen Gehäuse für bis zu 4 Atlas Scientific Sensoren.

Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: danieljo am 20 Februar 2016, 19:59:24
Ich verweise hier auf meinen anderen Thread wo die Modul Dateien vorgestellt werden.

http://forum.fhem.de/index.php/topic,45203.msg369958.html#msg369958 (http://forum.fhem.de/index.php/topic,45203.msg369958.html#msg369958)
Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: Helmi55 am 20 Februar 2016, 21:53:04
Gratulation - sehr saubere Arbeit
Gruss Helmut
Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: danieljo am 20 Februar 2016, 23:38:58
Gratulation - sehr saubere Arbeit
Gruss Helmut

Danke für die Blumen.
Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: danieljo am 24 Februar 2016, 20:10:34
Das Modul für den Atlas Scientific EZO EC Sensor ist erstellt. Moment noch in der Test und Debug Phase.
Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: tomster am 24 Februar 2016, 21:02:15
Das ging ja schnell...
Wahrscheinlich sollte man (nicht zuletzt aus Reichweitengründen) nicht auf MySensors gehen, sondern wirklich eher einen ESP8266 dafür verwenden.
Ich werd einfach Mal ein paar Sensoren/ Boards bestellen. Dann hätte ich schon Mal was zum Basteln für die kalten Winterabende, so diese denn überhaupt nochmal kommen ;-)
Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: danieljo am 28 Februar 2016, 19:03:47
Das ging ja schnell...
Wahrscheinlich sollte man (nicht zuletzt aus Reichweitengründen) nicht auf MySensors gehen, sondern wirklich eher einen ESP8266 dafür verwenden.
Ich werd einfach Mal ein paar Sensoren/ Boards bestellen. Dann hätte ich schon Mal was zum Basteln für die kalten Winterabende, so diese denn überhaupt nochmal kommen ;-)

Diese ESP8266 Sache klingt recht interessant. Sobald alle 4 Sensoren bei mir laufen und die Module geschrieben sind werde ich mich darüber mal informieren und was basteln.

Was meinst du mit "das ging ja schnell" ?
Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: danieljo am 28 Februar 2016, 19:09:40
Hier noch ein paar Bilder wie ich meine Elektroden und den Temperatursensor in meine PVC-Verrohrung im Aquarium Unterschrank verbaut habe. Grund dafür ist das ich im Aquarium selber möglichst wenig sichtbare Technik haben möchte. Desweiteren sind die Sensoren somit Lichtgeschützt was wiederrum zurfolge hat  das diese nicht mehr veralgen oder verschmutzen da das ganze hinter dem Filter eingebaut ist.

Aufgrund das es für mich keine günstige bzw. leicht beschaffbare Lösung gab Elektroden in ein PVC-Rohr-System einzubringen habe ich mir halt selber was gebaut.

Diese Dichtflansche wie ich sie nenne sind komplett selber gebaut. Sie bestehen aus jeweils 3 V4A Edelstahlplatten mit dazwischen liegendem Gummi welches sich beim anziehen der Schrauben an die Wandungen legen und somit das ganze abdichten.

Die obere Dichtflansch ist für 4 Elektroden mit jeweils 12mm Durchmesser geeignet. Die untere für einen Temperatursensor mit 6mm Edelstahlhülse. diesen Temperatursensor gibt es günstig fertig zukaufen und beinhaltet einen DS18B20 1-wire Sensor. Beide Dichtflansche passen genau in eine 40er PVC-Muffe.
Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: tomster am 28 Februar 2016, 21:14:12
Mit schnell meinte ich, dass Du schon ein Modul fertig hast.

Deine Flansch-Lösung ist sehr gut! Ich bin schweeer begeistert!
Da muss ich fast Mal schauen, wo ich das bei mir am Teich unterbringen könnte...
Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: danieljo am 29 Februar 2016, 08:39:41
Mit schnell meinte ich, dass Du schon ein Modul fertig hast.

Deine Flansch-Lösung ist sehr gut! Ich bin schweeer begeistert!
Da muss ich fast Mal schauen, wo ich das bei mir am Teich unterbringen könnte...

Das Schreiben des Modulen war jetzt auch kein akt.Das Grundgerüst steht ja bereits. Ja leider habe ich sowas noch nirgendwo zu kaufen gesehen. Nur so Y Abgriffe aber bei 4 Sensoren braucht man auch 4 Stück und das wird recht teuer und platzsparend ist es auch nicht gerade
Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: danieljo am 06 März 2016, 13:22:05
Gratulation - sehr saubere Arbeit
Gruss Helmut

Hy Helmut hier ist deine Platine hab diese gerade fertig bekommen und geprüft :)

Titel: Antw:Atlas Scientific Sensoren pH Leitwert etc.
Beitrag von: Helmi55 am 06 März 2016, 16:18:02
Herzlichen Dank.
Werde versuchen diese auch in eine "Dose" zu schrauben. Somit ist sie vor Staub geschützt