Forum: Mikrocontroller und Digitale Elektronik Sensoren & Conrad Experiment Interface


von Günter H. (Gast)


Lesenswert?

Hallo,

ich wollte mir das USB-Experiment Interface bei Conrad. 
bestellen.http://www.conrad.de/goto.php?artikel=191137

An dieses wollte ich einige Sensoren anschließen, z.B. Temperatur, 
Feuchtigkeit etc..
Diese Daten wollte ich später mit C# auslesen, was kein Problem 
darstellen sollte, jedoch meine Frage:

Reicht es aus, z.B. einen digitalen Temperatursensor einfach an die 
digitalen Eingänge des Boards anzuschliessen.. Kann mir eventuell jemand 
erläutern ob da irgendwelche Schwierigkeiten bestehen und evtl. 
alternativen Beschreiben.

Vielen Dank für euere Antworten.

: Verschoben durch User
von Helmut (Gast)


Lesenswert?

Das kommt darauf an was das für Sensoren sind

von Günter H. (Gast)


Lesenswert?

also z.B. dieser Temp Sensor  DS18S20:
http://www.conrad.de/goto.php?artikel=176168

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Ich bezweifele (lies: weiss es nicht sicher!), dass man den DS18S20 am 
Velleman K-8055 betreiben kann.

Die Ansteuerung per USB durch die Blackbox PIC Mikrocontroller auf dem 
K-8055 zum Sensor wird das penible Timing zum Sensor nicht einhalten 
können.

Zu einem Zusammenspiel von DS18S20 und K-8055 finde ich auch nichts im 
Netz, obwohl der DS18S20 und das K-8055 ziemlich gängig sind.

Velleman selbst empfiehlt in seinem Forum den Temperatursensor K-8067.
http://forum.velleman.be/search.php?st=0&sk=t&sd=d&keywords=sensor+temperature&start=15

Ich denke nicht, dass das nur Geldmacherei ist, sondern dass obige 
technische Gründe eine Rolle spielen. Auf dem Velleman Temperatursensor 
ist dann ein eigener DA/AD Wandler drauf und der Analogmesswert wird 
weitergeben. Z.B. an ein Control-C 
Beitrag "Conrad-Bausatz "universeller Temperatursensor"" oder ein K-8055.

Wenn du unbedingt den DS18S20 willst, könntest du den z.B. mit einem 
Mikrocontroller selbst ansteuern und dir im einfachsten Fall über ein 
USR/RS232 Adapter die Messwerte holen.
http://www.mikrocontroller.net/forum/mikrocontroller-elektronik?filter=ds18s20
http://www.mikrocontroller.net/forum/codesammlung?filter=ds18s20

C# http://www.k8055-velleman.at.tt/

von Günter H. (Gast)


Lesenswert?

Was wäre den eine alternative zum K-8055? Mir geht es nur um ein Paar 
Temp Sensoren anzuschließen, diese irgendwie auszulesen und die Werte 
weiterzuverarbeiten.

Der eigentliche Aufwand soll minimal sein. Wenn möglich ein fertigen 
Microcontroller an den man einfach max 5-6 Sensoren anschliessen kann.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Fertige Lösung habe ich keine, sorry.

Wenn du selbst baust...

Irgendwas in Richtung AVR, die haben genug Pins, um eine Reihe von 
DS18S20 anzusprechen.
http://www.johannes-bauer.com/projekte/tempgrid/
http://chaokhun.kmitl.ac.th/~kswichit/avrthermo/avrthermo.html
... usw. es gibt hier im Forum massig DS18S20 Code mit AVRs
Mit PIC geht es auch
http://www.elektor.de/jahrgang/2008/juni/thermo-snake.497315.lynkx
Und mit R8C auch
http://www.elektor.de/extra/r8c-entwickler-wettbewerb-die-gewinner.83233.lynkx
http://www.elektor.de/forum/foren-ubersicht/foren-zu-elektor-projekten/ds1820.173008.lynkx

Achte auf eine UART für die Verbindung zum PC. An die kann man ein 
USB-to-RS232 Adapter ranhängen, wenn man auf dem PC keine RS232 hat 
sondern nur USB.
http://www.embedtronics.com/avr/tempavr.html

Alternativ ein µC-Board mit integriertem RS232 bzw. TTL nach USB 
Hardwarechip oder Softwarelösung.

von Hans (Gast)


Lesenswert?

Ich habe einige Std gegoogelt, jedoch ohne erfolg. ich würde schon diese 
one-wire kommunikation mit dem 8055 realisieren.

Die Karte registriert den DS1820 als angeschlossen. Jedoch ist mein 
Problem das herstellen der Kommunikation mit C#. Gibt es da bestimmte 
Beispiele ?

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Hans wrote:
> Ich habe einige Std gegoogelt, jedoch ohne erfolg. ich würde schon diese
> one-wire kommunikation mit dem 8055 realisieren.
>
> Die Karte registriert den DS1820 als angeschlossen.

"Glaube ich nicht". Die K8055 Karte registriert einen Logikpegel an dem 
Digitaleingang an dem der DS1820 mit einem Beinchen hängt, aber keinen 
"Wert".

Hier gibt es bereits ein weiteres Problem: Der Sensor muss an einem 
umschaltbaren Digitalport angeschlossen werden. Einmal ist der Port 
Eingang und einmal Ausgang. Das ist auf dem K8055 so nicht vorgesehen!

K8055 ILLUSTRATED ASSEMBLY MANUAL
http://www.velleman.be/downloads/0/illustrated/illustrated_assembly_manual_k8055_uk_rev3.pdf

Die Kommunikation zu einem DS1820 läuft so ab, dass der "Master" (dein 
PC) auf dieser Leitung Bits schickt und dann eine gewisse Zeit darauf 
wartet, dass der DS1820 antwortet, d.h. seinerseits Bits schickt.

Das Zeitverhalten (Timing) muss im Bereich von paar 10 bis paar 100 
Mikrosekunden liegen.

"The bus master transmits (TX) a reset pulse (a low signal
for a minimum of 480 µs). The bus master then
releases the line and goes into a receive mode (RX).
The 1–Wire bus is pulled to a high state via the 5K
pull–up resistor . After detecting the rising edge on the I/O pin, the 
DS1820 waits 15–60 µs and then transmits
the presence pulse (a low signal for 60–240 µs)."

*DS1820 1–Wire Digital Thermometer*
http://www.micro-ide.com/downloads/ds1820.pdf

> Jedoch ist mein
> Problem das herstellen der Kommunikation mit C#. Gibt es da bestimmte
> Beispiele ?

Es gibt Beispielcode für C# und K8055 unter Linux #1 
http://linuxk8055.free.fr/ und Windows #2 
http://www.k8055-velleman.at.tt/

Wahrscheinlich nicht für den speziellen Fall K8055 + DS1820, jedenfalls 
hat meine Suche (oben) nix gebracht und deine ja auch nicht.

Ich befürchte, du kannst die rel. engen Zeiten 15–60 µs und 60–240 µs 
mit C# durch den USB-Stack durch die Blackbox PIC-µC auf dem K8055 nicht 
einhalten.

In dem Link #2 ist die Rede von "general conversion time: 20ms per 
command". Das wäre fast 1000x zu langsam für diese Anwendung!

In http://forum.velleman.be/viewtopic.php?t=1096 sind Aufzeichnungen zu 
sehen, die Zeiten im 10ms Bereich fürs Toggeln aus einem C++ Programm 
heraus bestätigen. Damit kannst du bei einem DS1820 definitiv nix 
reissen.

von Hans (Gast)


Lesenswert?

Was wäre den die alternative zu dem DS12S80? Also ein digitaler Sensor 
der auf jeden fall mit dem K8055 funktionieren könnte? Vorzugsweise 
digital, an sonsten wenns umstandshalber nicht geht, dann analog.

Danke für euere Hilfe

von Gast (Gast)


Lesenswert?

Hallo
Nimm doch einen aus der KT-Serie. Z.B. KTY....
Den mit Widerstand an plus minus 5 Volt und dann
über den AD-Wandler dran hängen. Dann mit
hilfe des Programms ihn auslesen. Muß halt dann
programmiert werden.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

In der Artikelsammlung sind ja allgemeine Temperaursensoren 
aufgezählt und in dem Forumlink oben zum K-8067 sind auch jede Menge 
genannt, die sogar in der Praxis eingesetzt werden.

Das K8055 braucht selbst lt. Manual ca. 70 mA von USB, d.h. "legal" hast 
du noch 30 mA, die du einer externen Schaltung zuführen. Das sollte für 
einen Temperatursensor reichen.

Bei den analogen Temperatursensor wäre es so:

Du hast zwei analoge Spannungseingänge für 0-5V und die werden mit 8-Bit 
digitalisiert (256 Stufen). Ein Temperatursensor mit 0-5V Ausgabe und 5V 
Versorgungsspannung (irgendwo auf dem Board abgegriffen) würde direkt 
passen.

Einen Sensor mit geringerem Ausgabebereich (LMx35, s. K-8067 von 
Vellemann) könnte man anpassen, indem man von der boardeigenen 5V 
Referenzspannung auf eine geringere, eigene Referenzsannung wechselt. So 
könnte man auch die Auflösung erhöhen, allerdings unter Verkleinerung 
des Messbereichs.

Die von Gast genannte KTY-Familie stellt temperaturabhängige Widerstände 
dar. Die könnte man auch einsetzen.
http://www.nxp.com/acrobat_download/literature/9397/75016148.pdf

Bei den digitalen Temperatursensor könnte einer mit I2C Bus oder eine 
der SHT1x/SHT7x interessant sein, denn deren Protokolle kann man langsam 
abwickeln, weil man selbst den Takt (SCK) vorgibt. Ist die Frage, ob 
dann für die Anwendung noch genug Daten kommen.

Tsic mit dem ZAGWire Protokoll halte ich bei den Bitzeiten für zu 
schnell (100 µs Bereich) 
http://www.ist-ag.com/eh/ist-ag/resource.nsf/imgref/Download_TSic_Zacwire_EN.pdf/$FILE/TSic_Zacwire_EN.pdf

Die Schaltung für die Datenleitung wäre IMHO nicht ohne, denn man hat 
keinen umschaltbaren IO-Pin sondern müsste einen Digitalausgang und 
einen Digitaleingang benutzen und miteinander verschalten. Die 
Abwicklung selbst wäre komplett selbst zu programmieren, denn eine 
entsprechende Hardware Schnittstelle ist nicht auf dem Board!

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Arrrgghhh!
s/Temperaursensor/Temperatursensor/g

von Fanta187 (Gast)


Lesenswert?

Hallo,
ich wollte mal nachfragen, ob sich das Problem mit dem Daten einlesen 
gelöst hat. Ich sitze nämlich gerade vor dem selben Problem mit dem 
selben Board. Nur habe ich Infrarotsensoren an der Karte angeschlossen. 
Jedes mal, wenn ich die Daten einlese bekomme ich den Wert für meine 
Ausgänge angeszeigt. Dies ist aber nicht der Wert, den ich bekommen 
möchte.

Vielen Dank

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.