समाधान
समाधान

SL-W-TRS-5.5Dx डिजिटल इन्फ्रारेड थर्मोपाइल डेमो बोर्ड के लिए उपयोगकर्ता मैनुअल

2024-12-13 1848
SLKOR माइक्रो सेमिकोन कंपनी लिमिटेड, इसकी तकनीकी रीढ़ दक्षिण कोरिया के सिंघुआ विश्वविद्यालय और योनसेई विश्वविद्यालय से आती है। यह नई सामग्रियों, नई प्रक्रियाओं और नए उत्पादों के साथ कंपनी के विकास का नेतृत्व करता है, और अपेक्षाकृत जल्दी तीसरी पीढ़ी के सेमीकंडक्टर सिलिकॉन कार्बाइड पावर उपकरणों की अंतरराष्ट्रीय स्तर पर उन्नत तकनीक में महारत हासिल करता है।

 

SLKOR इलेक्ट्रॉनिक उत्पादों के डिजाइन, विकास, उत्पादन और बिक्री को एकीकृत करने वाला एक उच्च तकनीक उद्यम है। यह ग्राहकों को विश्वसनीय उत्पाद और संबंधित तकनीकी सेवाएं प्रदान करता है। ब्रांड "SLKOR" धीरे-धीरे एक अंतरराष्ट्रीय स्तर पर प्रसिद्ध कंपनी के रूप में विकसित हो गई है, जो दुनिया भर में 10,000 से अधिक ग्राहकों को उत्पाद और समाधान प्रदान करती है।

 

ग्राहकों को पूरक उत्पादों की पूरी श्रृंखला उपलब्ध कराने के प्रयास में, SLKOR डिजिटल इन्फ्रारेड थर्मोपाइल गैर-संपर्क तापमान माप अनुप्रयोग डिजाइनों के डेमो बोर्ड के लिए उपयोगकर्ता मैनुअल की एक श्रृंखला शुरू की है।

 

1.1 नाम: के लिए उपयोगकर्ता मैनुअल SLKOR डिजिटल इन्फ्रारेड थर्मोपाइल गैर-संपर्क तापमान माप अनुप्रयोग डिजाइन डेमो बोर्ड

1.2 अनुप्रयोगस्मार्ट पहनने योग्य उपकरण, स्मार्ट फोन, औद्योगिक तापमान निगरानी, ​​गैर-संपर्क मानव शरीर की सतह के तापमान माप, बुद्धिमान तापमान संवेदन और नियंत्रण और छोटी दूरी के तापमान माप के लिए अन्य छोटे आकार के उपकरण।

1.3 SL-W-TRS-5.5Dx सीरीज डेमो बोर्ड:

इसका उपयोग विभिन्न प्रकार के सेंसर के मूल्यांकन और परीक्षण के लिए किया जाता है। माप परिणाम स्क्रीन पर प्रदर्शित किए जाएंगे और उन्हें USB से सीरियल पोर्ट के माध्यम से पीसी पर सीरियल पोर्ट डिबगिंग सॉफ़्टवेयर पर प्रिंट किया जा सकता है। बटन विवरण: बायाँ बटन रीसेट के लिए है, और दायाँ बटन प्रोग्राम की शुरुआत और ठहराव को नियंत्रित कर सकता है।

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 है। उपयोग में होने पर, डेमो बोर्ड को टाइप-सी के माध्यम से पीसी से कनेक्ट करें, और फिर आप स्क्रीन पर परिणाम देख सकते हैं। यदि आपको सीरियल पोर्ट के माध्यम से डेटा प्रदर्शित करने की आवश्यकता है, तो आपको WCH CH340 ड्राइवर प्रोग्राम स्थापित करना होगा और फिर संचालन के लिए सीरियल पोर्ट डिबगिंग सॉफ़्टवेयर का उपयोग करना होगा। सीरियल पोर्ट संचार सेटिंग्स इस प्रकार हैं: बॉड दर: 9600, डेटा बिट्स: 8, स्टॉप बिट्स: 1, और कोई समता जाँच नहीं।

 

3.2 डेमो बोर्ड का स्क्रीन डिस्प्ले ऊपर से नीचे तक इस प्रकार है: परिवेश तापमान (tamb), सेंसर आउटपुट वोल्टेज (vtp_cor), ऑब्जेक्ट (सतह) तापमान (tobj), और मानव शरीर का तापमान (tbdy)। उपरोक्त तापमान मानों की इकाई °C है, और वोल्टेज की इकाई μV है। उनमें से, पहले तीन मान डिवाइस के मूल आउटपुट हैं। शरीर के तापमान का मान हमारी कंपनी के एल्गोरिदम का उपयोग करके मूल मानों के आधार पर गणना की जाती है और केवल संदर्भ के लिए है। उपयोगकर्ता अपनी आवश्यकताओं के अनुसार अपने स्वयं के शरीर के तापमान एल्गोरिदम का उपयोग करके डेटा को संसाधित कर सकते हैं। 

image.png 

सीरियल पोर्ट प्रदर्शन प्रभाव

 

 2। SL-W-TRS-5.5Dx श्रृंखला का डेमो बोर्ड प्रोग्राम उदाहरण

 

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

 // मुख्य.सी

 //////

 #परिभाषित करें FOR_CUSTOMER

 #ifdef ग्राहक के लिए

 #शामिल करें "drv_uart.h"

 

#शामिल करें "drv_i2c.h"

#शामिल करें "drv_key.h"

#शामिल करें "oled/oled.h"

#शामिल करें "trs55d.h"

 

बाहरी शून्य सिस्टमकोरक्लॉकअपडेट(शून्य);

बाहरी शून्य देरी_एमएस (int cnt);

 int मुख्य (शून्य)

{

uint8_t कुंजी;

 uint8_t रन = 0x01;

 सिस्टमकोरक्लॉकअपडेट();

यदि (SysTick_Config(SystemCoreClock / 1000))

जबकि(1);

 uartइनिट();

drv_i2c_init();

drv_key_init();

 

OLED_इनिट();

 OLED_रिफ्रेश();

OLED_क्लियर();

OLED_ShowString(8,0,"टैम्ब:",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_रिफ्रेश();

uartSendString("एसएल-डब्ल्यू-TRS-5.5Dx डेमो प्रोग्राम ");

जबकि(1) {

कुंजी = drv_key_read();

जबकि(drv_key_read());

अगर (कुंजी) {

 रन = (रन)?0:1;

}

अगर (रन) {

 टीआरएस55डी_रीड();

OLED_रिफ्रेश();

}

देरी_एमएस(20);

}

}

 

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

 //trs55d.h

 //////

#ifndef _TRS55D_H_

#define _TRS55D_H_

# शामिल

#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 शून्य TRS55D_read(शून्य);

#endif

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

// trs55d.सी

//////

# शामिल

 #शामिल करें "drv_i2c.h"

 #शामिल करें "trs55d.h"

 #शामिल करें "body_temp.h"

 बाहरी uint8_t uartSendString(const char* buf);

बाहरी void OLED_ShowString(uint8_t x,uint8_t y, const char *chr,uint8_t size1,uint8_t मोड);

 बाहरी शून्य OLED_ShowBNum(uint8_t x,uint8_t y,फ्लोट संख्या,uint8_t लंबाई,

uint8_t आकार2,uint8_t मोड); uint8_t TRS55D_IIC_Read(uint8_t addr_dev, uint8_t addr_reg,

uint8_t *buf, uint16_t गिनती)

{

uint8_t रिट;

uint8_t ackflag;

uint16_t i = 0;

drv_i2c_स्टार्ट();

drv_i2c_select_dev(addr_dev,DRV_I2C_OPWR);

 

drv_i2c_writebyte(addr_reg);

 drv_i2c_स्टार्ट();

drv_i2c_select_dev(addr_dev,DRV_I2C_OPRD);

for(i = 0; i < count; 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_स्टार्ट();

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 आरबीयूएफ[4];

uint8_t raddr,rdat;

 uint8_t waddr = 0x0, wdat = 0x0;

int टाइमआउट=0;

 

waddr = 0x30;

wdat = 0x09;

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

 //रूपांतरण प्रारंभ करें delay_ms(100);

 

// रूपांतरण की प्रतीक्षा करें

रेडर = 0x03;

करना {

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

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

रेडर = 0x02;

 करना {

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

} जबकि(((rdat == 0xFF) || (!(rdat & 0x0B))) && timeout++ < 200);

 

 // अंशांकन के बाद वोल्टेज मान

raddr = TRS55D_NORMAL_DATA1_MSB_R;

TRS55D_IIC_पढ़ें (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_पढ़ें (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 = (float)tamb_cal.i32 / 16384.0; // परिवेश तापमान

 

// अंशांकन के बाद वस्तु(सतह) का तापमान

raddr = TRS55D_NORMAL_Tobj_MSB_R;

TRS55D_IIC_पढ़ें (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(बफर, "tamb = %.2f, vtp_cor = %.2f, tobj = %.2f, tbdy = %.2f ", tambf, vtp_cor_f, tobjf, tbdyf); uartSendString(बफर);

 

// OLED पर प्रदर्शित करें

 फ्लोट वैल्स[4] = {tambf, vtp_cor_f, tobjf, tbdyf+0.05};

 OLED_ShowBNum (64, 0, वैल[0], 4, 16, 1); // टैम्ब

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

}

whatsapp

सेवा हॉटलाइन

tel: +86 755 83044319

WhatsApp

Whatsapp:+8618073002950