www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 40 Stk.Temperatursensoren (DS18S20) mit PIC auslesen


Autor: Armin A. (armin0101)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Es geht um folgendes Problem:

Ich muss 40 Temperatursensoren (DS18S20) mit einem PIC auslesen und über 
die serielle Schnittstelle zum PC senden...

Ich hab mir gedacht ich verwende als Bus ONE-WIRE da auch die Sensoren 
ein One-Wire Interface haben.
Zwischen jedem Sensor ist ein Abstand von 50cm.

Jetzt mein Fragen:

--Kann ich überhaupt 40 Sensoren auf diesen Bus hängen (laut Internet 
sogar           - noch viel mehr)
  bzw
--auf was muss ich achten wenn es so funktioniert (z.B.: 
Pullup-Widerstand,   - externe oder parasitäre Versorgung)???

--Wie muss ich am PIC anschliessen?

--Das Programm soll in MPLAB in der Sprache C geschrieben werden:
  Leider bin ich da eine NIETE...
  Ich müsste aber nur wissen wie das Programm aufgebaut ist (Konzept)

Gibt es noch eine andere Möglichkeit dieses Problem zu lösen (I^2C, 
CANBus, ...)

BITTE BITTE helft der kompletten NIETE...

Danke

Autor: Enrock Ja (Firma: studi) (enrock)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Servus,

also an sich kannst du 40 Temp. Sensoren an den PIC anschließen.

So... Jetzt kommt das Aber.
Ich kenne den DS18S20 nicht und mit 1 Wire kenne ich mich auch nicht so 
gut aus. Du musst für die Kommunikation 40 Adressen vergeben, dann 
kannst du die Sensoren alle an einen Bus anschließen.

Ein PIC bringt aber mehr als nur einen PIN mit, so kannst du die 
Sensoren aufteilen und dir mehrere 1 Wire Bussysteme via Software 
erstellen. Bei 40 x 50 cm hättest du eine Buslänge von 20 Metern. Da 
solltest du auf jeden Fall für Hilfsenergie sorgen. Und die Laufzeit ist 
auch nicht zu vernachlässigen. Die CRC-Sum solltest du verwenden um 
Fehler detektieren zu können. Im Datenblatt sind ganz nette Beispiele 
für die Spannungsversorgung.

I2C schließe ich aus, da die DS18S20 kein 2 Wire Interface bieten.

Was willst du denn eigentlich mit einem 20 Meter langen Thermometer 
messen?

Gruß

Autor: andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

in einer der letzten Elektor-Ausgabe gabs einen Artikel, der genaue das 
beschreibt, was du brauchst.

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Daniel Nachname wrote:

> gut aus. Du musst für die Kommunikation 40 Adressen vergeben, dann
> kannst du die Sensoren alle an einen Bus anschließen.

Adressen verwalten ja, Adressen vergeben nein.

> nd die Laufzeit ist auch nicht zu vernachlässigen.

Grob geschätzt etwa 5ms pro Sensor.

Alternativ würde sich hier der DS2482-800 anbieten, der mit I2C 
angefahren bis zu 8 1-Wire Busse implementiert. Falls der Controller 
sonst zu sehr vom 1-Wire-Protokoll belegt ist.

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mehrere Busse sind ggf. sinnvoll um sich elektrische Probleme vom Hals 
zu halten. Je länger der Bus wird und je mehr Devices dran hängen, desto 
interessanter wird die technische Realisierung des Busses und die 
Charakteristik des Bustreibers. Ein Microcontroller-Port ist dafür ohne 
zusätzliche Massnahmen verwendbar aber nicht ideal.

Weniger Aufwand wird es dadurch aber nicht.

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Inwieweit "Hilfsenergie" nötig ist, d.h. separate Stromversorgung statt 
parsitärer Versorgung, hängt eher vom Messzyklus als von der Anzahl 
Devices ab. Ein Sensor blockiert während einer parsitär versorgten 
Messung den Bus für 750ms und die Messungen lassen sich dann nicht 
parallelisieren. Mit separater Versorgung können alle parallel die 
Messung durchführen.

Autor: andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das Projekt bei Elektro heißt Thermo-Snake

http://www.elektor.de/jahrgang/2008/juni/thermo-sn...

Autor: Oszi40 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Armin,
der große Vorteil eines Bus-Systems ist, daß man weniger Drähte braucht.

Der "kleine" Nachteil könnte aber auch sein, daß ein Fehler den ganzen 
Bus tot legt. Dabei haben wir das dazugehörige Thema Stromversorgung und 
EMV noch nicht näher beleuchtet...

Autor: armin0101 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für eure Hilfe...
Bin jetzt schon ein ganzes Stück weiter...

gruß Armin

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.