Forum: Mikrocontroller und Digitale Elektronik Problem mit Initialisierung DS1820


von marco andrew (Gast)


Angehängte Dateien:

Lesenswert?

Hallo!
Hab einen alten DS1820 gefunden und wollt temp auslesen!
Leider bleibt das Programm in der ersten schleife (siehe anhang)
hängen! hab per suche leider nichts passendes gefunden
Was könnte des sein? liegts am code?
DS1820 liegt an GND und VCC und DQ an pb0 und per 4k7 an VCC
Danke Marco

von marco andrew (Gast)


Lesenswert?

weiß keiner rat?

von Thorsten (Gast)


Lesenswert?

Funktionierenden Code findest du hier:
http://www.mikrocontroller.net/forum/read-4-84831.html

von marco andrew (Gast)


Lesenswert?

Danke hab ich schon!
Gerade hats funktioniert!
Jetzt wieder nicht mehr!
keine kalten lötstellen!

von Peter D. (peda)


Lesenswert?

Nur weil Du eine Funktion wait70us nennst, ist noch lange nicht gesagt,
daß sie dies auch tut.

Beliebte Fehler sind:

- für 4MHz assembliert, aber 16MHz angeschlossen
- 4MHz angeschlossen, aber noch die 1MHz Fuses gesetzt
- internen 1,2,4 oder 8MHz ausgewählt, aber OSCAL nicht mit dem
Programmer ausgelesen und gesetzt.


Peter

von marco andrew (Gast)


Angehängte Dateien:

Lesenswert?

Hier mal die Warteschleifen!
berechnet für 8MHz
hab keine interenen Fuses (AT90S8535)
Aber der Code müsste stimmen, oder?

von Tobi (Gast)


Lesenswert?

die pausen stimmen einwandfrei, hab die gerad mal durch den simulator
gejagt

von marco andrew (Gast)


Lesenswert?

hallo nochmal!
ich habe den code jetzt soweit reduziert, dass ich nur noch den hier im
forum stehenden teil verwende! (also die zwei teile eigentlich)
ich bekomm einfach nichts raus aus dem ds1820!
Was mach ich nur falsch?
gibt es eine begrenzung der kabellänge?

pullup is mit 4,7k dran
vcc is 5V
des is alles richtig!

wie leicht gehen die dinger kaputt? (evtl falsches anschliesen und so)
bzw. wie find ich heraus ob er noch geht?

messen kann ich des signal ned weil ich mir kein oszi leichsten kann.

von Peter D. (peda)


Lesenswert?

"gibt es eine begrenzung der kabellänge?"

Wie lang ist es denn ?

1m sollte unkritisch sein.

Ansonsten mal den Pull-Up auf 2,2 KOhm runter setzen und noch 47 Ohm
mit dem AVR-Pin in Reihe.


Peter

von marco andrew (Gast)


Lesenswert?

das kabel is nur 25cm!
pullup runter geht leider auch ned, aber trotzdem Danke!

was ich noch beobachtet hab:
wenn ich den pin frei geht die initialisierung durch!
bei dem code im ersten posting! kann doch gar ned sein, oder?
mir kommt des so vor als ob der µc spinnt!

Wie kann man möglichst schnell einen DS1820 testen?

von marco andrew (Gast)


Lesenswert?

Stimmt der Code im ersten Posting?
MfG Marco

von Peter D. (peda)


Lesenswert?

SBIC stimmt schon, es geht erst weiter, wenn der Pin 0 ist.

Entweder Du hast den falschen Pin, oder er ist fürs JTAG gesperrt oder
er ist einer der über AVCC versorgt wird oder es ist ein Masseschluß
auf der Platine oder der Chip ist im Arsch.


Peter

von marco andrew (Gast)


Lesenswert?

hab noch anderen port/pin versucht geht auch ned!
avcc is auch an vcc!

übrigens!

Folgendes noch ausprobiert!
DS1820 abgesteckt, und DQ pin gegen Masse gehalten (für precense_pulse)
siehe da funktioniert! (in meinem Falle Ausgabe auf LCD)

Ich vermute deshalb, dass beide DS18S20 die nagelneu waren kaputt
sind!
Aus welchem Grund auch immer! Kann mir kaum vorstellen dass die so
leicht kaputtgehen!

Was mir noch aufgefallen ist, im Datenblatt bei den Pinbezeichnungen
steht meiner Meinung nach zwei mal was unterschiedliches:
von vorne (Aufdruck lesbar) und buttom view wiedersprechen.
Die Bezeichnungen sind quasi um 180° verdreht????????????
Aber jetzt wollt ich erst noch euch fragen ob das ein Fehler im
Datenblatt ist?

von Marco B. (earlyperl)


Lesenswert?

Ich hatte auch Probleme mit dem KS1820, etliche PullUp-Widerstände 
ausprobiert
und dann gings. Ich habe bei ca. 4m Kabellänge einen PullUp von 2,2 
KOhm.

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.