Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

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
Ich nutze:
C-Control II Unit, CC2-Application-Board, OSOPT V3.0
> > > > > > > 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)