40 Stk.Temperatursensoren (DS18S20) mit PIC auslesen

OP #887114
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
(Firma: studi) #887428
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ß
#887520
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.
#887529
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.
#887537
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.
Gast #887828
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...

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.