找回密码
 立即注册
查看: 1089|回复: 43

简简单单做个USB温度传感器

[复制链接]
  • TA的每日心情
    开心
    8 小时前
  • 签到天数: 100 天

    [LV.6]常住居民II

    14

    主题

    390

    回帖

    944

    积分

    荣誉版主

    热心市民

    积分
    944
    发表于 2024-3-28 14:57:41 | 显示全部楼层 |阅读模式
    本帖最后由 晓飛飛 于 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还是挺好焊的,只要烙铁头给力,没有什么困难的事情。
    壳子还没加工回来,套个王八绿的热缩管凑合用,测个腋下体温,曲线还是蛮好的。

    SCH_USB Sensor_1-P1_2024-03-28.png
    3D_PCB1_2024-03-28.png
    微信图片_20240328142805.jpg
    微信图片_20240328142751.jpg
    111.png

    传感器采集时间由Timer1周期性中断触发,及驱动代码如下:
    1. void Timer1_Isr(void) interrupt 3
    2. {
    3.         static bit state;
    4.         static u8 loop;
    5.         if(++loop > 5)     //软定时器 产生50ms周期
    6.         {
    7.                 loop = 0;
    8.                 if(state)
    9.                 {
    10.                         state = 0;
    11.                         NST_PORT = 1;     //端口置高电平为传感器供电
    12.                         NOP10();                        
    13.                         TH0 = 0;          //清空计数器
    14.                         TL0 = 0;          //清空计数器                        
    15.                         TR0 = 1;          //启动计数
    16.                 }
    17.                 else
    18.                 {
    19.                         state = 1;
    20.                         NST_PORT = 0;      //端口置低电平 传感器断电
    21.                         TR0 = 0;
    22.                         temp_cont = (TH0 << 8) | TL0;
    23.                         temp_sum = (float)(temp_cont) *  0.0625 - 50.0625;           //10次采集值累加               
    24.                         temp_value =  (int)(((temp_sum-30) * 0.005 + temp_sum)* 100);
    25.                         updata_flag = 1;               
    26.                 }
    27.         }                        
    28. }
    复制代码
    数据帧结构为帧头、数据、 校验、帧尾的自定义格式
    数据帧包含了解算好的温度值,这里乘了100,可以用整型表示到小数点后2位,同时包含了传感器脉冲数,便于调试。

    1.             out_buf[0] = 0xAA;
    2.             out_buf[1] = 0x20;
    3.             out_buf[2] = (u8)(temp_value >> 8);
    4.             out_buf[3] = (u8)(temp_value & 0xff);
    5.             out_buf[4] = (u8)(temp_cont >> 8);
    6.             out_buf[5] = (u8)(temp_cont & 0xff);
    7.             out_buf[6] = out_buf[0] ^ out_buf[1]  ^ out_buf[2] ^ out_buf[3] ^ out_buf[4] ^ out_buf[5];
    8.             out_buf[7] = 0xFF;
    9.             USB_SendData(&out_buf[0],8);
    复制代码
    2 喜欢他/她就送朵鲜花吧,赠人玫瑰,手有余香!
    睁开眼睛做场梦~~~
    回复 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-1-24 13:08
  • 签到天数: 1 天

    [LV.1]初来乍到

    8

    主题

    657

    回帖

    1104

    积分

    超级版主

    积分
    1104
    发表于 2024-3-28 15:26:56 | 显示全部楼层
    本帖最后由 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  要求 【免费+包邮】 送


    STC官网:https://www.stcai.com/
    QQ:2593903262
    微信号:18106296598
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    慵懒
    13 小时前
  • 签到天数: 174 天

    [LV.7]常住居民III

    12

    主题

    352

    回帖

    1160

    积分

    金牌会员

    积分
    1160
    发表于 2024-3-28 15:44:32 | 显示全部楼层
    这个画曲线的软件能分享一下吗,去他们官网找了半天没找到
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    8 小时前
  • 签到天数: 100 天

    [LV.6]常住居民II

    14

    主题

    390

    回帖

    944

    积分

    荣誉版主

    热心市民

    积分
    944
     楼主| 发表于 2024-3-28 15:48:54 | 显示全部楼层
    wangxiangtan 发表于 2024-3-28 15:44
    这个画曲线的软件能分享一下吗,去他们官网找了半天没找到

    这个软件是我们内部测试软件,暂不免费提供,你可以用STC-ISP自带的串口绘图工具,也很方便的。
    睁开眼睛做场梦~~~
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 12:06
  • 签到天数: 64 天

    [LV.6]常住居民II

    2

    主题

    113

    回帖

    518

    积分

    高级会员

    积分
    518
    发表于 2024-3-30 07:26:50 来自手机 | 显示全部楼层
    曲线图的软件不错…
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-1-24 13:08
  • 签到天数: 1 天

    [LV.1]初来乍到

    8

    主题

    657

    回帖

    1104

    积分

    超级版主

    积分
    1104
    发表于 2024-3-30 09:49:54 | 显示全部楼层
    本帖最后由 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.p ... amp;extra=#pid26977


    STC官网:https://www.stcai.com/
    QQ:2593903262
    微信号:18106296598
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    13 小时前
  • 签到天数: 110 天

    [LV.6]常住居民II

    10

    主题

    583

    回帖

    926

    积分

    高级会员

    积分
    926
    发表于 2024-3-30 10:39:06 | 显示全部楼层
    实际使用的封装不是QFN32,这个要热风枪或铁板烧才行,从图片上看LQFP32,比LQFP48好焊多了。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    12 小时前
  • 签到天数: 60 天

    [LV.6]常住居民II

    0

    主题

    157

    回帖

    413

    积分

    中级会员

    积分
    413
    发表于 2024-3-30 11:31:45 | 显示全部楼层
    用8K64U是不是有点奢侈。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    21 小时前
  • 签到天数: 82 天

    [LV.6]常住居民II

    12

    主题

    460

    回帖

    1332

    积分

    荣誉版主

    积分
    1332
    发表于 2024-3-30 11:58:17 | 显示全部楼层
    yjawei 发表于 2024-3-30 11:31
    用8K64U是不是有点奢侈。

    想想上面带个USB,不知道方便了多少,也就不奢侈了.
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    14 小时前
  • 签到天数: 153 天

    [LV.7]常住居民III

    17

    主题

    594

    回帖

    630

    积分

    高级会员

    打工人

    积分
    630
    发表于 2024-3-30 12:02:46 | 显示全部楼层
    学习了
    打工人
    回复 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-17 21:46 , Processed in 0.075843 second(s), 68 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表