Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Hur skriver man i Delphi för att läsa temperatur från SMT160-30

Postades av 2004-02-29 21:33:45 - Michaël Josefsson, i forum delphi, Tråden har 8 Kommentarer och lästs av 1854 personer

Hur skriver man för att läsa temperatur ifrån SMT160-30, har provat en del varianter utan framgång! På något sätt måste jag kunna räkna antalet höga signaler samt antalet signaler under en viss tidsperiod och därigenom få fram temperaturen.
Under "Bygg din egen termometer" så har man gjort detta i VB, men jag lyckas inte att översätta detta till Delphi- koder, varför jag här ber någon vänlig själ om HJÄLP!!!


MVH
Michaël


Svara

Sv: Hur skriver man i Delphi för att läsa temperatur från SMT160-

Postades av 2004-02-29 21:56:59 - Fredrik Hansson

Jag tror SvenPon skickade med lite delphikod i det här uppskicket:

http://www.pellesoft.se/login/upload/t_view4.asp?tid=717

Titta i slutet på filen som heter SMT160DLL.txt


Svara

Sv: Hur skriver man i Delphi för att läsa temperatur från SMT160-

Postades av 2004-02-29 23:34:53 - Sven Åke Persson

Detta är ett exempel på dll. Du kan lätt omvandla till .exe om du vill
<code>
library SMT160 ;
uses
SysUtils,
Classes,
Celcius in 'Celcius.pas' ;
Exports GetTemp ;
Begin
End.

//**************************************************

unit Celcius ;
interface
Uses
Windows ;
Function DlPortReadPortUchar(GetAddrVal:Integer) :
Byte;StdCall ;
//Parallellporten
Function GetTemp(AddrVal :Integer ; Pin :Integer) :
Single;StdCall ;
Implementation

Function DlPortReadPortUchar(GetAddrVal:Integer) :
Byte;StdCall ;
external 'DLPORTIO.dll' name 'DlPortReadPortUchar' ;

Const K1 = 0.32 ;
Const K2 = 0.0047 ;

// Exempel : ***************************************
// skicka 889,11 om du anslutet på pinne 11 LPT

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 ;
//Jag samplar max en halvsekund
halfSek := GetTickCount + 500 ;
cntHigh := 0 ;

// Har inte koll på om 100 milj loopar tar mer tid
// än halfSek.Olika på olika datorer,därför Break

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 ;
// Pinne 11 är inverterad
If Pin = 11 Then
cntHigh := totNumOfSamp - cntHigh ;
GetTemp := (cntHigh/totNumOfSamp - K1)/K2 ;

// Efter många experiment har jag kommit fram till att
// om man kör SMT 160-30 på 5 Volt så får man lägga
// in en korrektion på GetTemp = GetTemp - 1.1
// SMT 160-30 fungerar bara korrekt om den får
// >4.75 <7 volt.Du måste använda extern 5 v försörj.

End;
End.
</code>
Lycka till


Svara

Sv: Hur skriver man i Delphi för att läsa temperatur från SMT160-

Postades av 2004-03-01 19:59:40 - Michaël Josefsson

Ok
Har laggt in ovanstående som en egen enhet, som jag lägger till i det programmet som jag vill läsa tempen i.
Jag får han att mäta temperatur men..
omkring 25 grader så går det bra, vid mätning där resultatet förväntas bli 37grader säger han att det är 54grader.

Varför får jag denna felmätning???

Har provat att koppla på extern matning på 5V, då ger han 144 grader???
Mycket skumt

//Michaël


Svara

Sv: Hur skriver man i Delphi för att läsa temperatur från SMT160-

Postades av 2004-03-01 22:38:25 - Michaël Josefsson

Ursäkta mig!!!


Jag glömde att koppla samman jorden från datorn med jorden ifrån externa strömkällan, därav fick jag 143,30 i temp hela tiden.

I Elfa andvänder dom en kondensator på 20pF är den nödvändig eller??

Har du (Sven Pon) lekt något med DS18S20 och Delphi, vore tacksam om du i så fall ville lägga ut något om detta!!

Annars fungerar SMT160-30 mycket bra, skall nu bara programera resten av mitt projekt -Schuntreglering i pannan med Dator-


Svara

Sv: Hur skriver man i Delphi för att läsa temperatur från SMT160-

Postades av 2004-03-02 11:53:11 - Sven Åke Persson

Som sagt det är viktigt att Ni försäkrar Er om att SMT160-30 verkligen får
minst 5 volt och inte mer än 7 volt.Parallellportarna lämnar bara omkr 4.5 v på
ny moderna datorer,då blir mätningarna fel. Kolla denna länk
http://www.hut.fi/Misc/Electronics/circuits/power_from_pc.html

ELFA vill ha en kondensator på 20 nf över spänningsmatningen,
jag har inte det men det kan nog vara lämpligt för att ta bort "rippel" .

Jag tar mina 5 volt på den röda sladden i datorn som strömmatar HD.
Där finns säker 5 volt.När jag kör på detta vis så får jag korrigera temperaturen med
- 1.1 gr ,har testat på olika datorer och det blir samma alltså korrigera med - 1.1.

SMT160-30 dra oförskämt lite ström så nästa bygge jag gör kommer jag
att strömmata med ett 9 volt batteri och en spänningsregulator på 5 v.
Batteriet kommer att räcka i flera år.

Hur ofta gör du mätningar ? jag kör 1 gng per minut, tätare belastar datorn i onödan.

Slutligen rekommenderar jag att Ni använder SMT160-30 med hölje TO 220
den har en metalplatta som leder värme bra.

DS18S20 kollade jag men den har en usel beskrivning så jag skippade den.
Om du har kopplingsschema och annat kring denna så är jag intresserad.


Svara

Sv: Hur skriver man i Delphi för att läsa temperatur från SMT160-

Postades av 2004-03-02 14:34:05 - Sven Åke Persson

Ok sökte på Goggle svenska sidor , där finns hur mycket som helst tex.
http://termo.elf98.com/termo/DS18S20.pdf


Svara

Sv: Hur skriver man i Delphi för att läsa temperatur från SMT160-

Postades av 2004-03-02 16:50:32 - Michaël Josefsson

Har hittat en del bra sidor under sökandet bla denna:

http://www.vss.co.nz/new/gadgets/onewire.htm


Den är ju skriven i ett riktigt program med Delphi!!!

DS1820 behöver man ju inte köpa det är bara att gå in på Maxim:s hemsida och beställa gratisprover, det gjorde jag för två veckor sen och fick hem dom i fredags.

//Michaël

PS.
Det är tur att Delphi finns, för Visual Basic det är ju bara till för barn!!!
Säg ordet "BASIC" så förstår du!


Svara

Sv: Hur skriver man i Delphi för att läsa temperatur från SMT160-

Postades av 2004-03-02 16:56:35 - Sven Åke Persson

Jag gillar att kombinera VB och Delphi , Vb är ju kanonbra när man gör det
grafiska gränssnittet.tillsammans med Delphi dll:er blir det riktigt bra.


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 159
27 952
271 704
1 590
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies