www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Temperatursensor an LPT


Autor: x86 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Einen wunderschönen, sonnigen, Tag an alle.

Ich besitze einen Temperatursensor mit einem digitalen Ausgang (11 Bit) 
und würde gerne wissen wie ich diesen an den LPT Port anschliessen muss, 
um die Temperatur mit dem PC auswerten zu können.

Ich habe mir das folgendermaßen vorgestellt:

GND ---------------------- PIN 25 ??
VCC (5V) ----------------- PIN 2 ??? (immer auf High)
DIGITAL OUTPUT ----------- PIN 3 ??  (mit input Befehlen auslesen und 
mit der im Datenblatt genannten Formel die Temperatur ausrechnen)

Kann das so funktionieren ? Eventuell pack ich noch 100nF an VCC und GND 
- so nahe wie es geht natürlich ;).

Ich würde es gerne ausprobieren, aber ich frage lieber nach, weil der 
LPT ja nicht so sicher wie der COM Anschluss ist.

Die einzelnen Ports werde ich dann mit VB oder C abfragen...

Schönes Wochenende

x86

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In meiner Glaskugel kann ich leider nicht erkennen, welcher Sensor da 
vor Dir liegt.

Muß sie wohl reparieren lassen.


Peter


Autor: Jupp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Kann das so funktionieren ?

Hab so mal einen DS1620 an den LPT gehangen, glaub aber mit anderer 
Belegung.

Su solltest sicherstellen, dass dein LPT bidirektionaler Betrieb 
ermöligcht, wenn du die Daten deines Sensors an Pin 3 des LPT gibst. 
Dazu mußt du den Port im BIOS als EPP konfigureiren.

Autor: x86 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Peter

Ist es nicht egal was für ein Temperatursensor das ist ? Er hat ja einen 
digitalen Ausgang...

Es ist ein TSiC 506 im TO92 Gehäuse von ZMD.

Datenblatt: 
http://www.zmd.de/pdf/ZMD%20TSic506%20Data%20Sheet...

@ Jupp, könntest du mir deine Pin Belegung sagen ?

Danke

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es ist nicht egal, weil "digital" allein fast nichts aussagt. Kritisch 
ist beispielsweise:
- unidirektional/bidirektional
- Signalpegel
- Zeitverhalten

Bei den ZMDs ist das alles kein Problem.  Abgesehen davon dass eine 
LPT-Schnittstelle keine 5V führt, du also entweder dir 
Versorgungsspannung anderswo herzaubern musst, oder hoffen musst, dass 
ein auf "high" liegender Pin der Schnittstelle genug Spannung für die 
Stromversorgung des Sensors hergibt.

Autor: x86 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

[1] Ich kann doch einfach mit einem DVM nachmessen ob da 5V rauskommen, 
außerdem braucht der 506'er keine 5V, sondern läuft auch mit weniger. 
Ich schau nochmal ins Datenblatt.

[2] Ist meine Pin Belegung so in Ordung ?

[3] Danke für den Hinweis mit dem digitalen Ausgang

[4] :)

Autor: Jupp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> @ Jupp, könntest du mir deine Pin Belegung sagen ?

Klar doch, hab grad mal in meinem Ordner gekramt:

DS1620     LPT
-------------------
(4) GND    (25) GND
(8) VCC    (5)  D3
(1) DQ     (3)  D1
(2) CLK    (2)  D0
(3) /RST   (4)  D2

Autor: x86 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok. Hmm versteh ich das richtig das mein Sensor nur 45 (µA) micro Ampere 
benötigt, wie geht das, das dieser nur so wenig braucht ?
Den LPT darf man bis auf max. 20 mA belasten. Das reicht ja total aus.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, der Strom ist kein Problem. Nur sind nicht alle LPTs gleich 
gestrickt, beispielsweise tun sich Notebooks mit 5V mitunter etwas 
schwer. Weshalb manche LPT-Lösungen arg vom Rechner abhängen, an dem sie 
stecken. Was manche Nutzer von Parallelport-ISP-Adaptern schon 
feststellen mussten.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Soft/Hardware für den 1620 nützt einem Anwender von ZMD-Sensoren nicht 
arg viel. "Digital" hat zwar nur Nullen und Einsen, aber das heisst 
nicht, dass es nur 2 Geräte gibt, eines mit Null und eines mit Eins. ;-)

Autor: x86 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
A.K.

Ja ich benutze ein Parallelport-ISP-Adapter für meine AVR's ;). Mein PC 
gibt scho 5V.. sonst gibt es haue für ihn ^^.

Also kann ich wie oben beschrieben meine Schaltung aubauen ?

VCC Pin immer auf HIGH

und den PIN wo die Daten ankommen auf High oder Low ? Ich würde LOW 
sagen.

Autor: Jupp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mach in die VCC-Leitung noch nen Widerstand rein, so < 1000 Ohm. War bei 
mir auch notwendig, ohne gab's Bitfehler beim Auslesen.

Autor: x86 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke für den Hinweis :)

Autor: x86 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
BTW: Ist da ein Fehler im Datenblatt ?

Ich habe ein TO 92 Gehäuse, dort steht

PIN 1 = GND
PIN2 = Signal
PIN4 = VCC

Aber die Abbildung des TO 92 hat nur:

PIN 1 2 3.

Ist dann 3 = 4 btw. 3 = VCC ?

Datenblatt:
http://www.zmd.de/pdf/ZMD%20TSic506%20Data%20Sheet...

Autor: Jupp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist ein Fehler im Datenblatt, copy&paste halt....

Autor: Jupp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
3 = V+

Autor: x86 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jupp

Wie lese ich denn die Information aus dem Chip heraus ?

Ich habe früher mal mit VB6 die inpout32.dll benutzt..

da gibt es den inp(Adresse) Befehl... aber ich muss doch gezielt einen 
PIN auslesen oder nicht ? Das ist mir noch etwas unklar.

Autor: Jupp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du mußt erstmal den Port auslesen, und dir dann das jeweilige Bit 
ausmaskieren:
a = inp(BASE);
if(a & (1 << BIT#)) {...} else {...}

BIT# = 3, falls deine Daten an D3 gehen, halt als Beispiel.

Autor: x86 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke !


Bist du sicher das ich bei den ZMD auch einen Widerstand brauche ? Sind 
470 Ohm in Ordnung  oder doch mehr ?

Autor: x86 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry aber ich check das nicht...

Ich habe das in VB so getestet:

   Val = Inp(&H37C)
        If Val And (1 < 3) Then
            MsgBox(Val)
        End If

ich bekomm nur 255... ist ja logisch, weil meine Daten an Ausgang1 gehen 
(PIN3 des LPTs) VCC ist Ausgang0 (PIN2 des LPTS). Wie muss das denn bei 
PIN3 aussehen ?

Kannst du mir das irgendwie erklären ?

Autor: x86 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
jemand eine idee ?

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.