Forum: Mikrocontroller und Digitale Elektronik Wie mehrere DS1820 und USB an einem Windows System?


von David P. (Gast)


Lesenswert?

Nabend allerseits,

weiß jemand, ob es und wie es möglich ist, wie man z.B. 8 von den DS1820 
Sensoren per kleinen microcontroller über USB an einem Windows (8.1) 
System ansteuern und auswerten kann und mit welcher Software?

Kabellänge wird insgesammt so ca. 1m werden. Die Sensoren kann man ja 
wohl alle Parallel schalten, also als Bus wenn ich das richtig 
verstanden habe, oder?


und wieviele Sensoren sind maximal möglich an einem Bus?

von Frank K. (fchk)


Lesenswert?

Dafür reicht schon ein kleiner PIC16F1454, der billigste Controller mit 
zertifizierten USB 2 Full Speed Interface.

Wenn Du es nicht so mit uC Programmierung hast, kannst Du Dir einen 
MCP2221 und einen DS2482-800 nehmen und damit einen USB zu 8fach 1W 
Wandler bauen. An jedem Bus kannst Du dann mindestens 32 Devices 
betreiben, je nach Buslänge.

fchk

von Einhart P. (einhart)


Lesenswert?

Wenn du es einfach machen willst, dann nimm einen billigen (< €2) China 
Arduino Nano Klon. Der ist einfach ohne weitere Hardware zu 
programmieren und Codebeispiele findest du im Netz zuhauf.

Die Temperaturdaten kannst du dann über die USB-Schnittstelle als 
serielle Daten über einen virtuellen Port an den PC übertragen. Dort 
kannst du die dann mit ziemlich jeder Programmiersprache verarbeiten. 
Das Interface zur seriellen Schnittstelle ist wohl in fast jeder Sprache 
implementiert.

von Tom Thomsen (Gast)


Lesenswert?

David P. schrieb:
> an einem Windows (8.1) System ansteuern und auswerten kann und mit
> welcher Software?
Da kommt drauf an, wie umfangreich deine Auswertung ist. Mit Excel 
wärest du erstmal relativ flexibel.

von Felix Adam (Gast)


Lesenswert?

http://www.fuchs-shop.com/de/shop/17/

Dort gibt es serielle 1wire Adapter. Dann brauchst du nur noch ein 
bischen Software, z. B. mit C#

von Christian R. (supachris)


Lesenswert?

Felix Adam schrieb:
> http://www.fuchs-shop.com/de/shop/17/
>
> Dort gibt es serielle 1wire Adapter. Dann brauchst du nur noch ein
> bischen Software, z. B. mit C#

Oder halt gleich den USB 1-Wire Adapter. Damit hat man wenig Arbeit, SDK 
und Beispielprogramm gibts bei Maxim.

von Edi R. (edi_r)


Lesenswert?

David P. schrieb:
> Kabellänge wird insgesammt so ca. 1m werden. Die Sensoren kann man ja
> wohl alle Parallel schalten, also als Bus wenn ich das richtig
> verstanden habe, oder?

Das stimmt zwar, man kann jeden der parallel geschalteten Sensoren 
einzeln ansprechen und abfragen. Aber man weiß ohne entsprechende 
Vorbereitung nicht, welchen Sensor man gerade abfragt. Die Sensoren 
werden anhand ihrer ID unterschieden, nicht anhand ihrer Position am 
Bus. Deshalb muss man, wenn die Temperaturen an den Sensoren einzeln 
benötigt werden, erst mal die IDs ermitteln und dann die Messwerte den 
Sensoren zuordnen.

von grundschüler (Gast)


Lesenswert?

Edi R. schrieb:
> Deshalb muss man, wenn die Temperaturen an den Sensoren einzeln
> benötigt werden, erst mal die IDs ermitteln und dann die Messwerte den
> Sensoren zuordnen.

Oder die Software macht das automatisiert: 
Beitrag "Anlernprogramm ds1820"

von Edi R. (edi_r)


Lesenswert?

"automatisiert" erweckt den Eindruck, dass man nichts mehr tun muss, die 
Software erledigt alles. Das stimmt aber nicht. Zumindest bei der ersten 
Inbetriebnahme muss der Zusammenhang zwischen Sensor(ort) und ID 
hergestellt werden. Ob die Zuordnung dann "automatisch" per Liste 
erfolgt, oder ob man die Sensoren vertauscht, ist gleichgültig.

von grundschüler (Gast)


Lesenswert?

Edi R. schrieb:
> Zumindest bei der ersten
> Inbetriebnahme muss der Zusammenhang zwischen Sensor(ort) und ID
> hergestellt werden.

Der Zusammenhang zwischen Sensor und ID wird dadurch hergestellt, dass 
bei der Erstinbetriebnahme die Sensoren in der Reihenfolge angesteckt 
werden, wie der Zugriff im Eprom erfolgt. Im Programmcode tauchen 
individuelle IDs gar nicht mehr auf. Die IDs werden damit automatisiert 
verwaltet. Ich halte das für eine große Erleichterung.

von Edi R. (edi_r)


Lesenswert?

Das erfordert trotzdem
a) eine spezielle Erstinbetriebnahme
b) steckbare oder irgendwie unterscheidbare Sensoren.

Ich mache in diesen Fällen einen Zuordnungslauf, indem ich der Reihe 
nach jeden Sensor kurz abkühle und die Software daraus die Zuordnung 
erkennen lasse.

Ich wollte nur auf das Problem aufmerksam machen, weil die 
Beschreibungen zum 1wire-Bus nicht darauf hinweisen.

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.