Re: PH Wert Messung Kategorie: Sensoren (von Heinz - 27.04.2005 17:26) | ||
Als Antwort auf Re: PH Wert Messung von Christian - 27.04.2005 15:25 | ||
| ||
> > > > > > > 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 > > Hallo Jörg > > Danke für deine wirklich kompetente und ausführliche Antwort. > Ich seh schon das wird nicht so einfach werden. > Das Problem ist, diese Kühlmittel sind in Maschinen eingefüllt. > Jetzt passiert es immer wieder das unsere Kunden anrufen und schlechte > Bearbeitungsergebnisse reklamieren, und wir dann draufkommen das > der Kühlmittelzusatz entweder zu hoch zu niedrieg oder gar verdorben ist. > Das ganze lässt sich mittels Refraktometer feststellen. > Nur haben die wenigsten Kunden so etwas (da ziemlich teuer) > und messen tut auch niemand. > Daher war unsere Idee wir bauen ein PH-Messgerät in den Kühlmitteltank ein > und können so immer den Zustand des Kühlmittels kontrollieren. > �ber die C-Control hätte ich das ganze dann mit unserer Steuerung verknüft und > könnte dem Bediener so Meldungen über den Zustand des Kühlmittels ausgeben. > Nun ist da dieses Problem mit der Kalibrierung, die wenn ich das richtig verstanden > habe in rägelmässigen Abständen gemacht werden muss. > Nichts desto troz werde ich mir mal so eine PH Messgerät zulegen und das ganze mal in der Praxis > ausprobieren. Dann werde ich ja feststellen ob das ganze alltagstauglich ist. > Das Problem bei diesen Dingen ist immer, es soll alles können darf nichts kosten und muss > komplett Idiotensicher sein, denn du weist nie wer die Maschine bedient. > > Also danke noch mal auch für das Posting des Codes erspart mir viel Zeit und Gehirnschmalz > für die ersten Versuche. > > Christian > > Hallo Ich nehme an, dass die Messung des pH-Wertes bei Emulsionen kaum Erfolg bringen wird. Beim pH-Wert wird ja der negative Logarithmus der Wasserstoffionen bestimmt und von diesen "H+" wird es in Maschinenschmiermitteln kaum wesentliche Mengen haben ? Auch sind pH-Elektroden sog. semipermeable (= halbdurchlässige) Glasgemische und diese würden durch die �lanteile recht schnell die Fähigkeit des Ionenaustausch's verlieren ? Mitunter wäre es ein Ansatz, entweder die Leitfähigkeit der Emulsion zu bestimmen oder eine optische Messung (ev. IR) zu versuchen ? In beiden Fällen würde ich eine klassische Brückenschaltung ver- suchen, bei der ein Zweig die Messprobe und der andere Zweig eine Referenzprobe enthält ? Heinz | ||
Antwort schreiben Antworten: Re: PH Wert Messung (von JackFrost - 5.05.2005 13:32) |