Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[EL] Thermistor aan Gameport

Pagina: 1
Acties:
  • 123 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
ik was aan het rondzoeken om op een niet al te moeilijke manier een temperatuur-sensortje te bouwen die ik op de computer aan kan sluiten en met wat eigen gemaakte software kan uitlezen. nu kwam ik Deze site tegen. er word een thermistor aan de gameport gehangen om vervolgens temperaturen te gaan bepalen. nu leek me dit wel een leuk projectje (voor de laatste paar dagen van de vakantie ;)) maar ik ben een beetje elektroleek en zit met een aantal vragen:
1. thermistor = ntc/ptc/pt100? (of is dit gewoon de benaming ervoor?)
2. welk type moet ik hebben? (ik kan het hele verhaal op de site over weerstand/nauwkeurigheid maar half volgen, zou iemand dat kunnen verduidelijken?)

daarnaast zat ik er aan te denken dat dit misschien ook met een LDR gaat? (geld hier dan hetzelfde verhaal mbt weerstand voor?)

  • Dr Nix
  • Registratie: September 2000
  • Laatst online: 28-11 13:40

Dr Nix

a.k.a. Dr. Nix

Een ldr is een light dependent resistor. De weerstand is dus afhankelijk van de hoeveelheid licht die erop valt. Ik weet niet wat voor temperaturen jij wilt meten, maar zoveel dat het licht geeft vast niet. In dat geval is je processor namelijk opgeblazen :)

Een koe is en blijft een merkwaardig beest!


Verwijderd

Het zal wel werken, maar niet echt nauwkeurig of stabiel op de langere termijn lijkt me.
De analoge ingang van de gameport is meestal vrij primitief opgebouwd, een monoflopje waarvan de RC-tijd met een simpel timertje gemeten wordt was het meestal.

Het kan met zowel een PTC als een NTC, als de waarde van je complete spanningsdeler maar enigzins in de richting van de normale joystickwaarde van zo'n 50k (geloof ik) ligt, anders krijg je wel een erg grof bruikbaar bereik. Het lijkt me slim om de boven- en onderkant instelbaar te maken, daar kun je veel mee winnen.
pt 100-sensoren (100 ohm @ 25 graden C) vallen daarom zonder voorversterker af, het lijkt me ook een beetje zinloos een dure en nauwkeuige sensor op zo een manier aan te sluiten.

Verwijderd

Topicstarter
Dr Nix schreef op 01 januari 2004 @ 18:40:
Een ldr is een light dependent resistor. De weerstand is dus afhankelijk van de hoeveelheid licht die erop valt. Ik weet niet wat voor temperaturen jij wilt meten, maar zoveel dat het licht geeft vast niet. In dat geval is je processor namelijk opgeblazen :)
hehe, mijn verhaal was een beetje onduidelijk misschien, maar ik bedoelde dat het zelfde princiepe ook voor een LDR op zou kunnen gaan, maar dan om lichtintensiteit te meten ipv temperatuur.
Verwijderd schreef op 01 januari 2004 @ 18:40:
Het zal wel werken, maar niet echt nauwkeurig of stabiel op de langere termijn lijkt me.
De analoge ingang van de gameport is meestal vrij primitief opgebouwd, een monoflopje waarvan de RC-tijd met een simpel timertje gemeten wordt was het meestal.

Het kan met zowel een PTC als een NTC, als de waarde van je complete spanningsdeler maar enigzins in de richting van de normale joystickwaarde van zo'n 50k (geloof ik) ligt, anders krijg je wel een erg grof bruikbaar bereik. Het lijkt me slim om de boven- en onderkant instelbaar te maken, daar kun je veel mee winnen.
pt 100-sensoren (100 ohm @ 25 graden C) vallen daarom zonder voorversterker af, het lijkt me ook een beetje zinloos een dure en nauwkeuige sensor op zo een manier aan te sluiten.
dus met een ntc/ptc met waarde van 50K krijg je het nauwkeurigste meetbereik? ik mag aannemen dat het verband tussen temperatuur/weerstand bij een ntc/ptc lineair is? in dat geval moet het niet zo moeilijk zijn (hoe nauwkeurig kun je zoiets trouwens krijgen?, zit de onnauwkeurigheid in de ad-convertor van de gameport of in de ntc/ptc?)

Verwijderd

dus met een ntc/ptc met waarde van 50K krijg je het nauwkeurigste meetbereik? ik mag aannemen dat het verband tussen temperatuur/weerstand bij een ntc/ptc lineair is? in dat geval moet het niet zo moeilijk zijn (hoe nauwkeurig kun je zoiets trouwens krijgen?, zit de onnauwkeurigheid in de ad-convertor van de gameport of in de ntc/ptc?)
Ik zou het eerlijk gezegd ook niet pricies weten .. Dat hangt van nogal wat onbekende factoren af. Zo te zien weet die site al een stuk meer dan ik je kan vertellen.

In zijn algemeenheid kun je wel stellen dat ptc/ntc's vrijwel nooit in thermometers (maar wel in b.v. thermostaten) gebruikt worden omdat ze onnauwkeurig (dwz niet lineair en stabiel, en veel productietolerantie) zijn.
Halfgeleidersensors zijn goedkoper en hebben die nadelen veel minder, maar die kun je helaas niet zomaar aan je gameport hangen. pt 100 sensoren zitten daar tussenin.

Thermokoppels zijn echt goed en snel en stabiel, maar zijn dan ook flink aan de prijs en lastig toe te passen.

Het is imo gewoon leuk als experiment, maar verwacht geen betere nauwkeuigheid als +/- 2 graden. :) Zorg dat je in je software gemakkelijk kunt eiken, en kies je eikwaarden in/om je meetgebiedje dat je zo klein mogelijk houd.

[edit]
50 k lijkt me inderdaad een goede waarde om mee te beginnen.
@ nauwkeurigheid ADC gameport: Hoe goed moet 'ie zijn om een beetje met een analoge joystick te kunnen spelen ? ... ;) Zal wel tegenvallen denk ik persoonlijk.

[ Voor 9% gewijzigd door Verwijderd op 01-01-2004 19:39 ]


  • koffercomputer
  • Registratie: Oktober 2000
  • Laatst online: 22-11 10:37
Wat misschien ook interessant is om naar te kijken: de DS1820 van Dallas (nu op www.maxim-ic.com als sample te bestellen). Dit is een 1-wire 12-bit temperatuur sensor. Je kunt via een eenvoudige 1-wire interface (schema te vinden op internet) en drivers van Dallas dat dingetje aansturen.

Ik heb het opgegeven om nog correct Nederlands te blijven typen. 22.10.02


  • Dr Nix
  • Registratie: September 2000
  • Laatst online: 28-11 13:40

Dr Nix

a.k.a. Dr. Nix

Helaas zijn NTC's en PTC's niet linear, maar logaritmisch (of iets wat daar in de buurt ligt) en de ene aflopend met de temperatuur en de andere oplopend. Alle pogingen van mij, om hiermee de temperatuur te meten, weliswaar niet uitgebreid, liepen op niet veel bruikbaars uit. Voor zover ik mij kan herinneren was dat om omgeveer -50 C te meten, met peltier's en ijskasten :).

Met een DS1820 kan je heel nauwkeurig en met hoge resolutie (1/2 resp 1/16 graad) temperatuur meten. Ik heb het zelf ook gedaan. Alleen ontkom je er dan bijna niet aan om een microcontroller te gebruiken, die inter-icone-wire protocol omzet naar een logisch parrallel of rs232 signaaltje en daar tussenin nog de nodige berekeningen uitvoert.
Als je alles door de pc wil laten doen, ben je heel veel recources kwijt, en is het niet betrouwbaar.

[ Voor 10% gewijzigd door Dr Nix op 02-01-2004 00:43 ]

Een koe is en blijft een merkwaardig beest!


Verwijderd

Topicstarter
ik heb al zo'n ds1820 (en ook een ds1722) hier thuis liggen, maar alle pogingen van mij om daar zelf software voor te schrijven zijn helaas mislukt. (ik heb wel een werkende sensor die ik met Digitemp uit kan lezen, maar mij ontbreekt helaas de kennis om zo'n ding via seriele poort aan te sturen). ik was er inderdaad al achter gekomen dat ze niet linear zijn, maar ik moet em toch eiken (schrijf je dat zo?) dus dan kan ik net zo goed proberen zoveel mogelijk meetpunten te krijgen, daar een grafiekje van maken en dan een formule proberen af te leiden.

  • Resistor
  • Registratie: April 2001
  • Niet online

Resistor

Niet meggeren!

:w

(oh nee, je zocht mijn broer) :+

Van [...] dependend resistors (temperatuur, licht, druk) aan de gamepoort heb ik niet veel verstand, maar een NTC krijgt minder weerstand bij hogere temperaturen, een PTC krijgt een hogere weerstand bij hogere temperaturen, en een PT-100 is een platina PTC met een weerstand van 100ohm bij 0oC

What will end humanity? Artificial intelligence or natural stupidity?


  • virus.elektro
  • Registratie: Januari 2002
  • Laatst online: 28-11 10:49

virus.elektro

profesionele monitor sloper

volgens de link die de TS geeft is het mogelijk. er is getest en daar bij is gebleken dat er geen eenzijdige oplossing is.
Als je temperaturen wil meten die
onder nul liggen is het aan te bevelen om voor een thermisistor te gaan van 10 Kohm.
normale temperatuur (kamers en andere ruimtes) 50Kohm
hoger tot een graag of 77 gaat het makkelijkst met 100kohm.

rest volgt later

elektrotechniek is leuk (nog wel). ik ga dus weer verder met leuke dingen ontwerpen. amd 2200+ 256mb 333mhz,gf4 440mx, 120gb,16X dvd. jarr-url


  • virus.elektro
  • Registratie: Januari 2002
  • Laatst online: 28-11 10:49

virus.elektro

profesionele monitor sloper

verder is de gamepoort niet erg precies (niet zelf getest in windows)
hij leest namelijk niet alle waarden uit.

zelf heb ik een keer een oude joystick getest in dos(programma zelfgeschreven qbasic) hier kwam uit dat de waarden varieerden tussen de 0 en 255, hij las echter wel ook alle tussenligende waarden.

goed er stond dus ooit een pin-out lijst of link in de faq. waar is te heen

elektrotechniek is leuk (nog wel). ik ga dus weer verder met leuke dingen ontwerpen. amd 2200+ 256mb 333mhz,gf4 440mx, 120gb,16X dvd. jarr-url


Verwijderd

Topicstarter
Net even naar de elektroboer gefietst om onderdeeltjes te halen, is hij dicht :(

maargoed, ik heb het getest met een oude joystick en ik kon waardes uitlezen en dat klopte met wat op de site stond, ik krijg waardes tussen 0 (voor 0 Volt) en 65535 voor (5 Volt)
he game port also does not read each individual number between 0 and 65535, but reads by intervals - as in 088, 188, 288, etc.
er van uitgaande dat dit klopt kan ik dus in feite 655 verschillende getallen krijgen waardoor ik dus verschillen van 5/655=0,0076V kan waarnemen (lijkt me redelijk optimistisch of niet?)

verder staat er info over ntc's in deze pdf, met een behoorlijk aantal symbooltjes die mij op het eerste gezicht niets zeggen :D

edit:
pinout:
Pin Name Dir Description
1 +5V +5 VDC
2 B1 Button 1
3 X1 Joystick 1 - X
4 GND Ground
5 GND Ground
6 Y1 Joystick 1 - Y
7 B2 Button 2
8 +5V +5 VDC
9 +5V +5 VDC
10 B4 Button 4
11 X2 Joystick 2 - X
12 MIDI_TXD MIDI Transmit
13 Y2 Joystick 2 - Y
14 B3 Button 3
15 MIDI_RXD MIDI Receive


15p D-SUB male:
Afbeeldingslocatie: http://www.electronic-engineering.ch/microchip/datasheets/pinout/conn_dsub15m.gif

edit2:
nog een aantal interessante links (over dit onderwerp):
LM35 (neemt 10mV per grade celcius toe, als je dit signaal zou versterken zou dit misschien ook een alternatief zijn)
GamePortTemp (maakt gebruik van een SMT160-30, maar werken via de "button"-pinnen)

[ Voor 52% gewijzigd door Verwijderd op 02-01-2004 13:44 ]


Verwijderd

Volgens mij kan de gameport alleen weerstand meten, geen spanning. Ze bouwen de meet-R namelijk in in een RC-netwerkje en meten de RC-tijd met een (10bits ?) timer. Het is allemaal een beetje primitief, maar dan ook bedoeld om goedkoop spelletjes mee te kunnen spelen - niet voor nauwkeurige metingen.

Logaritmische grafieken netjes fitten is toch ook weer niet zo overdreven moeilijk ?
Als je maar weet dat -ie zo ongeveer logaritmisch verloopt is het gewoon wat rekenwerk, meer niet. :)

[ Voor 16% gewijzigd door Verwijderd op 02-01-2004 16:08 ]

Pagina: 1