Forum: Mikrocontroller und Digitale Elektronik Auslesefehler DS75


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von hownottobeseen (Gast)


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)

von Pete K. (pete77)


Lesenswert?

Ohne Schaltplan und Software wird wohl kaum einer helfen können ...

von hownottobeseen (Gast)


Angehängte Dateien:

Lesenswert?

hier der Schaltplan...

von hownottobeseen (Gast)


Angehängte Dateien:

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...

von Feierfoxx (Gast)


Lesenswert?

Trollalarm ersten Grades

von hownottobeseen (Gast)


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.

von hownottobeseen (Gast)


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.

von Pete K. (pete77)


Lesenswert?

Mit 3,3V und 16,5Mhz wird der ATTiny außerhalb der Spezifikationen 
betrieben.

von hownottobeseen (Gast)


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.

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.