Mäta temp. Med vad?
- FormerMazda
- Inlägg: 6391
- Blev medlem: 27 februari 2006, 14:59:36
- Ort: Asby (Östergötland)
Mäta temp. Med vad?
Tja!
Ska snart dra igång ett nytt projekt. Vi kan kalla det en dator til min husvagn.. Kommer dyka upp i projekttråden snart.
Jag hade tänkt använda min BS2a som ändå bara ligger o skräpar. Och en självklar feature ska ju vara temp.mätning både inne o ute i vagnen.
Så till frågan: Hur mäter ni enklast (och hyffsat billigt) temperatur med en BS2 eller PIC eller liknande? Jag har en SMT160 att labba med, och visst ger den en frekvens som jag ändå enkelt kan mäta med BS2an. Men så ska ju det räknas om för o få det i grader celsius. Och den känns också störkänslig. Kabellängden tycks påverka blandannat.
Önskar upplösning på iallafall halva grader, mer behövs inte ändå. Liksom inte nödvändigt.
Har provat o söka här, men inte hittat nåt vettigt..
Ska snart dra igång ett nytt projekt. Vi kan kalla det en dator til min husvagn.. Kommer dyka upp i projekttråden snart.
Jag hade tänkt använda min BS2a som ändå bara ligger o skräpar. Och en självklar feature ska ju vara temp.mätning både inne o ute i vagnen.
Så till frågan: Hur mäter ni enklast (och hyffsat billigt) temperatur med en BS2 eller PIC eller liknande? Jag har en SMT160 att labba med, och visst ger den en frekvens som jag ändå enkelt kan mäta med BS2an. Men så ska ju det räknas om för o få det i grader celsius. Och den känns också störkänslig. Kabellängden tycks påverka blandannat.
Önskar upplösning på iallafall halva grader, mer behövs inte ändå. Liksom inte nödvändigt.
Har provat o söka här, men inte hittat nåt vettigt..
SMT160-30
Kolla mitt gamla projekt.
Har funkat klockrent nu i 4 år.
http://www.pellesoft.se/communicate/use ... px?tid=787
http://www.driverlinx.com/DownLoad/DlPortIO.htm
Har funkat klockrent nu i 4 år.
http://www.pellesoft.se/communicate/use ... px?tid=787
http://www.driverlinx.com/DownLoad/DlPortIO.htm
- bengt-re
- EF Sponsor
- Inlägg: 4829
- Blev medlem: 4 april 2005, 16:18:59
- Skype: bengt-re
- Ort: Söder om söder
- Kontakt:
Frekvensen ger inte temperaturen på SMT160, det är pulsfaktorn.
"In the output frequency of the sensor there is no temperature information, only the duty
cycle contains temperature information in accordance to the formula given above. The
output signal may show low frequency jitter or drift. Therefore most oscilloscopes and
counters are not suited for verifying the accuracy of these sensors. The temperature
information contained in the duty-cycle value, however, is guaranteed to be accurate
within the values specified for each model (housing)."
Och det är lätt att räkana på för en uC. Observera att F ändras beroende på spänningen över SMT160, det är pulsfaktorn du skall mäta och för bästa noggranhet så skall du mäta på till och från perioden som "hör ihop" jag har för mig att den efterföljande låg som hör ihop med den höga tiden - står i databladet - annars så är det tvärtom. Du märker att du valt fel på att temperaturen blir "fladdrig"
D.C. = 0.320+0.00470*t
så i basic(typ):
capture Ton (vet inte hur man skriver detta i din basic)
capture Toff (vet inte hur man skriver detta i din basic)
Float1=Ton/Toff
TempFloat=float1-0,32
TempFloat=TempFloat/0,0047
Det går bra att räkna med 8 bitars heltal också, men då måste man ta till lite mer knep för att minimera avrundningfelen samt hålla sig innom sina 8-bitar.
"In the output frequency of the sensor there is no temperature information, only the duty
cycle contains temperature information in accordance to the formula given above. The
output signal may show low frequency jitter or drift. Therefore most oscilloscopes and
counters are not suited for verifying the accuracy of these sensors. The temperature
information contained in the duty-cycle value, however, is guaranteed to be accurate
within the values specified for each model (housing)."
Och det är lätt att räkana på för en uC. Observera att F ändras beroende på spänningen över SMT160, det är pulsfaktorn du skall mäta och för bästa noggranhet så skall du mäta på till och från perioden som "hör ihop" jag har för mig att den efterföljande låg som hör ihop med den höga tiden - står i databladet - annars så är det tvärtom. Du märker att du valt fel på att temperaturen blir "fladdrig"
D.C. = 0.320+0.00470*t
så i basic(typ):
capture Ton (vet inte hur man skriver detta i din basic)
capture Toff (vet inte hur man skriver detta i din basic)
Float1=Ton/Toff
TempFloat=float1-0,32
TempFloat=TempFloat/0,0047
Det går bra att räkna med 8 bitars heltal också, men då måste man ta till lite mer knep för att minimera avrundningfelen samt hålla sig innom sina 8-bitar.
SMT160-30
Eftersom han frågar om SMT160-30 så svarar Vi på det.
Nonchalera störsändaren.
SMT160-30 fungerar stabilt om du matar den med 5-7 volt
Du bör även sampla den optimalt 0.5 sek.
Min SMT visar nu i skrivande stund 7.1 C (utetemp) inget fladder.
Bra Bengt-re sakligt och bra. Så här ser min Delphikod ut som löser problemmet med formeln.
Const K1 = 0.32 ;
Const K2 = 0.0047 ;
//************************************************
Function GetTemp(AddrVal :Integer ; Pin :Integer) :
Single;StdCall ;
Var
cntHigh : Integer ;
totNumOfSamp : Integer ;
inSignal : Byte ;
smartSign : Byte ;
Mask : Byte ;
halfSek : Dword ;
Begin
Case Pin of
10: Mask := 64 ;
11: Mask := 128 ;
12: Mask := 32 ;
13: Mask := 16 ;
15: Mask := 8 ;
End ;
halfSek := GetTickCount + 500 ;
cntHigh := 0 ;
For totNumOfSamp := 1 TO 100000000 do begin
inSignal := DlPortReadPortUchar(AddrVal) ;
smartSign := inSignal And Mask ;
If smartSign = Mask Then inc(cntHigh) ;
If GetTickCount > halfSek Then Break ;
End ;
If Pin = 11 Then
cntHigh := totNumOfSamp - cntHigh ;
GetTemp := (cntHigh/totNumOfSamp - K1)/K2;
End;
Nonchalera störsändaren.
SMT160-30 fungerar stabilt om du matar den med 5-7 volt
Du bör även sampla den optimalt 0.5 sek.
Min SMT visar nu i skrivande stund 7.1 C (utetemp) inget fladder.
Bra Bengt-re sakligt och bra. Så här ser min Delphikod ut som löser problemmet med formeln.
Const K1 = 0.32 ;
Const K2 = 0.0047 ;
//************************************************
Function GetTemp(AddrVal :Integer ; Pin :Integer) :
Single;StdCall ;
Var
cntHigh : Integer ;
totNumOfSamp : Integer ;
inSignal : Byte ;
smartSign : Byte ;
Mask : Byte ;
halfSek : Dword ;
Begin
Case Pin of
10: Mask := 64 ;
11: Mask := 128 ;
12: Mask := 32 ;
13: Mask := 16 ;
15: Mask := 8 ;
End ;
halfSek := GetTickCount + 500 ;
cntHigh := 0 ;
For totNumOfSamp := 1 TO 100000000 do begin
inSignal := DlPortReadPortUchar(AddrVal) ;
smartSign := inSignal And Mask ;
If smartSign = Mask Then inc(cntHigh) ;
If GetTickCount > halfSek Then Break ;
End ;
If Pin = 11 Then
cntHigh := totNumOfSamp - cntHigh ;
GetTemp := (cntHigh/totNumOfSamp - K1)/K2;
End;
Har dåliga erfarenheter av av smt160'n kan bero på att jag gjorde något fel i programmeringen också. Har för mig att jag fick dessa värden när jag testade den och höjde temperaturen med en varmluftspistol från avstånd.
23C
24C
25C
23C
24C
25C
26C
Och likadant när den svalnade igen. Hoppet hände när frekvensen ändrades. Men det var nu några år sedan jag testade den. så jag minns nog inte alldeles rätt.
23C
24C
25C
23C
24C
25C
26C
Och likadant när den svalnade igen. Hoppet hände när frekvensen ändrades. Men det var nu några år sedan jag testade den. så jag minns nog inte alldeles rätt.
Oki på det.
Tillägg:
Jag kalibrerade min i isvatten 0 C.
Har provat på många olika datorer hamnar nästan alltid på korrigering - 1.1 C
På moderna datorer kan man inte längre lita på att man har 5 V på
parallellporten.Det vanligaste felet man får är att spänningen understiger 4.7 v
DVS se till att du har 5 eller 6 V
extern matning till SMT
Jag har testat med 200 m 3 ledare ute ifrån en åker där bonden ville veta
om temperaturen var rätt för att gå ut och skörda. Höll jag 5 V i ledningen
funkade det perfekt och sparade bonden många steg.
Jag kalibrerade min i isvatten 0 C.
Har provat på många olika datorer hamnar nästan alltid på korrigering - 1.1 C
På moderna datorer kan man inte längre lita på att man har 5 V på
parallellporten.Det vanligaste felet man får är att spänningen understiger 4.7 v
DVS se till att du har 5 eller 6 V

Jag har testat med 200 m 3 ledare ute ifrån en åker där bonden ville veta
om temperaturen var rätt för att gå ut och skörda. Höll jag 5 V i ledningen
funkade det perfekt och sparade bonden många steg.
Snabb reaktion SMT160-30
Använd TO18 eller TO220 om du vill ha snabb reaktion.
Vid experiment så är den då följsam på +- 20 C ~ 20 sek.
Kalibrera i ett glas med iskuber som smälter. Vid 5 volt får jag kalibrera
med - 1.1 C. Förmodar att du får annat värde beroende på processorhastighet, matningsspänning 4.7- 7 volt
Det fina med SMT160 är att den är linjär , den är billig du kan köra den på vilken uC eller dator du vill.
Du kan ha 100 tals m långa ledningar,bara du ser till att hålla >= 5 volt i ledningarna.
SMT160 drar försumbara <200 uA
Det bästa alternativet som finns, proffsen kör den.
Spännvidd - 45 till + 130. Jag kör den bla, som övervakare frys och sportstuga .
Jag bryter strömmen till elementen vid 10 C
Sampla under 0.5 sek för stabila värde.
Vid experiment så är den då följsam på +- 20 C ~ 20 sek.
Kalibrera i ett glas med iskuber som smälter. Vid 5 volt får jag kalibrera
med - 1.1 C. Förmodar att du får annat värde beroende på processorhastighet, matningsspänning 4.7- 7 volt
Det fina med SMT160 är att den är linjär , den är billig du kan köra den på vilken uC eller dator du vill.
Du kan ha 100 tals m långa ledningar,bara du ser till att hålla >= 5 volt i ledningarna.
SMT160 drar försumbara <200 uA
Det bästa alternativet som finns, proffsen kör den.
Spännvidd - 45 till + 130. Jag kör den bla, som övervakare frys och sportstuga .
Jag bryter strömmen till elementen vid 10 C
Sampla under 0.5 sek för stabila värde.
Senast redigerad av SvenPon 17 januari 2007, 19:03:47, redigerad totalt 1 gång.
- Schnegelwerfer
- Inlägg: 1863
- Blev medlem: 8 november 2004, 13:46:56
100-tals meter långa ledningar är inte attt rekommendera, särskilt som databladet specar 10m som längsta kabellängd. Det är bara att gratulera till att det råkade fungera för dig tidigare.SvenPon skrev:Det fina med SMT160 är att den är linjär , den är billig du kan köra den på vilken pic eller dator du vill.
Du kan ha 100 tals m långa ledningar,bara du ser till att hålla >= 5 volt i ledningarna.
Flera hundra meter långa ledare och icke-differentiell signalspänning är en generellt dålig idé...
Långa ledningar.
Bull har du någon erfarenhet eller svamlar du bara för svamlets egen skull ?
Jag körde den > 200 m . Det är bara att räkna pulser.
Jag använde försvarets telefonledningar för kommunikation.
Matade med 6 volt vid SMT160 läste av vid hemmadator.
Batterierna räcker fortfarande efter 2 säsonger.
Max frekvens som kan komma ifråga är 4 khz.
Jag körde den > 200 m . Det är bara att räkna pulser.
Jag använde försvarets telefonledningar för kommunikation.
Matade med 6 volt vid SMT160 läste av vid hemmadator.
Batterierna räcker fortfarande efter 2 säsonger.
Max frekvens som kan komma ifråga är 4 khz.
LP egenskaper ?
förlorar lite noggranhet på grund av att LP-egenskaperna i en lång kabel
Nyfiken vad menas ? .Min SMT160 på 200m kalibrerade Vi med en vanlig
termometer i sädesfältetets marknivå. Vi fick kalibrera med - 1.8 C
Tillägg Edit :
Jag lade 20 nF över + - enl ELFA:s förslag, om detta har med saken att göra ?
Nyfiken vad menas ? .Min SMT160 på 200m kalibrerade Vi med en vanlig
termometer i sädesfältetets marknivå. Vi fick kalibrera med - 1.8 C
Tillägg Edit :
Jag lade 20 nF över + - enl ELFA:s förslag, om detta har med saken att göra ?
Som avslutning.
Bygg en trådlös överföring enl detta koncept så har Ni en marknadsgrej.
Jag bjuder på den.
Jag bjuder på den.