సొల్యూషన్స్
సొల్యూషన్స్

SL-W-TRS-5.5Dx డిజిటల్ ఇన్‌ఫ్రారెడ్ థర్మోపైల్ డెమో బోర్డ్ కోసం వినియోగదారు మాన్యువల్

2024-12-13 1652
SLKOR మైక్రో సెమికాన్ కో., లిమిటెడ్., దక్షిణ కొరియాలోని సింఘువా విశ్వవిద్యాలయం మరియు యోన్సే యూనివర్శిటీ నుండి దాని సాంకేతిక వెన్నెముకలను కలిగి ఉంది. ఇది కొత్త మెటీరియల్స్, కొత్త ప్రక్రియలు మరియు కొత్త ఉత్పత్తులతో కంపెనీ అభివృద్ధికి దారితీసింది మరియు మూడవ తరం సెమీకండక్టర్ సిలికాన్ కార్బైడ్ పవర్ పరికరాల అంతర్జాతీయంగా అధునాతన సాంకేతికతను సాపేక్షంగా ముందుగానే ప్రావీణ్యం సంపాదించింది.

 

SLKOR ఎలక్ట్రానిక్ ఉత్పత్తుల రూపకల్పన, అభివృద్ధి, ఉత్పత్తి మరియు అమ్మకాలను సమగ్రపరిచే హై-టెక్ సంస్థ. ఇది వినియోగదారులకు నమ్మకమైన ఉత్పత్తులు మరియు సంబంధిత సాంకేతిక సేవలను అందిస్తుంది. బ్రాండ్ "SLKOR" ప్రపంచవ్యాప్తంగా 10,000 కంటే ఎక్కువ మంది వినియోగదారులకు ఉత్పత్తులు మరియు పరిష్కారాలను అందిస్తూ క్రమంగా అంతర్జాతీయంగా ప్రసిద్ధి చెందినదిగా అభివృద్ధి చెందింది.

 

వినియోగదారులకు పూర్తి స్థాయి కాంప్లిమెంటరీ ఉత్పత్తులను అందించడానికి ప్రయత్నించే ప్రయత్నంలో, SLKOR డిజిటల్ ఇన్‌ఫ్రారెడ్ థర్మోపైల్ నాన్-కాంటాక్ట్ టెంపరేచర్ మెజర్‌మెంట్ అప్లికేషన్ డిజైన్‌ల డెమో బోర్డుల కోసం యూజర్ మాన్యువల్‌ల శ్రేణిని ప్రారంభించింది.

 

1.1 పేరు: కోసం వినియోగదారు మాన్యువల్ SLKOR డిజిటల్ ఇన్‌ఫ్రారెడ్ థర్మోపైల్ నాన్-కాంటాక్ట్ టెంపరేచర్ మెజర్‌మెంట్ అప్లికేషన్ డిజైన్ డెమో బోర్డ్

1.2 అనువర్తనాలు: స్మార్ట్ ధరించగలిగే పరికరాలు, స్మార్ట్ ఫోన్‌లు, ఇండస్ట్రియల్ టెంపరేచర్ మానిటరింగ్, నాన్-కాంటాక్ట్ హ్యూమన్ బాడీ ఉపరితల ఉష్ణోగ్రత కొలత, ఇంటెలిజెంట్ టెంపరేచర్ సెన్సింగ్ మరియు కంట్రోల్ మరియు స్వల్ప-శ్రేణి ఉష్ణోగ్రత కొలత కోసం ఇతర చిన్న-పరిమాణ పరికరాలు.

1.3 SL-W-TRS-5.5Dx సిరీస్ డెమో బోర్డ్:

ఇది వివిధ రకాల సెన్సార్ల మూల్యాంకనం మరియు పరీక్ష కోసం ఉపయోగించబడుతుంది. కొలత ఫలితాలు స్క్రీన్‌పై ప్రదర్శించబడతాయి మరియు USB ద్వారా సీరియల్ పోర్ట్‌కు PCలోని సీరియల్ పోర్ట్ డీబగ్గింగ్ సాఫ్ట్‌వేర్‌కు ముద్రించబడతాయి. బటన్ వివరణ: ఎడమ బటన్ రీసెట్ కోసం మరియు కుడి బటన్ ప్రోగ్రామ్ యొక్క ప్రారంభం మరియు పాజ్‌ను నియంత్రించగలదు.

image.png 

2. SL-W-TRS-5.5Dx సిరీస్ యొక్క హార్డ్‌వేర్ డిజైన్

 

చిప్ పిన్‌లలో విద్యుత్ సరఫరా మరియు I2C బస్ ఉన్నాయి, మొత్తం 4 పిన్‌లు ఉంటాయి. సరఫరా వోల్టేజ్ యొక్క అనుమతించదగిన పరిధి 2.3 - 3.6V. సెన్సార్ చాలా తక్కువ విద్యుత్ వినియోగాన్ని కలిగి ఉంటుంది. విద్యుత్ సరఫరా గ్రౌండ్ మధ్య 0.1uF కెపాసిటర్ సరిపోతుంది. సెన్సార్ విద్యుత్ సరఫరా భాగం నుండి సాపేక్షంగా దూరంగా ఉంటే, స్థిరమైన విద్యుత్ సరఫరాను నిర్ధారించడానికి మరియు శబ్దాన్ని తగ్గించడానికి అదనపు 10uF కెపాసిటర్‌ను పరిగణించవచ్చు.

image.png 

 

 

3. SL-W-TRS-5.5Dx సిరీస్ డెమో బోర్డ్ వివరణ

 

3.1 డెమో బోర్డ్ టైప్-సి సాకెట్ ద్వారా శక్తిని పొందుతుంది మరియు డెమో బోర్డ్ కోసం విద్యుత్ సరఫరా వోల్టేజ్ 5V. ఉపయోగంలో ఉన్నప్పుడు, టైప్-సి ద్వారా డెమో బోర్డ్‌ను PCకి కనెక్ట్ చేయండి, ఆపై మీరు స్క్రీన్‌పై ఫలితాలను వీక్షించవచ్చు. మీరు సీరియల్ పోర్ట్ ద్వారా డేటాను ప్రదర్శించాల్సిన అవసరం ఉన్నట్లయితే, మీరు WCH CH340 డ్రైవర్ ప్రోగ్రామ్‌ను ఇన్‌స్టాల్ చేయాలి మరియు ఆపరేట్ చేయడానికి సీరియల్ పోర్ట్ డీబగ్గింగ్ సాఫ్ట్‌వేర్‌ను ఉపయోగించాలి. సీరియల్ పోర్ట్ కమ్యూనికేషన్ సెట్టింగ్‌లు క్రింది విధంగా ఉన్నాయి: బాడ్ రేటు: 9600, డేటా బిట్‌లు: 8, స్టాప్ బిట్‌లు: 1, మరియు పారిటీ చెక్ లేదు.

 

3.2 డెమో బోర్డ్ యొక్క స్క్రీన్ డిస్‌ప్లే పై నుండి క్రిందికి క్రింది విధంగా ఉంటుంది: పరిసర ఉష్ణోగ్రత (టాంబ్), సెన్సార్ అవుట్‌పుట్ వోల్టేజ్ (vtp_cor), ఆబ్జెక్ట్ (ఉపరితలం) ఉష్ణోగ్రత (tobj) మరియు మానవ శరీర ఉష్ణోగ్రత (tbdy). పై ఉష్ణోగ్రత విలువల యూనిట్ °C, మరియు వోల్టేజ్ యూనిట్ μV. వాటిలో, మొదటి మూడు విలువలు పరికరం యొక్క అసలు అవుట్‌పుట్‌లు. శరీర ఉష్ణోగ్రత విలువ మా కంపెనీ అల్గారిథమ్‌ని ఉపయోగించి అసలు విలువల ఆధారంగా లెక్కించబడుతుంది మరియు ఇది సూచన కోసం మాత్రమే. వినియోగదారులు వారి అవసరాలకు అనుగుణంగా వారి స్వంత శరీర ఉష్ణోగ్రత అల్గారిథమ్‌లను ఉపయోగించి డేటాను ప్రాసెస్ చేయవచ్చు. 

image.png 

సీరియల్ పోర్ట్ ప్రదర్శన ప్రభావం

 

 2. SL-W-TRS-5.5Dx సిరీస్ యొక్క డెమో బోర్డ్ ప్రోగ్రామ్ ఉదాహరణ

 

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

 // main.c

 //////

 #నిర్వచించండి_కస్టమర్

 #ifdef కోసం_కస్టమర్

 #"drv_uart.h"ని చేర్చండి

 

#"drv_i2c.h"ని చేర్చండి

#"drv_key.h"ని చేర్చండి

#"oled/oled.h"ని చేర్చండి

#"trs55d.h"ని చేర్చండి

 

బాహ్య శూన్య SystemCoreClockupdate(శూన్యము);

బాహ్య శూన్య ఆలస్యం_ms (int cnt);

 Int ప్రధాన (శూన్యమైన)

{

uint8_t కీ;

 uint8_t రన్ = 0x01;

 సిస్టమ్ కోర్ క్లాక్ అప్‌డేట్ ();

ఒకవేళ (SysTick_Config(SystemCoreClock / 1000))

అయితే (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 డెమో ప్రోగ్రామ్ ");

అయితే (1) {

కీ = drv_key_read();

అయితే(drv_key_read());

ఒకవేళ (కీ) {

 పరుగు = (పరుగు)?0:1;

}

ఒకవేళ (పరుగు) {

 TRS55D_read();

OLED_Refresh();

}

ఆలస్యం_ms(20);

}

}

 

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

 //trs55d.h

 //////

#ifndef _TRS55D_H_

#నిర్వచించండి _TRS55D_H_

# ఉన్నాయి

#TRS55D_NORMAL_Tobj_MSB_R 0x10ని నిర్వచించండి

#TRS55D_NORMAL_Tobj_CSB_R 0x11ని నిర్వచించండి

#TRS55D_NORMAL_Tobj_LSB_R 0x12ని నిర్వచించండి

 #TRS55D_NORMAL_TEMP_MSB_R 0x16ని నిర్వచించండి

#TRS55D_NORMAL_TEMP_CSB_R 0x17ని నిర్వచించండి

#TRS55D_NORMAL_TEMP_LSB_R 0x18ని నిర్వచించండి

 #TRS55D_NORMAL_DATA1_MSB_R 0x19ని నిర్వచించండి

#TRS55D_NORMAL_DATA1_CSB_R 0x1Aని నిర్వచించండి

 #TRS55D_NORMAL_DATA1_LSB_R 0x1Bని నిర్వచించండి

 #TRS55D_NORMAL_DATA2_MSB_R 0x1Cని నిర్వచించండి

 #TRS55D_NORMAL_DATA2_CSB_R 0x1Dని నిర్వచించండి

#TRS55D_NORMAL_DATA2_LSB_R 0x1Eని నిర్వచించండి

 #TRS55D_RAW_DATA1_MSB_R 0x22ని నిర్వచించండి

 #TRS55D_RAW_DATA1_CSB_R 0x23ని నిర్వచించండి

#TRS55D_RAW_DATA1_LSB_R 0x24ని నిర్వచించండి

 #TRS55D_RAW_DATA2_MSB_R 0x25ని నిర్వచించండి

 #TRS55D_RAW_DATA2_CSB_R 0x26ని నిర్వచించండి

 #TRS55D_RAW_DATA2_LSB_R 0x27ని నిర్వచించండి

 #TRS55D_RAW_TEMP_MSB_R 0x28ని నిర్వచించండి

 #TRS55D_RAW_TEMP_CSB_R 0x29ని నిర్వచించండి

#TRS55D_RAW_TEMP_LSB_R 0x2Aని నిర్వచించండి

 #ADDR_TRS55D 0xFE //(0x7F << 1) నిర్వచించండి

 #నిర్వచించండి _STATUS_DRDY_ 0x01 శూన్యమైన TRS55D_read(void);

#ఎండిఫ్

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

// trs55d.c

//////

# ఉన్నాయి

 #"drv_i2c.h"ని చేర్చండి

 #"trs55d.h"ని చేర్చండి

 #"బాడీ_టెంప్.హెచ్"ని చేర్చండి

 extern uint8_t uartSendString(const char* buf);

బాహ్య శూన్యమైన OLED_ShowString (uint8_t x,uint8_t y, const char *chr,uint8_t size1,uint8_t మోడ్);

 బాహ్య శూన్యమైన OLED_ShowBNum(uint8_t x,uint8_t y,float num,uint8_t len,

uint8_t size2,uint8_t మోడ్); uint8_t TRS55D_IIC_Read(uint8_t addr_dev, uint8_t addr_reg,

uint8_t *buf, uint16_t కౌంట్)

{

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);

కోసం (i = 0; i <కౌంట్; i ++) {ackflag = (i < (count-1)) ? 1:0; buf[i]

 = drv_i2c_readbyte(ackflag);

 }

drv_i2c_stop();

 రిటర్న్ రెట్;

 }

 

శూన్యం TRS55D_IIC_Write(uint8_t addr_dev, uint8_t addr_reg, uint8_t *buf, uint16_t కౌంట్)

 {

 uint16_t i = 0;

drv_i2c_start();

drv_i2c_select_dev(addr_dev,DRV_I2C_OPWR);

drv_i2c_writebyte (addr_reg);

 కోసం (i = 0; i <కౌంట్; i ++)

 {drv_i2c_writebyte(buf[i]);

}

drv_i2c_stop();

}

 టైప్‌డెఫ్ యూనియన్{

int16_t i16;

uint16_t u16;

నిర్మాణం {

uint8_t u8l;

uint8_t u8h;

 }అన్;

}uu16_t;

 

టైప్‌డెఫ్ యూనియన్{

int32_t i32;

నిర్మాణం {

uint8_t u8b0;

uint8_t u8b1;

uint8_t u8b2;

uint8_t u8b3;

}అన్;

 }uu32_t;

 

స్టాటిక్ చార్ బఫర్[264];

 uu32_t tobj, tamb_cal;

 

uu32_t vtp_cor;

ఫ్లోట్ vtp_uv_f = 0.0;

ఫ్లోట్ vtp_cor_f = 0.0;

ఫ్లోట్ tambf = 0.0; ఫ్లోట్ tobjf = 0.0;

 ఫ్లోట్ tbdyf = 0.0;

 శూన్యం TRS55D_read(శూన్యం)

{

uint8_t rbuf[4];

uint8_t raddr,rdat;

 uint8_t waddr = 0x0, wdat = 0x0;

పూర్తి సమయం ముగిసింది=0;

 

waddr = 0x30;

wdat = 0x09;

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

 //మార్పు ఆలస్యం_ms(100);

 

// మార్పిడి కోసం వేచి ఉండండి

raddr = 0x03;

చేయండి {

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

} అయితే(((rdat == 0xFF) || (!(rdat & 0x30))) && సమయం ముగిసింది++ < 200);

raddr = 0x02;

 చేయండి {

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

} అయితే((rdat == 0xFF) || (!(rdat & 0x0B))) && సమయం ముగిసింది++ < 200);

 

 // క్రమాంకనం తర్వాత వోల్టేజ్ విలువ

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];

 ఉంటే (vtp_cor.un.u8b2 & 0x80) {vtp_cor.un.u8b3 = 0xFF;

}లేకపోతే {

vtp_cor.un.u8b3 = 0x00;

సరిచేసిన తర్వాత // vtp

}

vtp_cor_f = (ఫ్లోట్) vtp_cor.i32/524288.0;

vtp_cor_f *= 1000;

// అమరిక తర్వాత పరిసర ఉష్ణోగ్రత విలువ

 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 = (ఫ్లోట్) tamb_cal.i32 / 16384.0; // పరిసర ఉష్ణోగ్రత

 

// క్రమాంకనం తర్వాత వస్తువు (ఉపరితల) ఉష్ణోగ్రత

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 = (ఫ్లోట్) tobj.i32 / 16384.0;

// వస్తువు (ఉపరితల) ఉష్ణోగ్రత

 

// బాడీటెంప్ పొందండి

tbdyf = get_body_temp(tambf,tobjf); // బాడీ టెంప్ పొందండి

 

// uart sprintf(buffer, "tamb = %.2f, vtp_cor = %.2f, tobj = %.2f, tbdy = %.2f", tambf, vtp_cor_f, tobjf, tbdyf పై డిస్ప్లే); uartSendString(buffer);

 

// ఓల్డ్‌లో ప్రదర్శన

 ఫ్లోట్ వాల్స్[4] = {tambf, vtp_cor_f, tobjf, tbdyf+0.05};

 OLED_ShowBNum (64, 0, vals[0], 4, 16, 1); // టాంబ్

OLED_ShowBNum (48, 16, విలువలు[1], 6, 16, 1); // vtp

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

OLED_ShowBNum (64, 32, విలువలు[2], 4, 16, 1); // టోబ్జ్

OLED_ShowBNum (64, 48, విలువలు[3], 4, 16, 1); // Tbdy

}

సంబంధిత సిఫార్సులు
WhatsApp

సేవా హాట్‌లైన్

ఫోన్: +86 755 83044319

WhatsApp

WhatsApp: + 8618073002950