萨科微SL-W-TRS-5.5Dx数字红外热电堆demo板使用教程
深圳市萨科微SLKOR(WWW.SLKORMICRO.COM)半导体有限公司技术骨干来自清华大学和韩国延世大学,以新材料新工艺新产品引领公司发展,较早就掌握国际领先的第三代半导体碳化硅功率器件技术。萨科微集电子产品的设计开发、生产和销售一体化的高新科技企业,为客户提供可靠的产品和配套的技术服务,“slkor”逐渐发展成为国际知名品牌,为全世界超过10000家客户提供产品和解决方案。为了努力为客户提供全系列的配套产品,萨科微推出一系列数字红外热电堆非接触测温应用设计demo板使用教程。
1.1名称:
萨科微数字红外热电堆非接触测温应用设计demo板使用教程
1.2应用:
智能可穿戴设备、智能手机、工业温度监测、非接触表面人体测温、智能温度感应与控制等近距离测温尺寸较小的设备
1.3萨科微SL-W-TRS-5.5Dx系列demo板:
用于对各型号传感器进行评估测试。测 量结果会在屏幕上显示,并可以通过 USB 转串口打印到 PC 端串口调试软件。按键说明:左侧按键为复位,右侧按键可以控制程序启动、暂停。
2.萨科微SL-W-TRS-5.5Dx系列硬件设计
芯片引脚包含电源、I2C 总线共 4 个管脚,供电电压允许范围为 2.3~3.6V。传感器本身功耗很低,电源地之间使用一颗 0.1uF 电容即可,如果传感器离供电部分比较远,可以考虑增 加一个10uF 电容,以保证电源稳定降低噪声。
3.萨科微(www.slkoric.com)SL-W-TRS-5.5Dx系列demo板说明
3.1
demo 板通过 Type-C 插座供电,demo 板供电电压为 5V。使用时将 demo 板通过 Type-c 连接至 PC 端,即可从屏幕上查看结果。如需串口显示数据,需安装沁恒 CH340 驱动程序然后使用串口调试软件进行操作,串口通信设置为: 波特率:9600 数据位:8 停止位:1 无奇偶校验
3.2 demo 板屏幕显示从上到下依次是:
环境温度(tamb)、传感器输出电压(vtp_cor)、 物体(表面)温度(tobj)、人体温度(tbdy)。上述数值温度单位为℃,电压单位为 uV。 其中前三个值为器件原始输出,体温值使用我司算法根据原始值计算得到,仅供参考,用户可以根据需要使用自家体温算法来处理数据。
3.3萨科微SL-W-TRS-5.5Dx系列demo板程序示例
// main.c
//////
#define FOR_CUSTOMER
#ifdef FOR_CUSTOMER
#include "drv_uart.h"
#include "drv_i2c.h"
#include "drv_key.h"
#include "oled/oled.h"
#include "trs55d.h"
extern void SystemCoreClockUpdate(void);
extern void delay_ms(int cnt);
int main(void)
{
uint8_t key;
uint8_t run = 0x01;
SystemCoreClockUpdate();
if (SysTick_Config(SystemCoreClock / 1000))
while(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 Demo program\r\n");
while(1) {
key = drv_key_read();
while(drv_key_read());
if (key) {
run = (run)?0:1;
}
if (run) {
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 void TRS55D_read(void);
#endif
//////////////////////////////////////////////////////////////////////////////////////////////////////
// trs55d.c
//////
#include
#include "drv_i2c.h"
#include "trs55d.h"
#include "body_temp.h"
extern uint8_t uartSendString(const char* buf);
extern void OLED_ShowString(uint8_t x,uint8_t y, const char *chr,uint8_t size1,uint8_t mode);
extern void OLED_ShowBNum(uint8_t x,uint8_t y,float num,uint8_t len,
uint8_t size2,uint8_t mode); 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; buf[i]
= drv_i2c_readbyte(ackflag);
}
drv_i2c_stop();
return ret;
}
void 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);
for (i = 0; i < count; 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;
static char buffer[264];
uu32_t tobj, tamb_cal;
uu32_t vtp_cor;
float vtp_uv_f = 0.0;
float vtp_cor_f = 0.0;
float tambf = 0.0; float tobjf = 0.0;
float tbdyf = 0.0;
void TRS55D_read(void)
{
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 conversion delay_ms(100);
// waite for conversion over
raddr = 0x03;
do {
TRS55D_IIC_Read (ADDR_TRS55D, raddr, &rdat,1);
} while(((rdat == 0xFF) || (!(rdat & 0x30))) && timeout++ < 200);
raddr = 0x02;
do {
TRS55D_IIC_Read (ADDR_TRS55D, raddr, &rdat,1);
} while(((rdat == 0xFF) || (!(rdat & 0x0B))) && timeout++ < 200);
// voltage value after calibration
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];
if (vtp_cor.un.u8b2 & 0x80) { vtp_cor.un.u8b3 = 0xFF;
}else {
vtp_cor.un.u8b3 = 0x00;
// vtp after corrected
}
vtp_cor_f = (float)vtp_cor.i32/524288.0;
vtp_cor_f *= 1000;
// ambient temperature value after calibration
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 = (float)tamb_cal.i32 / 16384.0; // ambient temperature
// object(surface) temperature after calibration
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 = (float)tobj.i32 / 16384.0;
// object(surface) temperature
// get bodytemp
tbdyf = get_body_temp(tambf,tobjf); // get bodytemp
// display on uart sprintf(buffer, "tamb = %.2f, vtp_cor = %.2f, tobj = %.2f, tbdy = %.2f\r\n",\ tambf, vtp_cor_f, tobjf, tbdyf); uartSendString(buffer);
// display on 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
}
- |
- +1 赞 0
- 收藏
- 评论 0
本文由唯独你没懂转载自SLKOR官网,原文标题为:萨科微SL-W-TRS-5.5Dx数字红外热电堆demo板使用教程,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关推荐
【经验】如何在Simplicity Studio V5软件上使用AoA Analyzer测试DEMO板BRD4185A
由于新版本的AoA Analyzer默认配置是用于适配最新的蓝牙AoA基站DEMO板BRD4191的,所以会出现定位角度不准以及误差大的问题,本文指导如何将AoA Analyzer配置为适配BRD4185A。
【经验】唯创知音16位DSP语音芯片WT588F02B-8S DEMO板如何更新
WT588F02B-8S是唯创知音最新研发的一款16位DSP语音芯片、内置16位的PWM解码,区别于传统OTP芯片,最大的突破是客户可以自己通过配套下载器实现在线更换芯片内部语音内容。本文将介绍唯创知音WT588F02B-8S DEMO板如何更新。
【经验】CS32F030 demo板使用PA2、PA3做ADC输入引脚无法获取正确ADC值的原因及解决办法
在使用芯海科技32位MCU CS32F030的demo板EVB-32F03X-START跑ADC的Demo程序时,如果使用PA2、PA3作为ADC的输入引脚,则会出现无法正确得到ADC结果的问题,得到的ADC结果是浮动的。本文主要介绍此问题的原因及解决办法。
SL-W-TRS-5.5Dx数字红外热电堆芯片,提供用于串行通信的I2C通讯协议,测量温度-40~+530℃
萨科微推出了SL-W-TRS-5.5Dx数字红外热电堆芯片,用于医疗和智能设备中的非接触测温。这款芯片能在-40℃至130℃环境下工作,测量范围宽达-40℃至530℃。萨科微是一家专注于功率器件和智能传感器的高新技术企业,其产品服务于多个行业。
智能手机使用FM接收器Si4705,FM接收灵敏度差,接收空中信号少,只有5~6个电台,对比机器能停十几个电台,怎样解决?
该问题通过以下四点解决:1、FM信号直接从Si4705 FMI管脚灌入测试音频信噪比62dB,灵敏度0dBuV@30dB SNR;2、将RF信号从耳机座灌入Audio Return信号线,灵敏度为16dBuV;3、检查硬件设计,耳机输入电路采用了模拟开关来切换音频返回通道和MIC IN麦克风输入通道。由于模拟开态输入电容为118pF且共连接有6个端口,对地较大的电容使FM频段信号对地阻抗较低,对信号产生了较大的衰减作用。去掉切换芯片直接把信号短路进来,FM灵敏度提升了10dB达到6dBuV;4、耳机靠TIP端两极信号为R/Lout左右声道输出,在欧/美标耳机切换时是固定不变化的。使用其中一条信号线做FM输入,测试FM灵敏度进一步提升到1~2dBuV,实际空中电台停台与DEMO板一致,可停45个电台,FM停台少问题得到解决。
TE Connectivity(泰科TE) 无线传感器开发板V1.1 WPP100B009/WPP109B009数据手册
描述- 本资料介绍了TESS无线传感器标签Demo V1.1,一款基于2.4GHz无线通信协议的低功耗传感器标签。该标签可测量湿度、温度和气压,并可通过智能手机或平板电脑应用程序显示数据。它采用MEAS低功耗数字组件传感器HTU21D(F)和MS5637,适用于智能建筑、智能家居等领域。
型号- WPP100B009,WPP109B009
高效、安全、简单恩智浦智能电源解决方案选型指南
描述- NXP的GreenChip电源产品系列旨在提供更智能、更高效的电源解决方案。该指南详细介绍了NXP的AC-DC转换器和可用演示板,涵盖了从15W到240W不同功率范围的解决方案,适用于计算、游戏、显示、便携式设备等多种应用。指南还包括配套IC和在线设计工具,以简化设计过程。
型号- TEA1708DB1168,TEA1833DB1361,TEA1936XDB1463,TEA1998DB1453,TEA1999DB1546,TEA1755DB1100,TEA1716DB1255,TEA1993DB1357,TEA1999DB1504,TEA1936XDB1475,TEA1936XDB1530
AS5600参考板演示套件手册
描述- 本手册介绍了如何使用ams POS-IoT-DK演示套件。该套件是ams磁位置传感器的演示套件,允许展示ams AS5600旋转位置传感器与RF数字的Simblee蓝牙模块结合使用的所有功能。演示套件由CR2032电池供电,包括演示PCB、塑料磁体支架、旋转磁体旋钮和移动应用程序,通过智能手机可实现对传感器的完全访问。连接Demo PCB与智能手机后,可以读取和写入AS5600的所有寄存器。该演示展示了如何通过RF数字的蓝牙模块,使用移动设备轻松访问ams磁位置传感器。软件包括Simblee应用程序(适用于iOS和Android)和POS-IoT-DK GUI(使用AS5600)。
型号- CR2032,AS5600-POS-IOT-DK-GUI,AS5600,POS-IOT-DK
蓝牙基础数据演示
描述- 本资料介绍了MPLAB Harmony软件中包含的蓝牙基础数据传输演示。该演示支持全双工数据传输,允许用户通过蓝牙连接从Android智能手机终端仿真并回显字符至开发板,再返回至智能手机仿真应用程序屏幕。资料提供了MPLAB Harmony软件的下载链接和安装路径信息。
型号- MPLAB
FRDM-KW40Z演示应用程序用户指南
描述- 本指南详细介绍了NXP Semiconductors的FRDM-KW40Z演示应用的功能和特性。该应用通过蓝牙低能耗(BLE)与智能手机应用程序通信,允许用户控制开发板上的所有功能。指南涵盖了LED控制、输入报告、蜂鸣器控制、芯片温度、电位计、加速度计、电子罗盘和遥控器等八个传感器/接口的使用说明。此外,还包括了如何配置跳线、连接应用程序以及如何使用智能手机应用程序与FRDM-KW40Z板进行交互的详细步骤。
型号- FRDM-KW40Z,FXOS8700CQ,MKW40Z
英诺赛科(Innoscience)高性能国产氮化镓引领快充革命
描述- 本文探讨了智能手机充电器的发展趋势,从早期的小功率充电器到如今的高功率快充技术。文章详细介绍了充电器功率的演变过程,包括不同代际的快充技术,如高通QC1.0、OPPO的快充技术等。此外,文章还重点介绍了氮化镓(GaN)技术在快充领域的应用,包括其功率密度、效率、体积减小等方面的优势,以及英诺赛科(InnoGaN)在该领域的研发成果和产品线。最后,文章对比了英诺赛科与国际行业巨头的工艺及商业模式,并展示了部分客户量产案例。
型号- DMB005,DMB002,DMB001,DMB004,DMB003
iCE40 Ultra手电筒演示™ 可穿戴开发平台用户指南
描述- 本指南介绍了如何使用iCE40 Ultra™可穿戴开发平台创建一个手电筒演示。内容包括硬件要求(如iCE40 Ultra开发平台、Android智能手机等)、软件要求(如Lattice Diamond®程序员软件、Android apk文件等)、跳线设置、下载位流到iCE40 Ultra开发平台、安装FlashlightDemo.apk到Android手机、连接iCE40 Ultra开发板到Android手机以及演示步骤。
型号- ICE40
STM32CubeWB Nucleo演示固件
描述- 本资料介绍了STM32CubeWB Nucleo演示固件,该固件基于STM32Cube硬件抽象层(HAL)和底层(LL)API,以及板级支持包(BSP)组件。它展示了如何使用STM32WB系列微控制器实现蓝牙低能耗(BLE)的P2P连接,包括Nucleo-68板和USB Dongle板之间的通信,以及与ST BLE传感器智能手机应用程序的连接。此外,资料还提供了OTA固件更新的说明和编程固件应用程序的步骤。
型号- STM32CUBEWB,STM32CUBEMONPWR,STM32,TM32CUBEIDE,STM32WB,STM32CUBE,STM32CUBEPROG
RX95HF NFC收发器评估套件
描述- 本资料介绍了EVAL-RX95HF评估套件,用于评估RX95HF NFC收发器的功能和性能。该套件支持NFC标签仿真,可通过NFC读取器/写入器(如NFC智能手机、DEMO-CR95HF-A板)交换NDEF消息(URI、VCARD、URL)或专用数据。套件包含RX95HF收发器、13.56 MHz感应天线及其调谐组件,并与STM32F103RF 32位MCU通过SPI总线通信。资料还提供了硬件描述、电气原理图和快速入门指南。
型号- EVAL-RX95HF
电子商城
现货市场
服务
可定制温度范围-230℃~1150℃、精度可达±0.1°C;支持NTC传感器、PTC传感器、数字式温度传感器、热电堆温度传感器的额定量程和输出/外形尺寸/工作温度范围等参数定制。
提交需求>
提供稳态、瞬态、热传导、对流散热、热辐射、热接触、和液冷等热仿真分析,通过FloTHERM软件帮助工程师在产品设计初期创建虚拟模型,对多种系统设计方案进行评估,识别潜在散热风险。
实验室地址: 深圳 提交需求>
登录 | 立即注册
提交评论