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

Wichtig: Bevor Du wegen einem Problem mit der CC2 postest, stelle sicher, daß Du
die neueste OS-Version, die neuseste Compiler-DLL und die neuesten Modulversionen benutzt!
Beachte, daß sich auf der CD zur CC2-Unit/Station auch jetzt noch die ältesten Dateien befinden!
Es gelten folgende Anleitung und Regeln: Regeln CC2Net.de-Forum
Zurück zum Artikel  (Blaue Felder sind Pflichtfelder)


Name:   UserID: 
 E-Mail:
Kategorie
Betreff
Homepage:
Link-Titel:
Link-URL:
Cookie für Name, UserID, E-Mail, Homepage-URL setzen
(Erspart die Neueingabe bei Beiträgen und Antworten)
(Zum Löschen des Cookies hier klicken)
Ich nutze:
C-Control II Unit
C164CI-Controllerboard
C-Control II Station
CCRP5 mit CC2-Unit (Conrad Roboter)
CC2-Application-Board
CC2-StarterBoard
CC2-ReglerBoard
eigenes Board
original OS     OSOPT_V2     OSOPT V3.0 OSOPT V3.1

Kommentar:
Einfügen von HTML im Kommentar:

Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a>
Bild einfügen: <img src="BILDURL">
Text formatieren: <b>fetter Text</b>  <i>kursiver Text</i> <u>unterstrichener Text</u>
Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b>
C2 Quellcode formatieren: <code>Quellcode</code>
ASM Quellcode formatieren: <asm>Quellcode</asm>
(Innerhalb eines Quellcodeabschnitts ist kein html möglich.)
Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst !  

> > > Hallo zusammen, > > > > > > ich möchte für eine Gewächshaussteuerung 5 DS1631-Temperatursensoren einsetzen, aber keiner der > > > Sensoren wird erkannt. Da alle Sensoren (auf Platine, adressiert) bei André bezogen wurden, schließe ich > > > einen Lötfehler (müßte ja bei allen 5 Sensoren sein) aus. Beim Auslsesen der Temperatur bekomme ich nur die > > > "Standardanzeige" -0,07 heraus, egal, ob Sensoren angeschlossen sind, oder nicht. Die Möglichkeiten, die ich > > > im Forum dazu gefunden habe (Spannung: 5V aus der Station, ok; Lötfehler bei allen 5 Sensoren: > > > unwahrscheinlich), habe ich soweit durch. Zum Testen habe ich die Beispielprogramme aus ähnlichen > > > Forumsbeiträgen verwendet; die Software sollte auf dem Stand vom November 2005 (Inbetriebnahme der > > > Station) sein. Andere Programme (AD-Wandlung,...) laufen ohne Probleme. Entweder mache ich einen > > > grundsätzlichen Fehler, oder der I2C-Bus meiner Station ist kaputt. > > > Gibt es eine Möglichkeit, den I2C-Bus anders zu testen? Gibt es Besonderheiten bei der Station? > > > Was habe ich übersehen? > > > > > > Danke und Gruß, > > > Georg > > > > Hallo Georg, > > > > da ich dein Programm nicht kenne, weiß ich nicht, wo der Fehler liegt. > > Du mußt erst den Sensor initialisieren und dann ein Start Kommando schicken. > > (Einfachwandlung oder kontinuierliches Wandeln starten.) > > > > Je nach Auflösung benötigst du bis zu 1000 ms Wartzeit, bevor du die Temperatur > > auslesen darfst. Ich denke du weißt, wie du die Adressen $90 bis $9E einstellen mußt. > > > > Ich habe jetzt nicht nachgeschaut, ob der I2C Bus der Station interne Pull-Ups hat!?! > > Lass mal etwas Code sehen........ > > > > Mfg, > > Willi aus Oelde > > > > > > > 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
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB