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

Re: DS1631: I2C-Bus bei CC2-Station defekt? Kategorie: I²C-Bus (von Willi aus Oelde - 30.03.2006 19:44)
Als Antwort auf Re: DS1631: I2C-Bus bei CC2-Station defekt? von Georg - 28.03.2006 22:05
Ich nutze:
C-Control II Unit, CC2-ReglerBoard, eigenes Board, OSOPT_V2
> Hallo Willi,
>
> danke für die schnelle Antwort. Ich habe sicherheitshalber noch einmal alle Varianten mit allen Adressen
> von 1 bis 5 durchprobiert. Zur Zeit stecken alle 5 Sensoren auf einem Steckbrett und sind jeweils über
> 330 Ohm mit SDA und SDL verbunden. Doch nun zu den Programmen:
>
> Variante 1:
> thread main
> {int x;
>  lcdext.init();
>  if i2c.start(0b10010001)
>    lcdext.print("Sensor gefunden");
>   else
>   {
>    lcdext.print("Sensor reagiert");
>    lcdext.line(2);
>    lcdext.print("nicht !!");
>  }
>  quit 1;
> }
> => keine Reaktion von 0b10010001 bis 0b10010101
>
> Variante 2:
> thread main
> {
>  stports.init();
>  lcdext.init();
>  ds1631.init(8);
>  loop
>  {
>   lcdext.line(1);
>   lcdext.zahl4n2(ds1631.readi2(5));
>   lcdext.put(223);
>   lcdext.put('C');
>   sleep 1000;
>  }
> }
> => Jeweils nur "-0,07°C" für readi2(1) bis readi2(5)
>
> Variante 3:
> thread getTemp {
>
> run 100;
>
> int t1;
> float temp;
> string wert;
> sleep(1000);
>
> //lesen der Adresse 0
> t1=0;
> t1 = ds1631.readi2(5);
> temp = t1;
> temp = temp/100.;
> //Integer in String umwandeln
> str.putfloatf(wert, temp, 2);
> lcdext.goto(0,0);
> lcdext.print(wert);
> //zurücksetzten
> sleep(300);
> lcdext.clear();
> wert = "";
> }
>
> thread main {
> //initialisierung
> ds1631.init(5);
> lcdext.init();
>
> run getTemp;
> halt;
> }
> => Jeweils nur "-0.07" für readi2(1) bis readi2(5)
>
> Ich habe auch versucht, die Sensoren nicht nur gemeinsam ("8") sondern individuell zu initialisieren, aber
> das hat ebenfalls nichts geändert. Ist eventuell der I2C-Bus nicht richtig initialisiert?
>
> Danke weiterhin.
>
> GruÃ?
> Georg



Hallo Georg,

nachdem ich mir den Plan der Station angesehen habe, denke ich du solltest mal SDA und
SCL mit je etwa 6,8 Kiloohm an Plus legen. Kaputt machen die Pull-up's nichts......

Zum Testen würde ich auch nur einen Sensor einbauen.
Evt. schaust du auch mal ob evtl. SDA und SCL vertauscht sind?

Ich denke, es gibt auch ein I²C init (Laut Anleitung Station !)

Das sollte den Bus in einen definierten Zustand bringen. Ich weiÃ? nicht, wie das LCD
angeschlossen ist, aber wenn das am I2C Bus hängt, kann es Probleme geben. (Denke ich)
Evtl .mal Pausen dazwischen......

In der Variante 2 fehlt nach dem ds1631.init die Zeit von min. 750 ms.

Ich denke, es sind die Pull-Ups die fehlen, wenn der Rest der Verkabelung korrekt ist
und unter 400 pF liegt.......

Gib nicht auf......      :-)

Willi aus Oelde


 


    Antwort schreiben


Antworten:

Re: DS1631: I2C-Bus bei CC2-Station defekt? (von Georg - 30.03.2006 23:27)
    Re: DS1631: I2C-Bus bei CC2-Station defekt? (von Willi aus Oelde - 31.03.2006 20:42)
        Re: DS1631: I2C-Bus bei CC2-Station defekt? (von Georg - 2.04.2006 15:37)
            Re: DS1631: I2C-Bus bei CC2-Station defekt? (von Willi aus Oelde - 3.04.2006 22:18)
                Re: DS1631: I2C-Bus bei CC2-Station defekt? (von Georg - 6.04.2006 22:35)
                    Re: DS1631: I2C-Bus bei CC2-Station defekt? (von Georg - 7.06.2006 12:57)