Hej! Hej Ahh, tack! Precis vad jag sökte! Du skulle inte kunna förtydliga kopplingsschemat lite? Det är lite suddigt... Förstår inte riktigt hur resistansen är ansluten (eller är det något annat? hittar inte elektronikboken...). Om du kan föreslå vilka komponenter jag ska använda förutom sensorerna och kontakten skulle jag bli väldigt glad, har inte någon erfarenhet av det... Hej Ahh, nu förstår jag, det var potetiometrarna som rörde till det lite :) Jag fattade inte att kopplingsschemat var till "joystickar" förut, nu är det glasklart! Jag har nu upptäckt att datorn jag tänkte koppla sensorn till inte har någon gameport och därför tänkte jag använda printerporten istället... Jag borde rimligtvis kunna ansluta 8 sensorer dit, eller? Jag behöver givetvis ändra portadressen i exemplet, men jag misstänker att jag behöver ändra Mask-värdena också, du råkar inte veta till vad? (logiskt sett borde det ju vara 1,2,4,8,16,32,64,128 eller?) Hej Hej igen Hej >Varning du får aldrig använda skärmkåpan på printerkontakten som jord. Hej Hej igen Vilken pinne har du anslutit till i exemplet? Anger du pinne med "+ 1" i 888 + 1? Ligger de olika anslutningarna på olika adresser alltså? Jag har aldrig sett Delphi-kod förut, men jag tolkar det som att mask-argumentet inte har någon funktion i TemperaturParallell, stämmer det? Hej Igen Hej Jag har testat under Win 98, NT4 och 2000 utan problem, har svårt att tro att det skulle vara problem med ME. Hej Hej igen.. Hej Tjena.. Hej Vart har file-upload:en GamePortExperiment tegit vägen? Jag hittar den inte... men http://www.pellesoft.nu/login/upload/t_view4.asp?tid=53 är likvärdig... Hej allihopa o gott nytt på er. Hej hej, jag kör med JohanD´s modell. Hej igen Hej, jag kör 0,5 i sampling. Igen Tack Sven, ska bli intressant. Maila mig på benring@passagen.se när detta e gjort så jag inte missar dig. Hej Hej Det går att snabba upp läsningen om man läser från flera sensorer, ska se om jag får tid att titta på det ikväll. Hej Vet någon om sensorerna pallar för en temperatur på max 145 grader Hej Hej Jag har med stor glädje byggt en egen tempmätare men funderar på 2 saker.. Min mätare visade 10.6 grader fel hur kan det komma sig? Hmmmm. 10,6 fel är lite underligt Kör mitt testprog. och kolla Hej.. tack för svaret.. ja det beror nog på spänningen på min skrivarport.. SMT160-30 drar så oförskämt lite ström så om du matar med ett Har ej lagt ut det på hemsidan än utan bara testat lokalt.. ska ligga på www.gördalen.nu sen där vi har en webbkamera.. Snygg sida ! Blir tokig på detta..försöker läsa av gameporten med SvenPons program men får bara fram 143,6 grader och jag betvivlar på att det är så varmt ute nu.Termometer
Hur kopplar man enklast en termometer till datorn? Något man enkelt kan göra själv? Såg i en gammal tråd att SvenPon hade en termomter till sin dator, hur har du gjort?
/JohanSv: Termometer
Du kan ta hem mitt uppskick GamePortExperiment
http://www.pellesoft.nu/login/upload/t_view4.asp?tid=133
Du kan också koppla denna sensor till parallellporten om du vill det
mvh
SvenSv: Termometer
/Johan - som snart ska mäta mycket saker...=)Sv: Termometer
Det behövs inga andra komponenter,läs bifogad doc fil
använd knapparna 1 till 4. Potentiometeringångarna används inte här.
De inritade potentiometrar och knappar sitter ju i JoySticken
dom behöver du inte fundera på här.Du skall bara ha en sladd med
tre ledare och kontakt + SMT 160-30,Jag använder den tunna
stereosladden typ den som följer med vanliga hörsnäckor,billig pr/m
Knapp 1 pinne 2 och 4 jord
Knapp 2 pinne 7 och 4
Knapp 3 pinne 10 och 4
Knapp 4 pinne 14 och 4
Du kan ha pinne 4 och 5 som jord 12 måste byglas till dessa.
När du inhandlar SMT 160-30 rekommenderar jag hölje TO 220
mvh
SvenSv: Termometer
Nu ska här byggas, tack!
/JohanSv: Termometer
Något mer jag behöver tänka på?
/Johan - med lödkolven i högsta huggSv: Termometer
Ja det går bra,skall kolla hur det blir,Tycker att du skall
börja med att få en att fungera.
Skall kolla i mina lådor jag har ett exempel på detta.
Ta hem mitt uppskick Parallellport Ny från Filarean
Jag gjorde en liten modifikation häromdagen så
hämta hem ny om du inte gjort detta.
återkommer på denna kanal
svenSv: Termometer
Elfas förslag visar på att du kan testa med en sensor enl följande.
Du tar + 5 v från pinne 1 ,14 jord på pinne 25
Elfa vill ha en kondensator på 20 nF mellan ben 2 o 3 på sensorn.
SmartSignalen kan du koppla till pinne 11.
Du får alltså lägga pinne 11 till 5 v + och kolla på adress 889
vad som händer.Då kan Vi kolla vilken Mask Vi skall ansätta.
Problemmet är att pinne 11 Busy är inverterad så jag har inte
riktigt koll på vad som händer.
Man kan också använda pinne 10 12 13 15.
Gå in på http://www.elfa.se och kör sökning på SMT160-30
så får du mer detaljer.
mvh
SvenSv: Termometer
Efter lite tankeverksamhet så tror jag att man kan använda
D0 - D7 dvs pinnarna 2 - 9 dvs 8 sensorer som du tänkte.
Är inte riktigt säker på hur det blir med konflikter på Mask
Obs !! Varning du får aldrig använda skärmkåpan
på printerkontakten som jord.
DSSv: Termometer
Varför? Jag undrar lite eftersom jag någong gång för väldigt många år sedan (på 386-tiden tror jag...) lekte med lite dioder och har för mig att jag jordade där... Ingenting gick i alla fall sönder...
/JohanSv: Termometer
Jag menar signaljord ,skärmkåpan liger på hela datorns jord
stor risk att du förstör parallellkretsarnas cmos kretsar.
Varje signalpinne har sin egen signaljord.
Håller på att testa din variant att få temsensorn att fungera på
parallellporten,återkommer med detaljer.
mvh
SvenSv: Termometer
Ok för dom som är intresserade av denna tråd.
Nu har jag modifierat GamePortExperiment så att
du även kan köra TemperaturSensorn mot parallellporten.
Modifierad version kan hämtas på.
http://www.pellesoft.nu/login/upload/t_view4.asp?tid=133
mvh
SvenSv: Termometer
Hoppas jag får mina komponenter snart så att jag kan testa själv!
/Johan
PS, använde du någon kondensator när du testade? (eller du kanske inte har testat med paralellport?)Sv: Termometer
Grundadressen till min Lpt1 är 888, 0378 Hex på + 1 dvs 889 ligger
Statussignalerna där finns pinnarna 10 11 12 13 15
Jag körde på pinne 11 men du kan välja vilken du vill av dessa.
Masken används inte i parallell mod.
Jag har ingen kondensator glömde det,kan nog vara lämpligt
att göra det, jordar frekvens rippel. Läs mitt nya doc i zipen
DSSv: Termometer
Så här funkar printerporten i stort.
Normalt ligger Lpt1 på adress 0378 Hex 888 decimal
På den adressen ligger Datapinnarna 2 - 9 D0 - D7
det är här som Asciitecknen sprutar ut till printern.
Datapinnarna 2 - 9 har var sin signaljord mellan 18 - 25
På adressoffset + 1 dvs 889 ligger Statussignaler In
Här skickar skrivaren in meddelande till datorn Online PaperEnd Error mm.
Dessa signaler kan man fånga på pinne 10 11 12 13 15
På adressoffset + 2 dvs 890 Register-kontroll kan man bla.
ställa D0 - D7 i läsläge eller skrivläge
(gäller moderna dubbelriktade portar), normalt är skrivläge.
ungefär så
SvenSv: Termometer
Jag är också intresserad av sensorer till pc, och försöker lära mig genom att få SvenPon´s exempel att fungera.
Jag har Windows Me i datorn. Är det någon som testat under detta OS?
Mvh
David Andersson Sv: Termometer
/JohanSv: Termometer
Jag kör själv under ME det funkar utan anmärkning.
Kom igen om du har problem att få det att funka,så fixar Vi det
mvh
SvenSv: Termometer
jag har läst igenom kommentarerna till temp programmet. (Förresten, mycket trevligt program,)
Fråga:
Tilläggs .DLL ´n som man behöver för att kunna köra under ex. win 2000, och Me . Var ska den placeras, eller ska den installeras på ngt speciellt sätt?
Är temp. programmet klart att kompileras? Eller behöver man ändra tex inställningar för den egna datorn?
Tack för hjälpen!
DavidSv: Termometer
Så här är det. När du zipar upp programmet så
lägger sig Tempsens.dll och DLPortIo.dll i mappen TempPlott
och där skall dom ligga. Win 95 98 och Me är klara för användning.
Sen är det på det viset att NT 4 och Win 2000 XP inte tillåter
kommunikation med portarna så där utan vidare.
För att det skall funka på dessa versioner måste du ta hem.
Tillägg för Win2000 XP NT
DLPortIO.dll Gå till Scientific Software Tools, Inc
http://www.driverlinx.com/Software_Products/softwareproducts.htm
Hämta hem och installera FreeWare
Dvs du skall köra install på nämnda program.
Sen måste du inhandla tempsensorn hos tex ELFA och koppla in
enl beskrivning. Antinge på GamePorten eller Parallellporten.
Allt detta beskrivit gäller VB versionen som du kan
kompilera på vanligt vis.
mvh
SvenSv: Termometer
Nu funkar det!
Men hur fungerar port adressen som man anger i programmet? Är det adressen till en "läs - pinne" i parallell porten?
Nu ska jag försöka förstå hur programmet är konstruerat...
Är det någon som har mätigt något annat än temp?
Mvh
David Sv: Termometer
Portadress hittar man i System Enhetshanteraren
JoyStick tex brukar ha adress 201 Hex men kan ligga upp till 208 Hex.
Parallellporten LPT1 brukar ligga på 378 H - 37F H
det blir decimalt 888 - 890 .Om du skall köra mot
parallellporten så skall du använda BasAdress + 1
Dvs i mitt exempel 888 + 1 adress 889
Adressen har inte med pinnarna att göra utan är den adress
som datorns DOS minne har till portarna.
Kom igen om du behöver mer info, ta hem Programarkivet:Parallellport experiment
och kör mot portarna
mvh
SvenSv: Termometer
Finns inte längre...
/JermySv: Termometer
/JohanSv: Termometer
Jag har kört mitt element-program i flera månader nu och det fungerar utmärkt, FÖRUTOM den "hängning" som läsningarna skapar, jag gjorde om hela programmet och kör nu en modul för att läsa tempen och skriva den till registret o en som läser registret o sköter styrningen, allt väl där, ingen hängning.
Däremot så kolla jag aktivitetshanteraren om hur mycket kraft mina två olika program tar(det gamla & den nya läsmodulen), det visar sig att den nya lilla osynliga modulen tar mer än det gamla, trots att dom gör samma saker, det som skiljer är att det gamla hanterar signalerna direkt, det nya skriver till registret.
Jag kan nu inte sååå mycket så jag klarar att optimera detta, kan någon vänlig själ titta på saken? Det är inga egna påhitt av mig gällande läsning av tempsensorn, det e orginal från detta forum(minns inte vem som gjorde det).
Tack o bock.Sv: Termometer
Förmodligen menar du JohanD :s clsModul .Min Tempsens.dll
gjord i Delphi är mycket effektivare. Sen en sak till du styr väl
med Timer.Då måste det väl räcka med att läsa av
en ggn varje minut Interval = 60000 .
/SvenSv: Termometer
det som skapar hängningen är samplingstiden, det vill säga inte den tid JAG vill ha läsning utan när den väl läser.Sv: Termometer
Hur lång samplingstid kör du ? 0.5 sek är optimalt.
Sen märkte jag att JohanD:s classMudul ger ca 2 gr C för högt
värde på min dator.Vidare skall den kompileras för Fast Code
och alla Advanced options förbockade.
/SvenSv: Termometer
Jag har oxå korrigerat tempen som visade lika fel på min dator.
Jag har inte kompilerat så, ska testa o se vilken skillnad det blir:)Sv: Termometer
Oki på det.
Jag skall skriva en exakt kopia av JohanD:s classModul
(som är proffsig och mycket väl genomtänkt) i Delphi som du skall få testa.
/SvenSv: Termometer
/BSv: Termometer
En anna sak om du anropar dina 4 - 5 sensorer från samma Timer i serie
så att säga dvs sensor 1 sensor 2 osv bör du lägga in ett DoEvents mellan varje Call.
/SvenSv: Termometer
För dom som är intresserade så har jag modifierat
uppskick Programarkivet:363 med ny dll och fullständig dokumentation.
/SvenSv: Termometer
När det gäller felaktiga värden så använder jag formeln som tillverkaren har angett, jag har även märkt att den visar olika fel på olika datorer, så man får nog försöka kalibrera sensorn från fall till fall.
Sven:
Om jag inte minns fel så visade din dll fel också men att du korrigerade värdet med ett fast avdrag/tillägg, eller? Frågan är hur man gör för att få det rätt...?
/JohanSv: Termometer
Ang korrektion av DLL. Felet blir linjärt vad jag kan se.
Jag kalibrerade min sensor i ett glas med isvatten som
då låg på smältpunkten + - 0 .Jag fick korrigera med - 1.1 C
Jag har den som utomhustermometer,värdet stämmer på
någon decimal mot en elektronisk köpetermometer med prob.
Har också haft den i kokande vatten den gamle Celsius hade
rätt det kokar vid 100 C på marknivå(havsytan) lufttryck 1013 hPa.
/SvenSv: Termometer
Jag tänkte nämligen använda sensorn + en relämodul till en termostat som skall hålla en vätskebehållare med natriumhydroxid i ca 142 grader konstant i ca 20 min.
Så här står det på ett ställe i deras pdf fil.
The SMART TEMPERATURE SENSOR features a duty-cycle modulated square
waveoutput voltage with linear response to temperatures in the -45 °C to +130 °C
range to an accuracy of better than 1.2 °C. In the range from -30 to +100 °C the
linearity is better than 0.2 °C. (TO18)
På ett annat ställe står det så här!
The Smartec temperature sensor is a sophisticated full silicon temperature sensor with a
digital output. The one wire (duty cycle) output can be connected to all kind of microcontrollers
directly without the need of A/D conversion. The temperature range is
–45 °C to 150 °C. The sensor is available in various housing like T018, T092, T0220
and for high volume production in SOIC.
Vilket är riktigt!!!!Sv: Termometer
Helt klart ett gränsfall,den pallar för 150 C rent fysiskt.
Men pulsbreddstekniken har sitt toppvärde vid 144.6 C
Dvs där kommer den att stanna och visa 144 oberoende
vad som händer med temperaturökningen.
Uppgifterna grundar sig på praktiska mätningar,jag offrade en TO220 på spisplattan.
Du kommer att se 142 C men dom sista graderna går "kvickt som en höna skiter".
Jag skulle fundera på en lösning där jag placerar sensorn på sånt sätt
att när den visar ca 130 C så är det i verkligheten 142 i behållaren,
borde inte vara så svårt med noggrann kalibrering.
I sådana här sammanhang är det bara TO220 som gäller,metallplattan borgar
för snabb och direkt kontakt med källan.
/SvenSv: Termometer
Dags att avsluta denna tråd.
Jag har nu sammanfattat allt som framkommit i Programarkivet:363 senaste dl 252.
Jag har tagit bort fil362 som var en dellösning.
Programmet har potens det har jag sett på aktiviten och mail.
Ett stort Tack till JohanD som tog tag i detta på ett förtjänstfullt sätt
med sin artikel här hos Pelle. Artikel [Bygg din egen termometer]
mvh
SvenSv: Termometer
Sen så drar mitt program 90% systemkraft när jag kör en timer och uppdaterar tempen varje sekund.. är dte normalt?
VB6 och win2k proSv: Termometer
JohanD :s classmodul är bra men den visar lite fel
Varje sekund är för tätt. för att få en bra mätning bör man sampla
under 1/2 sek. För att få ordning på ditt problem bör du använda
min SMT160.dll som är en exakt kopia av JohanD :s (utmärkta) classmodul i Delphi.
Sedan ett annat fel. SMT160-30 vill ha minst 4.8 volt för att funka korrekt (max 7 v)
Jag trodde att man kunde lita på att parallellporten lämnade 5 volt.
Det kan man inte , min port lämnar allt mellan 4.7 - 3.8 volt
Dvs ditt mätfel beror antagligen på för låg spänning.
Lösning mata separat med 5 volt från adapter eller datorns 5 volt.
Om du inte gjort det så ta hem mitt uppskick Programarkivet:363 och kör TestDll.vbp
för kontroll av kalibrering mm.Sv: Termometer
Jag testade på en annan dator och fick ett bättre resultat.. tyvärr är det en bärbardator så jag kan ej ta 5 volt från den riktigt... Kan man köra med nån kondning?
Jag vill även mäta luftfuktighet.. hittade denan produkt :
http://www.elfa.se/elfa/produkter/se/4895.htm
Går den att använda? Är lite okunnig men men :)
Har ialla fall lyckats få till så att temperaturen visas på en hemsida (via ASP) :)Sv: Termometer
batteripaket 4*1.5 så kommer dessa att vara i flera år.
Mata via ett motstånd på ca 3000 ohm ,tror iofs. att porten pallar
för 6 volt på sina ingångar.
Du måste hålla 5 volt för att få säkra mätningar.
Om du har USB port eller GamePort på datorn så finns där säker 5 volt.
Beträffande luftfuktighet och lufttryck så kommer det att gå alldeles utmärkt
via en AD omvandlare, Sensorerna finns på ELFA.
Får man kolla din hemsida ?Sv: Termometer
Sv: Termometer
Det blir ju helt perfekt att ha temp lufttryck luftfuktighet där som en banner.
Jag hjälper gärna till med råd och dåd ang AD omvandlare och sensorer. FreeWare :-)Sv: Termometer
SMT160 är kopplad till ben 1,2 och 4 till gameporten och det fungerar fan mig inte....vad kan det vara för fel???