Sida 1 av 5
Hallå alla matematiker
Postat: 28 augusti 2004, 16:39:02
av Fredrick
Hur skall jag skriva i PBP för att få fram temperatuern från en SMT160-30?
T1/T2 = 0.32 + 0.0047 * t (°C)
http://www.smartec.nl/temperature_sensor_b.htm
Jag får det inte att fungerar iallafall..... min matte A räcker tydligen inte

Postat: 28 augusti 2004, 16:42:46
av danei
Skulle du inte läsa av den analogt?
dra bort 0,32 och sen delar du svaret med 0,0047 så har du temeraturen.
Postat: 28 augusti 2004, 16:51:44
av Fredrick
Det löste sig nu....
Postat: 28 augusti 2004, 17:05:22
av Fredrick
Nej det löste sig inte alls......
Miniräknaren räknar ut rätt temp, men hur får jag en PIC 16F84 att räkna ut tempen.
Jag får problem med decimaltalen när jag skall räkna .
Programmerar i PBP
På något sätt måste jag räkna om talen i 65536 delar, men hur ser den formeln ut????
Postat: 28 augusti 2004, 17:42:28
av EagleSpirit
är det 16 bitars upplösning på temperaturen? Hur vill du visa temperaturen? Nu får du ju i binär form. Om du vill skriva ut det på en lcd eller liknande måste du omvandla det till BCD kod. Finns nog en del programexempel på internet
Postat: 28 augusti 2004, 17:43:57
av Fredrick
Jag vill skriva ut det till en LCD...
T = ( 65536 * ( T_puls / T_period) 20972) / 308
Så här ser formeln ut om man har räknat om det i 65536 delar, men hur räknar jag ut skiten i PIC´en??
Postat: 28 augusti 2004, 18:10:52
av EagleSpirit
förlåt, såg lite fel. Det är ju temperaturen du får ut. Den där uträkningen kan du göra i PICen va? Då ska du bara omvandla det decimala värdet som ligger i T till BCD kod. Leta lite efter ett programexempel för det. Typ "convert decimal bcd" eller nåt liknande
EDIT: Ändrade mig lite ^^
Postat: 28 augusti 2004, 19:32:20
av Fredrick
Nej jag kan inte räkna ut den formeln i PIC´en efter som PIC´en stödjer bara tal mellan 0 och 65536 och vad jag förstår så klarar den inte änns decimaltal typ 0,00470..
http://www.micronym.se/downloads/Labbar/Lab_Puls.pdf
Eller kan man räkna med decimaltal? PicBasicPro säger iallafall ifrån när jag försöker använda mig utav ett decimaltal
Postat: 28 augusti 2004, 19:38:17
av danei
jag har inte koll på vad PBP innebär. Men i C kna man implementera myckat mattematik. Det går inte fort men om man bara ska räkna några gånger i sekunden kan man har väldigt bökiga formler. 32bitars flytal och exponenter kan jag säga att funkar. Och det är mycket mer krävande än din applikation.
Postat: 28 augusti 2004, 19:40:48
av Fredrick
PBP = PicBasicPro compiler
Postat: 28 augusti 2004, 20:31:46
av Chribbe76
Om du vill ha decimaler så kolla här:
http://picbasic.com/resources/fp.htm
Postat: 28 augusti 2004, 21:15:16
av danei
Det borde väl finnas stöd för flytals beräkningar där med.
Postat: 28 augusti 2004, 21:51:12
av Fredrick
Är det ingen här som läst in temperaturen med en PIC och skrivit programmer i Picbasic??
Hur f*n gör man.....
Postat: 28 augusti 2004, 22:14:51
av Chribbe76
Det är nog enklare att läsa in temperaturen analogt men Pic16F84:an har ingen AD-omvandlare.
Har du lyckats läsa in DutyCycle tiden från sensorn eller är det oxå ett problem?
Funkar displayen och kan du skriva ut värden på den?
Postat: 28 augusti 2004, 22:27:23
av Fredrick
Jag kan läsa in DutyCyclen och skriva ut ett felaktigt temp värde på displyen.
Jag hittade en formel på internet, men nu så pendlar temp värdet mellan 21C och 28C, så jag antar att det är formeln det är fel på.
Hur läser jag signalen analogt?
Jag har ett par PIC16F627 också, jag tror dom har analoga ingångar