Auslesefehler DS75

Gast #1371883
Lesenswert?
• ▲
▼
Hi,

ich hab hier ein komisches Problem mit einem DS75 an einem Tiny45.
der Sensor ist per Soft-TWI angebunden (INT0 wird für etwas anderes 
gebraucht).

Wenn ich den Sensor in den 12 Bit-Modus schalte und im Sekundentakt 
auslese, kommen Schrottdaten an (mal -100°C, mal 60°C oder der Messwert 
bleibt stehen).

Erhöhe ich die Ausleserate auf 50Hz kommen die Werte allesamt (!) 
korrekt an.
Den Bustakt habe ich schon ziemlich weit abgesenkt (ca. 50kHz), reine 
Lesefehler auf dem Bus kann ich also so ziemlich ausschließen.

Hat jemand eine Idee, woher der Fehler kommt und wie ich ihn am besten 
wieder loswerde? ;)

Ist so ziemlich das erste mal, dass ich mit einem DS75 solche Probleme 
habe.

Betriebsspannung des ICs liegt auf 3,3V, Pullups (10k) sind vorhanden 
und die Leitung ziemlich kurz. Irgendeinen Blödsinn auf dem Bus behaupte 
ich nicht zu haben. Auch auf dem Oszi sieht die Konversation ok aus 
(wobei das b...e Ding nimmer richtig auf die Signale triggern will)
Gast #1373575
Lesenswert?
• ▲
▼
...und da die Software.

Es werkelt vUSB von obdev, die 5V aus dem Port werden durch zwei Dioden 
auf ca. 3.3V heruntergebrochen.

Hätte jedoch relativ wenig schmerzen damit, die Schaltung auf 5V-Betrieb 
wieder umzubauen, wenns denn zuträglich ist.

Ironisch ist irgendwie, dass der USB besser funktioniert als der 
I²C-Bus...
Angehängte Dateien:
Gast #1373824
Lesenswert?
• ▲
▼
@Feierfoxx:

ähh nein, nicht wirklich.

Ich finde es wirklich ironisch, dass der deutlich komplexere USB besser 
funktioniert als das Auslesen über den I²C.

Es ist nur so, dass ich absolut auf dem Schlauch stehe, warum am PC so 
ein Blödsinn ankommt.
Gast #1373827
Lesenswert?
• ▲
▼
PS: was ich schon gestern abend vergessen habe zu schreiben (nachdem es 
im Quelltext nicht steht): Der CPU-Takt wird per USB-Framelength auf 
16.5 MHz kalibriert.
Dadurch, dass F_CPU ebenfalls auf 16.5 MHz eingestellt wurde, sollte es 
mit den Delays in den I2C-Funktionen zu keinen Problemen kommen.

Der Quellcode ist zugegebenermaßen etwas dahingerotzt, wenn es jemand 
wirklich kompilieren/testen will, kann ich heute Abend den kompletten 
Rest von vUSB (und ggf. der Windows-Software) hochladen.
Gast #1379479
Lesenswert?
• ▲
▼
Der Fall ist geklärt, genau eine Lötstelle war nicht sauber. Vcc zum 
Sensor war offen.

Durch die höhere Auslesefrequenz wurde der Sensor durch SDA und SCL 
quasi phantomgespeist. Lötstelle korrigiert, jetzt ließt das Teil 
richtig.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.