简简单单做个USB温度传感器
本帖最后由 晓飛飛 于 2024-3-28 15:05 编辑温度传感器是非常常用的设备,但是低成本的USB温度传感器似乎没什么人搞,正好项目集成需要,随手搞了一个,主打一个尺寸迷你结构简单。
MCU选型原则,成本低,尺寸小,支持USB,目前STC8H2K08U只有TSSOP20封装的,希望将来能出QFN20封装的,那估计会是STC尺寸最小成本最低的USB单片机了。目前只能选择STC8H8K64U-QFN32了。
非常感谢STC提供的芯愿兑换活动,正好兑换了5片,坚决不能浪费!用起来!
原理图很简单,除了USB接口的P3.0和P3.1只用了两个IO,那就是支持Timer0外部时钟输入的P3.4和触发USB-ISP下载模式的P3.2。
传感器选了国产纳芯微的脉冲数字传感器NST1001,温度数据由脉冲数量来计算,一个脉冲表示0.0625℃,一次采集发1k多个脉冲,用T0的计数模式妥妥的靠谱。
麻雀虽小五脏俱全,该有的防护不能少,自恢复保险、33欧电阻和ESD二极管通通搞上去,毕竟不能因为细节掉了档次。
本次采用立创EDA设计输出打板,手工焊接,不得不说QFN32还是挺好焊的,只要烙铁头给力,没有什么困难的事情。
壳子还没加工回来,套个王八绿的热缩管凑合用,测个腋下体温,曲线还是蛮好的。
传感器采集时间由Timer1周期性中断触发,及驱动代码如下:
void Timer1_Isr(void) interrupt 3
{
static bit state;
static u8 loop;
if(++loop > 5) //软定时器 产生50ms周期
{
loop = 0;
if(state)
{
state = 0;
NST_PORT = 1; //端口置高电平为传感器供电
NOP10();
TH0 = 0; //清空计数器
TL0 = 0; //清空计数器
TR0 = 1; //启动计数
}
else
{
state = 1;
NST_PORT = 0; //端口置低电平 传感器断电
TR0 = 0;
temp_cont = (TH0 << 8) | TL0;
temp_sum = (float)(temp_cont) *0.0625 - 50.0625; //10次采集值累加
temp_value =(int)(((temp_sum-30) * 0.005 + temp_sum)* 100);
updata_flag = 1;
}
}
}数据帧结构为帧头、数据、 校验、帧尾的自定义格式
数据帧包含了解算好的温度值,这里乘了100,可以用整型表示到小数点后2位,同时包含了传感器脉冲数,便于调试。
out_buf = 0xAA;
out_buf = 0x20;
out_buf = (u8)(temp_value >> 8);
out_buf = (u8)(temp_value & 0xff);
out_buf = (u8)(temp_cont >> 8);
out_buf = (u8)(temp_cont & 0xff);
out_buf = out_buf ^ out_buf^ out_buf ^ out_buf ^ out_buf ^ out_buf;
out_buf = 0xFF;
USB_SendData(&out_buf,8);
本帖最后由 STCAI-32位8051 于 2024-3-28 15:28 编辑
收到,学习,感谢,家里就下面这些好东西,
还是 【免费+包邮】送您:
1, STC32G12K128实验箱
2, STC8H8K64U实验箱
3, STC一箭双雕之USB转双串口
4, 开天斧-STC8H8K64U核心功能实验板
5, 屠龙刀-STC8H8K64U核心功能实验板
6, STC-USB Link1D
===家里就这些好东西了,如有需要可以任选一款【免费+包邮】送您,聊表谢意
加STC华东区客服聂经理QQ:2593903262;微信:18106296598要求 【免费+包邮】 送
这个画曲线的软件能分享一下吗,去他们官网找了半天没找到 wangxiangtan 发表于 2024-3-28 15:44
这个画曲线的软件能分享一下吗,去他们官网找了半天没找到
这个软件是我们内部测试软件,暂不免费提供,你可以用STC-ISP自带的串口绘图工具,也很方便的。 曲线图的软件不错… 本帖最后由 STCAI-32位8051 于 2024-3-30 10:16 编辑
【新提醒】视频讲解:串口绘图功能、串口助手高级应用、STC8库函数|串口库函数功能介绍 - 串行口,DMA支持的4组串口,RS232,RS485 - 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区https://www.stcaimcu.com/forum.p ... e=0&extra=#pid26425
【 】串口绘图,STC-ISP V6.94,效果非常好,用于曲线监控最好不过了 - 第7页 - 字库生成,图片取模,串口绘图,串口助手,虚拟硬件 - 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区https://www.stcaimcu.com/forum.php?mod=viewthread&tid=2277&highlight=%E4%B8%B2%E5%8F%A3%E7%BB%98%E5%9B%BE&page=7&extra=#pid26977
实际使用的封装不是QFN32,这个要热风枪或铁板烧才行,从图片上看LQFP32,比LQFP48好焊多了。 用8K64U是不是有点奢侈。{:4_249:} yjawei 发表于 2024-3-30 11:31
用8K64U是不是有点奢侈。
想想上面带个USB,不知道方便了多少,也就不奢侈了. {:4_250:}学习了