Forum: Mikrocontroller und Digitale Elektronik DS1620????


von Jochen (Gast)


Lesenswert?

Hallo
ich hab mir den Temperatursensor DS1620 gekauft, und möchte jetzt 
natürlich die Temperatur auslesen. Ich habs so versucht wie's im 
Datenblatt steht, bloß es nicht geht.
Kann mir da jemand weiterhelfen.
Danke
Jochen

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Du hast in Zeile 23 ein ";" vergessen.

von Jochen (Gast)


Lesenswert?

Ist der Beitrag so blöd oder ???

von crazy horse (Gast)


Lesenswert?

Andreas wollte dir durch die Blume sagen, daß du vielleicht mal dein 
Programm hier reinstellen solltest. Wie soll am sonst erkennen, wo dein 
Fehler liegt?

von Jochen (Gast)


Angehängte Dateien:

Lesenswert?

In der Source.txt sind die wichtigsten Dateien enthalten
wenn mehr benötigt werden bitte ich dies mir mitzuteilen
Danke

von Jochen (Gast)


Lesenswert?

Also habs jetzt mal gedebugged und sehe das bei der Kommunikation mit 
dem DS1620 irgendwas schief geht denn ich empfange immer 0 wenn ich was 
vom DS1620 holen will

Hat keiner schon einen DS1620 verwendet und kann mir weiterhelfen

von Peter D. (peda)


Lesenswert?

Vielleicht solltest Du noch angeben, welchen MC zu verwendest.

Um einen Pin bidirektional zu nutzen, mußt Du beim AVR die Richtung 
umschalten sowie vom Input Register lesen, bzw. beim 8051 sicherstellen, 
daß der Pin vor dem Lesen auf high gesetzt ist (open drain output).


Peter

von Jochen (Gast)


Lesenswert?

Ich hab ein M16 von glyn und der Port an dem DQ vom DS1620 liegt wird 
zwischen EIngang und Ausgang umgeschaltet

von Gunter (Gast)


Lesenswert?

Hi Jochen,

ich denke, Du hast das gleiche Problem, das auch ich hatte.
Ich hab's mittlerweile hingekriegt (in Pascal/Assembler).
Offensichtlich ist das Datenblatt da nicht eindeutig genug.

Die Logik ist folgendermaßen:

RST = 1
  sende $AA (start conversion)
  "warten"
  read temp Lo
  read temp hi
RST = 0 (!!!!)

Also der ganze Zyklus OHNE Reset zu toggeln !

Wenn Dir das noch nicht hilft, melde Dich nochmal !

von Jochen (Gast)


Lesenswert?

@Gunter
Danke ich hab das Problem gefunden und zwar waren es die Funktionen
Get1620Byte Put1620Byte Read1620byte Write1620Byte
die hab ich nähmlich direkt von der Homepage von Dallas gezogen und 
gedacht die müssten passen. Zja jetzt weiss ich das Beispiel Programme 
auch wenn sie vom Hersteller stammen fehlerhaft sind. Das hat mich ein 
ganzer Tag gekostet
Nochmals Danke

von Peter D. (peda)


Lesenswert?

@Jochen,

und wenn Du uns auch noch verraten könntest, was daran falsch ist.

Ein Forum, wo jeder nur nimmt und nichts gibt kann nämlich nicht 
existieren.

Ich wußte garnicht, daß Dallas auch M16-Beispiele ins Web stellt.

Peter

von Jochen (Gast)


Angehängte Dateien:

Lesenswert?

Also der neu source für die oben genannten funktionen sind im Anhang.
Es waren nur die Funktionen Put1620Byte und Write1620Byte
und zwar bei zerstückeln des Bytes in die einzelne Bits war der fehler

Und Dallas hat ein Beispiel für nen 8051 in C gemacht, die man dann sehr 
leicht auch auf andere µC übernehmen kann

von Stefan_h (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

Ich habe den von Jochen geposteten Sourcecode auf den ATmega103 probiert 
umzuschreiben. Irgendwie funktioniert das ganze nicht so richtig. Der 
Controller empfängt nur 1en.

Habe die Kommunikation mal mit dem Oszi gemessen. Das Bild befindet sich 
im Anghang. obere Kurve ist CLK und untere Kurve ist DQ.

Ich weiß nicht mehr weiter, vieleicht kann mir einer helfen.

lg,

Stefan

von Stefan_h (Gast)


Angehängte Dateien:

Lesenswert?

Tschuldigung, falsche zip-Datei

von Stefan_h (Gast)


Lesenswert?

Fehler gefunden: Kaufe nie bei C*****, es wird passieren, dass man statt 
eines DS1620 einen DS1621 bekommt.

lg,

Stefan

von Peter D. (peda)


Lesenswert?

@Stefan,

der DS1621 ist doch besser:

Du sparst einen Draht ein bzw. Du kannst sogar bis zu 8* Ds1621 and die 
selben 2 Drähte hängen.


Peter

von Klaus Falkenberg (Gast)


Lesenswert?

Hallo da draussen,


inzwischen sind ja ein paar´Wochen vergangen. Ich versuche auch gerade,
einen DS1620 per AVR in Fahrt zu bringen.

Nix klappt.

Auf dem Oskar sehe ich das gleiche Bild wie  Stefan. Es ist aber
wirklich ein 1620 ...

Hat jemand an dem Thema weitergemacht und eine Lösung in Assembler für
AVRs  ?

Ich könnte natürlich meinen M*st posten. Würde das was helfen ?


Viele Grüße
Klaus

von Stefan_h (Gast)


Lesenswert?

Hi,

Habe damals nicht mehr daran gedacht den Ausgang der Geschichte zu
Posten.

Habe meine Software umgeschrieben auf den 1621er ist dann bald
gegangen. C-Code(1621er) hätte ich, aber mit ASM beim AVR hab ich nie
gemacht. Aber soweit ich mich errinnern kann hab ich in ASM für den
1620er viel im Netz gefunden.

lg,

Stefan

von Stephan E (Gast)


Lesenswert?

Ich habe seit kurzem ein STK 500 mit dem DS1621.
Habt ihr vielleicht ein kleines Programm in C für mich???

von Stefan_h (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

Ich habe nach einiger suche dieses C-File gefunden. Bei mir hat es nach
einem kleinem Umbau funktioniert.

lg,

Stefan

von Stephan E (Gast)


Lesenswert?

DANKE!!!
Werde es gleich mal ausprobieren...

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.