lausnir
lausnir

Notendahandbók fyrir SL-W-TRS-5.5Dx Digital Infrared Thermopile Demo Board

2024-12-13 1652
SLKOR Micro Semicon Co., Ltd., hefur tæknilega burðarás sína frá Tsinghua háskólanum og Yonsei háskólanum í Suður-Kóreu. Það leiðir þróun fyrirtækisins með nýjum efnum, nýjum ferlum og nýjum vörum og náði tökum á alþjóðlega háþróaðri tækni þriðju kynslóðar hálfleiðara kísilkarbíð raforkutækja tiltölulega snemma.

 

SLKOR er hátæknifyrirtæki sem samþættir hönnun, þróun, framleiðslu og sölu á rafeindavörum. Það veitir viðskiptavinum áreiðanlegar vörur og samsvarandi tækniþjónustu. Vörumerkið "SLKOR“ hefur smám saman þróast í alþjóðlega þekkta vöru og býður upp á vörur og lausnir fyrir meira en 10,000 viðskiptavini um allan heim.

 

Í viðleitni til að leitast við að veita viðskiptavinum fullt úrval af viðbótarvörum, SLKOR hefur hleypt af stokkunum röð notendahandbóka fyrir kynningarborð fyrir stafræna innrauða hitastöng sem ekki snertir hitamælingar.

 

1.1 Nafn: Notendahandbók fyrir SLKOR Digital Infrared Thermopile Non-snerti Hitamælingar Umsókn Hönnun Demo Board

1.2 Umsóknir: Snjalltæki, snjallsímar, eftirlit með hitastigi í iðnaði, snertilaus mæling á yfirborðshitastigi mannslíkamans, snjöll hitaskynjun og stjórnun og önnur lítil tæki til skammdrægra hitamælinga.

1.3 SL-W-TRS-5.5Dx Series kynningarborð:

Það er notað til að meta og prófa ýmsar gerðir skynjara. Mælingarniðurstöðurnar munu birtast á skjánum og hægt er að prenta þær á kembiforritið fyrir raðtengi á tölvunni með USB til raðtengi. Hnappalýsing: Vinstri hnappurinn er til að endurstilla og hægri hnappurinn getur stjórnað byrjun og hlé á forritinu.

image.png 

2. Vélbúnaðarhönnun SL-W-TRS-5.5Dx Series

 

Kubbapinnarnir innihalda aflgjafa og I2C strætó, með samtals 4 pinna. Leyfilegt svið framboðsspennu er 2.3 - 3.6V. Skynjarinn sjálfur hefur mjög litla orkunotkun. 0.1uF þétti á milli aflgjafajarðar nægir. Ef skynjarinn er tiltölulega langt frá aflgjafahlutanum má íhuga 10uF þétta til viðbótar til að tryggja stöðuga aflgjafa og draga úr hávaða.

image.png 

 

 

3. Lýsing á SL-W-TRS-5.5Dx Series kynningarborði

 

3.1 Sýningarborðið er knúið af Type-C innstungu og aflgjafaspennan fyrir kynningarborðið er 5V. Þegar það er í notkun skaltu tengja kynningarborðið við tölvuna í gegnum Type-C og þá geturðu skoðað niðurstöðurnar á skjánum. Ef þú þarft að birta gögn í gegnum raðtengi þarftu að setja upp WCH CH340 rekilforritið og nota síðan kembiforrit fyrir raðtengi til að starfa. Samskiptastillingar fyrir raðtengi eru sem hér segir: Baud-hraði: 9600, Gagnabitar: 8, Stöðvunarbitar: 1 og engin jöfnunarathugun.

 

3.2 Skjár sýnishornsins frá toppi til botns er sem hér segir: umhverfishiti (tamb), úttaksspenna skynjara (vtp_cor), hitastig hlutar (yfirborðs) (tobj) og líkamshiti manna (tbdy). Eining ofangreindra hitastigsgilda er °C og spennueiningin er μV. Meðal þeirra eru fyrstu þrjú gildin upprunaleg úttak tækisins. Líkamshitagildið er reiknað út frá upprunalegu gildunum með því að nota reiknirit fyrirtækisins okkar og er aðeins til viðmiðunar. Notendur geta unnið úr gögnunum með eigin líkamshita reikniritum í samræmi við þarfir þeirra. 

image.png 

Serial port sýna áhrif

 

 2. Sýningartöfluforrit dæmi um SL-W-TRS-5.5Dx röð

 

///////////////////////////////////////////// ///////////////////////////////////////////// //

 // aðal.c

 //////

 #skilgreina FOR_CUSTOMER

 #ifdef FYRIR_CUSTOMER

 #include "drv_uart.h"

 

#include "drv_i2c.h"

#include "drv_key.h"

#include "oled/oled.h"

#include "trs55d.h"

 

utanaðkomandi ógilt SystemCoreClockupdate(ógilt);

ytra ógilt delay_ms(int cnt);

 int aðal (void)

{

uint8_t lykill;

 uint8_t run = 0x01;

 Uppfærsla á kerfisklukku ();

if (SysTick_Config(SystemCoreClock / 1000))

meðan(1);

 uartInit();

drv_i2c_init();

drv_key_init();

 

OLED_Init();

 OLED_Refresh();

OLED_Clear();

OLED_ShowString(8,0,"Tamb:",16,1);

OLED_ShowString(8,16,"Vtp:",16,1);

 OLED_ShowChinese(8,32,0,16,1);

OLED_ShowChinese(24,32,2,16,1);

OLED_ShowChinese(40,32,3,16,1);

OLED_ShowChinese(8,48,1,16,1);

 OLED_ShowChinese(24,48,2,16,1);

OLED_ShowChinese(40,48,3,16,1);

OLED_Refresh();

uartSendString("SL-W-TRS-5.5Dx kynningarforrit ");

meðan (1) {

lykill = drv_key_read();

while(drv_key_read());

ef (lykill) {

 hlaupa = (hlaupa)?0:1;

}

ef (hlaupa) {

 TRS55D_read();

OLED_Refresh();

}

delay_ms(20);

}

}

 

///////////////////////////////////////////// ///////////////////////////////////////////// //

 //trs55d.h

 //////

#ifndef _TRS55D_H_

#define _TRS55D_H_

#include

#define TRS55D_NORMAL_Tobj_MSB_R 0x10

#define TRS55D_NORMAL_Tobj_CSB_R 0x11

#define TRS55D_NORMAL_Tobj_LSB_R 0x12

 #define TRS55D_NORMAL_TEMP_MSB_R 0x16

#define TRS55D_NORMAL_TEMP_CSB_R 0x17

#define TRS55D_NORMAL_TEMP_LSB_R 0x18

 #define TRS55D_NORMAL_DATA1_MSB_R 0x19

#define TRS55D_NORMAL_DATA1_CSB_R 0x1A

 #define TRS55D_NORMAL_DATA1_LSB_R 0x1B

 #define TRS55D_NORMAL_DATA2_MSB_R 0x1C

 #define TRS55D_NORMAL_DATA2_CSB_R 0x1D

#define TRS55D_NORMAL_DATA2_LSB_R 0x1E

 #define TRS55D_RAW_DATA1_MSB_R 0x22

 #define TRS55D_RAW_DATA1_CSB_R 0x23

#define TRS55D_RAW_DATA1_LSB_R 0x24

 #define TRS55D_RAW_DATA2_MSB_R 0x25

 #define TRS55D_RAW_DATA2_CSB_R 0x26

 #define TRS55D_RAW_DATA2_LSB_R 0x27

 #define TRS55D_RAW_TEMP_MSB_R 0x28

 #define TRS55D_RAW_TEMP_CSB_R 0x29

#define TRS55D_RAW_TEMP_LSB_R 0x2A

 #define ADDR_TRS55D 0xFE //(0x7F << 1)

 #define _STATUS_DRDY_ 0x01 ógilt TRS55D_read(ógilt);

#endif

///////////////////////////////////////////// ///////////////////////////////////////////// //

// trs55d.c

//////

#include

 #include "drv_i2c.h"

 #include "trs55d.h"

 #include "body_temp.h"

 ytri uint8_t uartSendString(const char* buf);

ytra ógilt OLED_ShowString(uint8_t x,uint8_t y, const char *chr,uint8_t size1,uint8_t mode);

 ytra ógilt OLED_ShowBNum(uint8_t x,uint8_t y,float num,uint8_t len,

uint8_t size2, uint8_t ham); uint8_t TRS55D_IIC_Read(uint8_t addr_dev, uint8_t addr_reg,

uint8_t *buf, uint16_t count)

{

uint8_t ret;

uint8_t ackflag;

uint16_t i = 0;

drv_i2c_start();

drv_i2c_select_dev(addr_dev,DRV_I2C_OPWR);

 

drv_i2c_writebyte(addr_reg);

 drv_i2c_start();

drv_i2c_select_dev(addr_dev,DRV_I2C_OPRD);

for(i = 0; i < count; i ++) { ackflag = (i < (count-1)) ? 1:0; buff[i]

 = drv_i2c_readbyte(ackflag);

 }

drv_i2c_stop();

 skila ret;

 }

 

ógilt TRS55D_IIC_Write(uint8_t addr_dev, uint8_t addr_reg, uint8_t *buf, uint16_t count)

 {

 uint16_t i = 0;

drv_i2c_start();

drv_i2c_select_dev(addr_dev,DRV_I2C_OPWR);

drv_i2c_writebyte(addr_reg);

 fyrir (i = 0; i < telja; i ++)

 { drv_i2c_writebyte(buf[i]);

}

drv_i2c_stop();

}

 typedef union{

int16_t i16;

uint16_t u16;

struct {

uint8_t u8l;

uint8_t u8h;

 }un;

}uu16_t;

 

typedef union{

int32_t i32;

struct {

uint8_t u8b0;

uint8_t u8b1;

uint8_t u8b2;

uint8_t u8b3;

}un;

 }uu32_t;

 

kyrrstöðubleikjujafna [264];

 uu32_t tobj, tamb_cal;

 

uu32_t vtp_cor;

flot vtp_uv_f = 0.0;

flot vtp_cor_f = 0.0;

fljóta tambf = 0.0; fljóta tobjf = 0.0;

 fljóta tbdyf = 0.0;

 ógilt TRS55D_read(ógilt)

{

uint8_t rbuf[4];

uint8_t raddr,rdat;

 uint8_t waddr = 0x0, wdat = 0x0;

int timeout=0;

 

waddr = 0x30;

wdat = 0x09;

TRS55D_IIC_Write(ADDR_TRS55D, waddr, &wdat,1);

 //start viðskipti delay_ms(100);

 

// bíddu eftir breytingunni lokið

raddr = 0x03;

gera {

TRS55D_IIC_Read (ADDR_TRS55D, raddr, &rdat,1);

} while(((rdat == 0xFF) || (!(rdat & 0x30))) && timeout++ < 200);

raddr = 0x02;

 gera {

TRS55D_IIC_Read (ADDR_TRS55D, raddr, &rdat,1);

} while(((rdat == 0xFF) || (!(rdat & 0x0B))) && tími++ < 200);

 

 // spennugildi eftir kvörðun

raddr = TRS55D_NORMAL_DATA1_MSB_R;

TRS55D_IIC_Read (ADDR_TRS55D, raddr,&rbuf[0],3);

vtp_cor.un.u8b2 = rbuf[0];

 vtp_cor.un.u8b1 = rbuf[1];

vtp_cor.un.u8b0 =rbuf[2];

 ef (vtp_cor.un.u8b2 & 0x80) { vtp_cor.un.u8b3 = 0xFF;

}annað {

vtp_cor.un.u8b3 = 0x00;

// vtp eftir leiðrétt

}

vtp_cor_f = (flota)vtp_cor.i32/524288.0;

vtp_cor_f *= 1000;

// umhverfishitagildi eftir kvörðun

 raddr = TRS55D_NORMAL_TEMP_MSB_R;

TRS55D_IIC_Read (ADDR_TRS55D,raddr,&rbuf[0],3);

 tamb_cal.un.u8b2 = rbuf[0];

tamb_cal.un.u8b1 =rbuf[1];

tamb_cal.un.u8b0 =rbuf[2];

tambf = (flota)tamb_cal.i32 / 16384.0; // umhverfishiti

 

// hitastig hlutar(yfirborðs) eftir kvörðun

raddr = TRS55D_NORMAL_Tobj_MSB_R;

TRS55D_IIC_Read (ADDR_TRS55D,raddr,&rbuf[0],3);

 tobj.un.u8b2 = rbuf[0]; tobj.un.u8b1 = rbuf[1];

tobj.un.u8b0 =rbuf[2]; tobjf = (flota)tobj.i32 / 16384.0;

// hitastig hlutar(yfirborðs).

 

// fáðu líkamshita

tbdyf = get_body_temp(tambf,tobjf); // fáðu líkamshita

 

// birta á uart sprintf(biðminni, "tamb = %.2f, vtp_cor = %.2f, tobj = %.2f, tbdy = %.2f ", tambf, vtp_cor_f, tobjf, tbdyf); uartSendString(biðminni);

 

// sýna á oled

 float vals[4] = {tambf, vtp_cor_f, tobjf, tbdyf+0.05};

 OLED_ShowBNum (64, 0, vals[0], 4, 16, 1); // Tamb

OLED_ShowBNum (48, 16, vals[1], 6, 16, 1); // vtp

OLED_ShowString(112,16, "uv",16, 1);

OLED_ShowBNum (64, 32, vals[2], 4, 16, 1); // Tobj

OLED_ShowBNum (64, 48, vals[3], 4, 16, 1); // Tbdy

}

Tengdar ráðleggingar
whatsapp

WhatsApp

Whatsapp: +8618073002950