Re: PH Wert Messung Kategorie: Sensoren (von Jörg K. - 27.04.2005 14:17) | ||
Als Antwort auf Re: PH Wert Messung von Christian - 27.04.2005 12:48 | ||
| ||
> > > > > Hallo! > > > > > Ich hätte da mal eine Frage! > > > > > Hat jemand von euch Erfahrung mit PH-Wert Messung. > > > > > > > > > > Es geht um folgendes: > > > > > Ich soll in einem Projekt den �lanteil im Wasser messen. > > > > > Dieser kann von 0% bis ca. 25% betragen. > > > > > Dieser Wert sollte dann mit einer Genauigkeit von +/-1% am Display angezeigt werden. > > > > > > > > > > Nun denke ich mir das dies nur über den PH-Wert zu realisieren ist. > > > > > > > > > > Meine Fragen: > > > > > Welchen Sensor verwende ich da am besten. > > > > > Hat jemand von euch so etwas oder etwas änliches gemacht, > > > > > und kann mir hilfreiche Tipps geben. > > > > > > > > > > Da ich hier im Forum nichts dergleichen gefunden habe, denke ich mir das dies auch für so > > > > > manchen anderen Anwender von Interesse sein kann. > > > > > Also schon mal Danke im voraus für eure Anregungen und Tipps. > > > > > > > > > > Christian > > > > > > > > > > > > > Hi, > > > > > > > > Der PH-Wert gibt nur an ob Wasser sauer oder basisch ist also 7 = neutral unter 7 = sauer (Säure) und > > > > basisch (Lauge) > 7. Da Oel leichter als Wasser ist schwimmt es auf dem Wasser. > > > > > > > > Gut das hat dir zwar jetzt auch nicht geholfen aber ich denke du bist auf dem Holzweg > > > > > > > > Mfg > > > > > > > > Heribert > > > > > > > > > > > > > > > Hallo Heribert! > > > > > > Dein Gedankengang ist nicht unrichtig. Ich muss jedoch etwas klarstellen. > > > Bei dem sogenannten �l handelt es sich nicht wie du vermutest um Schmieröl, > > > Motoröl oder ähnliches, die wie du richtig sagst an der Wasseroberfläche schwimmen würden. > > > Sondern es handelt sich hierbei um sogenannte Kühlschmierstoffe die mit Wasser > > > verdünnt werden. Da diese Kühlschmierstoffe �l ähnlich sind werden sie fälschlicher > > > weise auch �l genannt. Da sich diese Schmierstoffe eben mit Wasser abmischen lassen > > > war meine �berlegung die, das sich der PH Wert mit der Menge des Schmierstoffes im > > > Wasser ändern müsste. Wie gesagt das ganze ist momentan noch eine reine theoretische > > > �berlegung. Denn das ganze dürfte schon alleine darann scheitern das ich gar keinen richtigen > > > Sensor zum messen des PH Wertes finde den ich an die CC2 anschliessen kann. > > > Ich bin aber für jede Anregung dankbar. > > > > > > Christian > > > > Hallo Christian, > > ich benutze an meinem Koiteich das PH-/Redox-/Temperatur-Me�gerät GHM 3530 der Firma > > Greisinger mit serieller Schnittstelle. Mit einem Schnittstellenkonverter (Greisinger) direkt > > an der seriellen Schnittstelle der CC2 zu betreiben. Ich habe selbst schon etliche PH-Meter > > mit analogem Ausgang selbstgebaut, war aber nie zufrieden (Abgleich, ...). Das Gerät ist > > microprozessorgesteuert und äu�erst genau. Alle Me�werte kannst Du somit in der CC2 > > verarbeiten. > > > > GHM 3530 > > > > Preise (netto): > > GMH 3530: 124,50 � > > GMH 35 ES Ergänzungsset(pH-Elektrode, Temperaturfühler, Koffer, Kalibrierset): 112,20 � > > oder nur pH-Elektrode(Temperatur mu� von Hand eingegeben werden): ab 31,30 � > > Schnittstellenkonverter GRS 3100 (1 Kanal): 39,00 � > > > > Bei Interesse kann ich das Schnittstellenprotokoll posten! > > > > Gru� > > Jörg > > > Hallo Jörg > > Na das ist ja schon mal was. > Habe mir die Beschreibung durchgelesen. Scheint interessant zu sein. > Nur vielleicht mal einige Fragen vorab: > Wie ist das mit dieser Temperaturkompensation. Wie wichtig ist die wirklich? > Und wie verhällt sich das ganze wenn das Gerät fix installiert ist. > Wie oft muss die Kalibrierung durchgeführt werden? > > Wegen des Schnittstellenprotokolles: > Würde mich sehr interessieren. > > Nur noch rein Interessenshalber: > Wie baut man ein PH Messgerät selbst??? > > Danke > Christian > > Hallo Christian, der pH-Wert ist sehr stark von der Temperatur abhängig. Beim Abgleich der pH-Elektrode wird diese zuerst in die Puferlösung für pH7, danach je nach Anwendungsfall pH10 oder pH4 getaucht(zusammen mit Temperaturfühler). Aus den Wertepaaren (pH/Spannung der Elektrode) ermittelt der Prozessor die Geradengleichung für die pH-Elektrode. Die Temperatur beeinflu�t hier die Steigung der Geraden. Wenn Du bei Deinem Anwendungsfall annähernd gleiche Temperaturen hast, kannst Du die Temperatur auch manuell eingeben. Der Temp-Sensor kostet aber gerade mal 10 Euro. Ich wei� nicht was Du mit "fix" meinst, aber ich habe das Gerät fest in einem Elektroverteiler eingebaut. Mit Steckernetzteil läuft das Ding 24 Stunden. Beim Abgleich Deckel runter, Gerät an der frontseitigen Folientastatur abgleichen, Deckel wieder drauf. Die Elektrode/Tempfühler führe ich über eine BNC-Verlängerung aus dem Verteiler. Ich kalibriere ungefähr alle 4 Wochen. Hierzu sollten neue Pufferlösungen angesetz werden. Schaltpläne für pH-Meter gibts im Internet. Aber wie gesagt die Zeit würde ich mir sparen, wenn Du für 130 � das perfekte Gerät bekommst. Die Elektrode brauchst Du sowieso. Hier mein Quelltext: // 3 Byte Anfrage an GMH3xxx (über Adresse) --> 6 Byte Antwort < 1 sec Messwert const gmh_ADDR1[] = 0xFE, 0x00, 0x3D; // GMH 3550 PH oder Redox Kanal 1 const gmh_ADDR2[] = 0xFD, 0x00, 0x02; // GMH 3550 Temperatur Kanal 2 const I2CCOM_CONT = 4; // CCTools i2c-Com --> i2ccom.c2 const I2CCOM_DATA = 5; // pH und Temp und Redox an Greisinger GMH 3530 const I2CCOM_SUB = 0; float Wassertemp; float gmh_messwert; float pH_Wert; function gmh_decode (byte byte3, byte byte4) returns int { // Deklarationen long Integerwert, Dezimalpunkt, lo; int Rueckgabe; float wert; Rueckgabe = 0; //Funktion lo = ((256*(255-byte3)) + byte4 - 2048); Integerwert = 16383 & lo; Dezimalpunkt = 49152 & lo; //Daten checken if Integerwert >= 16352 { // Daten im verbotenen Wertebereich, Rückgabewert ist Fehlermeldung!! if Integerwert == 16352 return(1); // Me�bereichsüberschreitung else if Integerwert == 16353 return(2); // Me�bereichsunterschreitung else if Integerwert == 16362 return(11); // Berechnung nicht möglich else if Integerwert == 16363 return(7); // Systemfehler else if Integerwert == 16364 return(8); // Batterie leer else if Integerwert == 16365 return(9); // Sensor defekt } //Setzen des Dezimalpunktes wert = Integerwert; if Dezimalpunkt == 0 wert = wert / 1.0; else if Dezimalpunkt == 16384 wert = wert / 10.0; else if Dezimalpunkt == 32768 wert = wert / 100.0; else if Dezimalpunkt == 49152 wert = wert / 1000.0; gmh_messwert = wert; return(Rueckgabe); } function gmh_ph_temp(byte ph_temp) returns int // 0=pH, 1=Temperatur { byte Byte3, Byte4; byte to_send[2]; byte empf[5]; int i, fehler; i2ccom.setDataPCF(I2CCOM_DATA); // Adresse für Daten-PCF angeben i2ccom.defineCOM(2, I2CCOM_CONT, I2CCOM_SUB); // (Schnittstelle , Ctrl-PCF-Addr., Jumper Sub) i2ccom.initCOM(2, 0); // (Schnittstelle , Autoflow) i2ccom.setspeed(2, 4); // (Schnittstelle , Geschwindigkeit) 4=4800 Baud i2ccom.setFormat(2, i2ccom.set8N1); // Datenformat einstellen i2ccom.RTSenable(2, 0); // RTS low, GRS3xxx einschalten i2ccom.DTRenable(2, 1); //DTR high, GRS3xxx einschalten if ph_temp == 0 for i = 0 ... 2 to_send[i] = gmh_ADDR1[i]; else for i = 0 ... 2 to_send[i] = gmh_ADDR2[i]; i2ccom.send(2, to_send, 3); if i2ccom.receive(2, empf, 6, 500) == 6 { Byte3 = empf[3]; Byte4 = empf[4]; fehler = gmh_decode(Byte3, Byte4); } return fehler; } //----------- thread main //----------- { int fehler; . . . gmh_ph_temp(1); Wassertemp = gmh_messwert; sleep 1500; gmh_ph_temp(0); pH_Wert = gmh_messwert; . . . } Ich habe den Schnittstellenkonverter an Andre Helbigs i2c-Com angeschlossen. Funtz natürlich auch an hwcom (mu� voll beschaltet sein oder RTS und DTR mit I/O nachbilden). Dieses Protokoll ünterstützt alle GMHxxxx. Mit einem 5fach Schnittstellenwandler kann man so 5 verschiedene GMHs an einer com betreiben (hab mir gerade das GMH 3630 für gelösten Sauerstoff bestellt). nur den Anfragestring und Kanal anpassen. Ich hoffe ich habe Dir geholfen. Viel Spa� Gru� Jörg | ||
Antwort schreiben Antworten: Re: PH Wert Messung (von Christian - 27.04.2005 15:25) Re: PH Wert Messung (von Heinz - 27.04.2005 17:26) Re: PH Wert Messung (von JackFrost - 5.05.2005 13:32) |