www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Probleme bei Auswertung DS18S20 (Assembler) nach Peter Dannegger


Autor: Raik A. (raik)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

zur Zeit habe ich Probleme einen DS18S20 an einem ATMega8 auszulesen. 
Der Sensor ist an PD3 angeschlossen und wird parasite power versorgt. 
Auf meinem Oszi kann ich nur einen sauberen Resetimpuls des W1- Bus alle 
paar ms sehen.

Zur Auswertung nutze ich derzeit einen Code von Peter (1wire.inc) , den 
ich etwas abgewandelt habe, um diesen mit in mein bestehendes Projekt 
verwenden zu können. Hauptsächlich habe ich bereits verwendete Register 
in den SRAM verschoben und lese auch die gewandelten Temperaturwerte aus 
dem SRAM.

Leider werden bisher nur meine ini- Temperaturwerte auf dem LCD 
angezeigt.

Mit einem anderen C-Testprogramm habe ich am selben Pin bei gleicher 
Beschaltung keine Probleme Werte auszulesen.

Kann mir jemand weiterhelfen?

Raik

Autor: Jörg X. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Funktion "convert_t" (in "1WIRE_DS18S20.asm") pollt den Sensor, bis 
die Wandlung fertig ist -- das geht aber nicht, wenn der Sensor 
"parasite powered" ist (der DS18* kriegt nicht genug Saft durch den 
Pull-up-Widerstand).
Du musst entweder auf die 'normale' Stromversorgung umbauen oder einfach 
abwarten, bis der Sensor fertig ist (und das NICHT mit einer 
Warteschleife, es dauert ja fast 'ne 3/4 Sekunde -- so gesehen ist das 
dauer-pollen ja auch nicht sehr effizient).

hth. Jörg

ps.: es wäre schön, wenn du das nächste mal deinen Code auf das 
notwendige Minimum beschränken könntest (Compilierbar und mit 
'Symptomen', aber ohne allem anderen)

Autor: Raik A. (raik)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Jörg

Der Code aus 1WIRE_DS18S20.asm ist derzeit nicht mit in dem Projekt 
eingebunden, sondern war nur zu Testzwecken im zip noch enthalten. Für 
diesen Test war der Sensor mit 5V separat versorgt. Auch das brachte 
keinen Erfolg. Nur der Code aus 1wire.inc wird verwendet.

Da hast Du natürlich recht, das ich solche Dinge vorher hätte entfernen 
sollen. Compilierbar müßte das Projekt aber sein.

Über die Warteschleife werde ich heute abend noch mal nachdenken.

Grüße
Raik

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.