SHT 75 über I2C funktioniert einfach nicht Kategorie: Sensoren (von Wolfram Müller - 26.01.2007 14:57) | |
| |
Hallo, vielen Dank für die vielen Beiträge, die mir in den letzten Jahren schon viel geholfen haben. Aber dieses mal komme ich alleine einfach nicht weiter. Ich habe eine C-Control Station 2, OS 3.0, neuestes Servicepack, einen SHT 75 Feuchte/Temp Sensor, und eine PCF-Ports-HS I²C-Porterweiterung von Andre. Verkabelt ist das ganze mit CAT5. Ich habe alle Forenbeiträge 2000 mal gelesen und die Sensirion Datenblätter intensiv studiert. Als Grundlage für die Abfrage des Sensors verwende ich das shtpcf.c2 modul aus einem posting von Krassos. Der I2C Bus funktioniert mit einem PCF/MAX-Rel8 Board seit Jahren perfekt, die PCF-Ports-HS I²C-Porterweiterung kann ich perfekt auf Hi/Lo schalten. Den SHT habe ich direkt mit SCl/SDA auf die Platine gelötet (P2+P3) und die Stromversorgung nehme ich über kurze Kabel direkt vom Bus. Mein Problem: Als Werte bekomme ich vom SHT immer -4000.00 °C und -424.00 % rH (bei 25 °C) egal was ich auch anstelle. Wenn ich einen falschen Port angebe bekomme ich -8096.00 °C und -1.00 % rH (bei 25 °C). Das bedeutet für mich, da� der Sensor korekt gefunden wird, aber einfach falsche Werte liefert oder....... Was kann ich noch versuchen ? Wer verwendet eine ähnliche Konfiguration ? Vielen Dank Wolfram Anbei noch der Beispielcode: //Modul 2: first.c2 int rH; int T; thread main { /**Initialisierungen****************************/ int a,b,c; string sc,mn,hr,zeit,bs,ts,hs,s; plm.beep(20); system.TIME z; lcdext.init(); pcf.init(); //lcd.setpcf(8); // Display an Addr. 0 plm.beep(-1); /************************************************/ loop { //erfassung der Uhrzeit und des dcf-status system.gettime(z); str.putintf(hr,z.hour,2); str.putintf(mn,z.minute,2); str.putintf(sc,z.second,2); zeit=hr+":"+mn+":"+sc; //lcdext.goto(0,0); //lcdext.print(zeit); bs=" "; hr=""; zeit = ""; mn=""; sc=""; if system.dcferr() > 5 bs="nosync"; //Anzeige von Uhrzeit und dcf-status auf dem internen Display //lcdext.goto(1,0); //lcdext.print(bs); sleep 2000; ///sht-anschluss: port 2 ist clock, port 3 ist data shtpcf.init(1,2,3); shtpcf.Reset(); sleep 100; T=shtpcf.getTemp(); rH=shtpcf.getHyg(T); lcdext.home(); lcdext.goto(0,0); s=""; ts=""; str.putint(ts,T); s="t="+ts+" C"; lcdext.print(s); s=""; ts=""; str.putint(ts,rH); s="rH="+ts+" %rH"; lcdext.goto(2,0); lcdext.print(s); //lcd.zahl4n1(shtpcf.dew(T,rH));lcd.put(0xDF);lcd.put('C'); //Taupunktanzeige sleep 2000; //Pause zwischen zwei Abfragen >800ms wegen Eignerwärmung } } | |
Antwort schreiben Antworten: Re: SHT 75 über I2C funktioniert einfach nicht (von Johannes - 1.02.2007 17:45) |