Forum: Mikrocontroller und Digitale Elektronik HP03S Adresse falsch


von Andreas (Gast)


Lesenswert?

Hallo Wetterstationsfreunde,
Versuch das Teil zum laufen zu bringen jedoch hat das HP03S 
(http://www.pollin.de/shop/downloads/D810119D.PDF) total andere 
Adressen. Das EEprom steht anstelle von 0xA0 auf 0x50 und der AD-Wandler 
spricht anstelle von 0xEE auf 0xD0 an.

Hat einer einen ähnlichen Effekt? Ich dachte die Adressen würden sich 
nicht ändern.

Außerdem ist der 32kHz takt wenn ich den XCLR auf HIGH schalte aus 
geschaltet, ist das richtig so?

Anbei mein code schnipsel nur für die Druck zum auslesen. Habe einen 
Arduino Nano mit dem ich mir den 32KHz takt über nen Timer selber 
toggle.
Temperatur auslesung sieht genauso aus bis auf den 0xF0 Write Befehl, 
dieser ist dann durch 0xE8 ersetzt.

.
.
#define IC2HP03S 0x50  // Adresse EEprom
#define IC2HP03SP 0xD0  // Adresse AD Wandler
.
.
 digitalWrite(XCLRpin, HIGH);    // means MCLK switch off
    delay(1000);
     // Read Pressure
      Wire.beginTransmission(IC2HP03SP);  // Start transmission
      Wire.write(0xFF);
      Wire.write(0xF0);
      Wire.endTransmission();
      delay(41);
      Wire.beginTransmission(IC2HP03SP);  // Start transmission
      Wire.write(0xFD);
      Wire.requestFrom(IC2HP03SP, 2);

      while(Wire.available()<2);
        Msb =Wire.read(); // obere 8 Bit X
        Lsb =Wire.read(); // untere 8 Bit X
      Wire.endTransmission(); // stop transmitting
      delay(41);
      D1=word(Msb,Lsb);
      Serial.print(Msb);
      Serial.print(" ");
      Serial.print(Lsb);
      Serial.print(" ");
      Serial.println(D1);
.
.


Ausgebe:
bytes received: 18
0: 47
1: CA
2: F
3: 43
4: 0
5: FE
6: 1
7: 9A
8: 85
9: 85
10: 17
11: C5
12: 9
13: C4
14: 7
15: 1E
16: 6
17: 9

C1: 18378
C2: 3907
C3: 254
C4: 257
C5: 34181
C6: 6085
C7: 2500
A: 7
B: 30
C: 6
D: 9
127 255 32767


Vielleicht bastelt ja gerade noch jemand an den HP013S rum und kann mir 
tipps geben. Die Umrechnung muss ich dann noch machen.
Der D1 Wert ist aber noch falsch. Vielleicht die die Adressen 0xF0 und 
0xE8 im Datenblatt genauso falsch wie die Adressen.
Weiss jemand Rat?


Gruß
Andreas

von Arne (Gast)


Lesenswert?

Ich spreche das HP03S so an, wie es im Datenblatt steht. Und damit 
klappt es 1A. Die 32kHz erzeuge ich per PWM und lege sie dauerhaft an. 
Schadet nicht.
XCLR schalte ich wie im DB angegeben.

von Andreas (Gast)


Lesenswert?

Hallo Arne,
danke für das feedback. Habe heute heraus gefunden dass meine Adresse 
auch die 0xA0, 0xA1, 0xEE und 0xEF ist. Ich muss nur die Adresse 1 bit 
nachrechts shiften weil es ja ein 7 I2C bus ist, dann kommen die 
Adressen 0x50 und 0x77 raus und damit spricht das modul an. Musste ich 
halt heute mühsam lernen.

Leider kriege ich keine Werte aus den beiden ADC raus. Irgendwas ist 
faul.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.