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


Temp avläsaren

Postades av 2010-02-06 00:17:22 - Carsten Johansson, i forum matte/fysik/beräkna, Tråden har 23 Kommentarer och lästs av 6571 personer

Tittade lite på denna artikel som är intressant

http://www.pellesoft.se/area/articles/article.aspx?artid=447

Sitter och undrar om man ska göra om den så den passar linux också

Vad jag förstår så läser den av pulsen, ju mer varmare det är ju längre puls???

Fast jag hänger endå lite riktigt med hur den räknar

Räknar den hur många pulsar den klarar av per sek eller vad??

(Vet inte riktigt var jag ska lägga denna, det är ju elektronik men inte VB)


Svara

Sv: Temp avläsaren

Postades av 2010-02-06 08:54:37 - Sven Åke Persson

Kolla mitt gamla projekt

Programarkivet:Temperatur med SMT 160-30

Sk pulsbreddsmodulation dvs det är olika långt mellan höga och låga läge.
Du tänker rätt.
Man räknar hur många höga pulser det kommer under en viss tid ex 1 sek
Just detta projekt så är max temp 150gr och då kommer det ~ 4000 höga pulser /sek
http://www.eetimes.eu/scandinavia/showArticle.jhtml?articleID=19500193&queryText=noggrannhet
Här Delphikoden jag räknar inkommande höga under 500 ms
<code>
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) ; 'räknare öka med 1, cntHigh växer under 500 ms
If GetTickCount > halfSek Then Break ;
End ;
If Pin = 11 Then
cntHigh := totNumOfSamp - cntHigh ;
GetTemp := (cntHigh/totNumOfSamp - K1)/K2;</code>


Svara

Sv: Temp avläsaren

Postades av 2010-02-06 10:26:13 - Johan Djupmarker

Som Sven skrev så är signalen pulsbreddsmodulerad. Ju varmare det är desto längre är varje puls och tiden mellan pulserna minskar. Man räknar alltså inte antalet pulser. Genom att kontrollera om det för tillfället finns en puls (hög signal) eller om man är mellan två pulser (låg signal) väldigt många gånger så får man ett mått på hur stor del av tiden som signalen är hög, alltså hur varmt det är.

Jag har haft en version av artikeln anpassad för linux på min privata hemsida tidigare, men jag har plockat bort den från nätet nu. Ska se om jag kan hitta den på datorn senare.

/Johan


Svara

Sv:Temp avläsaren

Postades av 2010-02-06 10:58:31 - Sven Åke Persson

Så var det Johan Tack för tillrättaläggandet.


Svara

Sv:Temp avläsaren

Postades av 2010-02-06 12:39:21 - Carsten Johansson

ok tack för en vän till mig är riktigt intresserad av att ha en sådan
Men han kör linux på sin server som han vill koppla till


Föresten hur långt kan man ha en kabel mellan porten och SMT 160-30
Vi satt och undrade att dra några TP kablar från porten till dom ställen vi sätter upp SMT 160-30


SvenPon, gillar ditt program skarpt men som sagt den är byggt för windows.
Jag har tänkt att göra något liknande att den sparas i en MySQL databas varje timme.
Kommer bli en lång tabell i slutet på året :D


Svara

Sv:Temp avläsaren

Postades av 2010-02-06 13:38:28 - Johan Djupmarker

Här kommer exemplet för Linux, HTML-kodat och klart :)

Johan



<H2>Bygg din egen termometer - C++/Linux</H2>

<p>Detta exemplet visar hur man läser av en termometer i C++ under Linux. Jag kan inte garantera att detta fungerar för dej eller att det inte förstör din hårdvara (var försiktig!). Men det fungerar för mig och jag hoppas att någon annan kan ha nytta av det! Se artikeln Bygg din egen termometer - VB för bygginstruktioner samt information om hur det fungerar.</p>

<H3>Exempelprogram</H3>
<p class="kod">
<code>
#include &lt;iostream&gt;<br>
#include &lt;sys/io.h&gt;<br>
#define BASEPORT 0x378<br>
<br>
float readTemp(long adr, int mask, long numsamp){<br>
&nbsp;&nbsp;long numhigh=0;<br>
&nbsp;&nbsp;for(long i=0; i < numsamp; i++){<br>
&nbsp;&nbsp;&nbsp;&nbsp;if (int(inb(adr) & mask) != 0)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;numhigh++;<br>
&nbsp;&nbsp;}<br>
&nbsp;&nbsp;return ((double(numhigh) / double(numsamp)) - 0.32) / 0.0047;<br>
}<br>
<br>
int main()<br>
{<br>
&nbsp;&nbsp;if (ioperm(BASEPORT,3,1))<br>
&nbsp;&nbsp;&nbsp;&nbsp;cout << "fel" << endl;<br>
<br>
&nbsp;&nbsp;cout << readTemp(BASEPORT+1, 64, 1000000) << endl;<br>
}<br>
</code>
</p>

<H3>Förklaring</H3>
<p class="kod">
<code>
#define BASEPORT 0x378<br>
</code>
</p>
<p>Anger vilken basadress porten har, den första porten brukar ha adressen 0x378 och den andra 0x278 (om det finns någon), men detta kan variera.</p>

<p class="kod">
<code>
&nbsp;&nbsp;for(long i=0; i < numsamp; i++){<br>
&nbsp;&nbsp;&nbsp;&nbsp;if (int(inb(adr) & mask) != 0)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;numhigh++;<br>
&nbsp;&nbsp;}<br>
</code>
</p>
<p>Här läses porten av <i>numsamp</i> gånger för att kontrollera om det är en hög eller låg signal. Indatat maskas med masken <i>mask</i> för att man ska kunna läsa av den biten som motsvarar pinnen på porten som man har anslutit sensorn till. Genom att räkna antalet tillfällen som porten är hög kan man få fram hur stor andel av tiden detta motsvarar.</p>

<p class="kod">
<code>
&nbsp;&nbsp;return ((double(numhigh) / double(numsamp)) - 0.32) / 0.0047;<br>
</code>
</p>
<p>Formeln för att räkna ut temperaturen, läs mer på tillverkarens hemsida.

<p class="kod">
<code>
&nbsp;&nbsp;if (ioperm(BASEPORT,3,1))<br>
&nbsp;&nbsp;&nbsp;&nbsp;cout << "fel" << endl;<br>
</code>
</p>
<p>Ger programmet rättigheter att läsa från porten (<b>OBS att programmet måste köras med root-rättigheter</b>)</p>

<p class="kod">
<code>
&nbsp;&nbsp;cout << readTemp(<b>BASEPORT+1</b>, 64, 1000000) << endl;<br>
</code>
</p>
<p>Statuspinnarnas (10, 11(inverterad), 12, 13, 15) värden finns på adressen över basadressen.</p>

<p class="kod">
<code>
&nbsp;&nbsp;cout << readTemp(BASEPORT+1, <b>64</b>, 1000000) << endl;<br>
</code>
</p>
<p>64 är masken för pinne 10, se VB-klassen för motsvande värden för de andra pinnarna.</p>

<p class="kod">
<code>
&nbsp;&nbsp;cout << readTemp(BASEPORT+1, 64, <b>1000000</b>) << endl;<br>
</code>
</p>
<p>Antalet samplingar, 1000000 har fungerat bra för mig, men testa dej fram till ett värde som ger ett stabilt resultat för dej. Prestandan på dator spelar in lite här, ju snabbare dator, desto fler samplingar behövs verkar det som.</p>

<H3>Val av pinnar</H3>
<p>Detta exemplet är endast för statuspinnarna (10, 11(inverterad), 12, 13, 15), vill du använda 2-9 måste porten ställas i läsläge först. Om du kikar på VB-exemplet kan du säkert lista ut hur det går till!</p>


Svara

Sv: Temp avläsaren

Postades av 2010-02-06 13:41:32 - Carsten Johansson

Gisses, kan du inte lägga upp HTML sidan också :D


Svara

Sv:Temp avläsaren

Postades av 2010-02-06 16:14:53 - Johan Djupmarker

Svara på inlägget med html-koden, över rutan där du skriver svaret får du upp min HTML oformaterad. Kopiera och spara i en html-fil lokalt så ska du nog kunna läsa sedan.

/Johan


Svara

Sv: Temp avläsaren

Postades av 2010-02-06 16:34:43 - Carsten Johansson

Tack, ska titta igenom den.


Svara

Sv:Temp avläsaren

Postades av 2010-02-16 00:01:42 - Joakim Åhl

https://www1.elfa.se/data1/wwwroot/webroot/Z_DATA/07308869.pdf

Enligt Databladet kan du ha en kabel på 20 meter. Dock vet jag inte om du kan ha en 20m lång ström kabel. Kör med extern ström och skicka signalen 20m borde funka.

Jag har testat att ta 5V från datorn till SMT men det funka inte så bra. När jag körde extern matning funka det fint.


Svara

Sv: Temp avläsaren

Postades av 2010-02-16 08:21:34 - Sven Åke Persson

För många år sedan körde jag ett projekt för en bonde som ville veta temperaturen ute på ett fält.
Nu har jag en lösning som kör trådlöst. SMT lämnar ett pulståg 1- 0 som lätt låter sig moduleras. 4Khz.

Vi hade ¨ 500 m kabel. Funkade alldeles utmärkt.
Vi hade klart extern matning till SMT. 9 V batteri. Batteriet varade 2 år.

SMT vill ha 4.7 - 7 V för att funka korrekt. SMT dra så lite ström så det är försumbart.

Moderna Parallellportar lämnar inte 5 V längre och duger inte till att mata SMT


Svara

Sv:Temp avläsaren

Postades av 2010-02-16 12:39:09 - Carsten Johansson

ok den behöver en extra källa för att få det så bra som möjligt

Någon som har en ritning till det för man har inte lust att sabba moderkortet

eller är det "bara" att ta stiftet som går till + på pararellporten till ett motstånd och sedan till 9v batteri och den andra stiftet som går till minus till minuspolen på batteriet??

jag tittar på den där ritningen som Johan har gjort


Svara

Sv: Temp avläsaren

Postades av 2010-02-16 14:04:42 - Sven Åke Persson

Nää kör inte 9 v kör 6 V. Jag hade en 6 v begränsare till min 9V. Motstånd duger inte.

Om du inte köpt SMT-160-30 så rekommenderar jag T0220 kapsel.
Själv tar jag 5 volt från datorns strömförsörjning. Röd Svart på strömförsörjn till ex HD.
Extern matning rekommenderas för ovana elktronissar. 4 st 1.5 V i en liten söt kapsel.(6 V)

Plus till ben 2 SMT Minus till ben 3 SMT och pinne 25 på Parallellporten

Slutligen anslut ben 1 SMT till något av pinnarna 13 12 10 15 på Parallellporten.

Enl databladet drar SMT 160 uA (microamp) 0.000000160 A Då duger inte motstånd.

Skulle bli ett motstånd med 8 siffror ex 18750000 ~ 19 MegaOhm.


Svara

Sv:Temp avläsaren

Postades av 2010-02-16 14:41:44 - Carsten Johansson

hmm ta 5 volt är ju en bra ide men om jag ska ha en 10-20 meter lång kabel, räcker det endå??
Eftersom det skrevs tidigare att det behövs en extern spänning och ett batteri är ju enkelt att fixa och får det bra än att dra en extra ström från datorn.

Finns ju andra batterier man kan använda och seriekoppla om det så behövs


Nej inget är beställt ännu fören man har all fakta på bordet.

Den där T0220 du snackar om, är den lika bra eller bättre??

Försöker hitta info om den men får upp en massa om jag inte tror är det jag söker "7812 Voltage Regulator 1 Amp T0220"


Svara

Sv: Temp avläsaren

Postades av 2010-02-16 15:26:50 - Sven Åke Persson

TO220 betecknar förpackningen. SMT finns i 3 förpackningar.Jag gillar TO220 förpackningen
eftersom den har en metallplatta med hål i så man lätt kan fästa den någonstans.

Prestanda i övrigt är samma,möjligtvis att TO220 förpackningen är snabbare i reaktion.

Oki satsa på externbatteri 6 V. Lämlig kabel är som jag använder är stereo kabel typ hörlurar.

Tar du gemensamma skärmen som minus/jord (ben 3 och pin 25) och de andra två till ström och output.


Svara

Sv:Temp avläsaren

Postades av 2010-02-16 15:57:23 - Joakim Åhl

Sök på SMT 160-30 på www.elfa.se</url så kommer du se TO220. Det är den som jag kör med också. Funkar bra och är bra eftersom den är som Sven sa lått att fästa någonstans eftersom den har en metallplatta med ett hål för att tex montera en skruv i.


Svara

Sv: Temp avläsaren

Postades av 2010-02-16 17:02:24 - Carsten Johansson

mmm ska nog köpa en sådan för att testa lite :)


Svara

Sv:Temp avläsaren

Postades av 2010-02-17 07:33:36 - Sven Åke Persson

Joakim:
Nyfiken hur använder du din applikation. Kör du med min lösning SMT160.dll ?

Själv har jag nu bla. loggat utetemperatur sedan 2002.
Körde också bara på kul en övervakning av frysen. Där hände ingenting så jag la av.
Kolla bild
Programarkivet:Temperatur med SMT 160-30
och
Kolla även
Programarkivet:Testa Tempsensor SMT160-30
Kan du ha användning av när du testar ditt projekt


Svara

Sv: Temp avläsaren

Postades av 2010-02-20 02:00:59 - Joakim Åhl

Nopp. Som det är nu kör jag men en microcontroler Arduino. Adruino kan kommunalisera men datorn via USB.

Jag plan är att koppla på en Display på min Arduino som visar temperaturen. Har även en ide att koppla på en GSM-modul som skickar SMS när temperaturen går under 3ºC. Och då kunna starta en värme fläkt.
Detta för att min mor har en sommarstuga och vattnet fryser ibland så om man kopplar på en givare på vatten ledningen så kan den varna och sätta på värmefläkten och på så sätt undvika att ledningarna fryser.

Har dock ingen GSM-modul är det får bli när man får lite mer pengar på fickan.


Svara

Sv:Temp avläsaren

Postades av 2010-02-20 10:57:46 - Sven Åke Persson

Braaaaaaaaa Joakim

Impad ideer föder ideer.

Min enkla lösning gjorde att bonden kunde kolla på sin åker om det var lämpligt att skörda.

Nu är det bara trådlöst som gäller. Braaaaaa sånna som du som föder utvecklingen.


Svara

Sv: Temp avläsaren

Postades av 2010-02-20 16:25:52 - Joakim Åhl

Jaja, nu skall vi inte överdriva här. jag använder bara redan färdigutvecklade moduler som man kopplar ihop. Förutom tempogivaren då som inte är en del av modulerna till Arduino.

På tal om trådlöst finns det olika moduler till till Arduino. Tex. WiFi ( Trådlöstnätverk ), GSM ( mobil ), Xbee ( har inte kollat in vad det är än ), RF ( liten radio sändare ).


Svara

Sv:Temp avläsaren

Postades av 2010-02-20 20:50:13 - Tom Granqvist

XBee är också för trådlös kommunikation, enligt ZigBee-standarden. Största fördelen är väl effektsnålhet och möjlighet till mesh-topologi, alltså redundant koppling mellan noder.


Svara

Sv: Temp avläsaren

Postades av 2010-02-23 15:45:23 - Sven Åke Persson

<b>Helt Out of Topic</b> Men ! ändå. Utveckling var ju temat. Temperatur ingick.

Dessa djä... järnvägsväxlar.

Finns ett gammalt kanonförslag om att lägga någon tålig gummislang mellan växlarna.

Behövs kanske bara läggas ut vintertid.Kanske ha lite Glykol/Varmvatten i dom.

Dom skall alltså fylla ut tomrummet resp pressa samman när växeln arbetar.

Lägg ut dom på strategiska ställe när det brinner till.


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 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

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 614
27 953
271 709
411
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