0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于单片机实现智能传感器系统

454398 2023-02-01 17:28 次阅读

近年来随着传感器技术和信息处理技术的快速发展,工程应用中对传感器的测量精度、数据传输距离和信息处理能力都提出了更高的要求。为了克服普通力敏、光敏传感器抗干扰能力差、传输距离短、调零难、测量节点无法直接与上位机通信等缺点,本文设计了一种以 Freescale MC9S08SH4 单片机AD7705 为核心构成的智能传感器系统,在普通传感器上增加了软件调零、浮点数据处理、自动补偿、与上位机双向通讯、标准化数字输出等功能,可以很方便地实现上位机对数据的实时采集和处理,并具有测量精度高、结构紧凑、抗干扰能力强等特点。

1、系统组成
智能传感器系统由信号调理电路、A/D 转换电路、主控电路、调零电路、RS-485 通信电路和电源电路等模块组成。其中信号调理模块负责对传感器输出的 mV 级差分信号进行调理和放大;A/D 转换模块将信号调理模块输出的模拟信号转换为数字信号MCU 处理;调零模块可以在任意时刻将当前的输入值设置为参考零点;RS-485 通信模块实现主控电路与上位机之间的通信;电源模块为主控电路、传感器、信号调理模块和 RS-485 通信模块提供电源。系统结构如图 1 所示。

2、功能模块设计

2.1 信号调理和 A/D 转换模块

传感器的输出信号一般为 mV 级的差分信号,传统的信号调理电路是在 A/D 转换前加一级或多级高精度的放大电路,这样不但增加了成本,电路也较为复杂。而 AD7705 具有完整的模拟前端,内置增益可编程放大器(PGA)和可编程数字滤波器,能直接对传感器输出的 mV 级信号进行调理、滤波、放大和 A/D 转换,然后串行输出,无需使用外部仪表放大器,极大地简化了电路设计

AD7705 的 A/D 转换功能也很强,其采用的Σ-Δ转换技术最高可实现 16 位无误码传输。在本次设计中,AD7705 的两个全差分模拟输入通道可以同时满足两路传感器输出信号的输入,通过软件编程可以方便地对信号增益、极性、输入通道、数据输出更新率和数字滤波器进行设置。AD7705 电路模块如图 2 所示。其中,传感器输出信号直接接入 AD7705 的差分模拟输入通道 AIN1 端。

2.2 主控模块

智能传感器系统的主控 MCU 选用的是 MC9S08SH4,属于 Freescale 公司 S08 系列 8 位单片机,具有体积小、速度快,片上资源丰富、数据处理能力强等特点。其最大时钟频率为 20 MHz,片上资源包括 4 KB Flash、512 B RAM、8 路键盘中断、SCI 接口、SPI 接口、IIC 总线等模块,采用 TSSOP16 封装,尺寸很小,非常适用于本系统。为了尽量减小电路板面积,本次设计中 MC9S08SH4 的编程接口没有使用标准的 6 芯 BDM 接口,而采用自定义的 4 芯接口,最小系统如图 3 所示。

2.3 调零模块

调零模块有两个作用,一是在每次测量前让传感器归零,二是在测量过程中即时设置参考零点。

传统的机械调零方法是在电路中增加一个电位器,利用改变分压值的方法进行调零。这种方法调节速度很慢,准确性也比较差。本设计中采用的是软件调零方法,首先利用键盘中断采集传感器零输入时的 A/D 转换结果作为参考零点,并存放到一个全局变量中;以后每次 A/D 转换的值都与全局变量中的参考零点相比较,即可得到校正后的结果。软件调零方法准确度高、调节速度非常快,特别适用于在测量过程中即时设置参考零点。

2.4 RS-485 通信模块

系统与上位机之间的通信采用 RS-485 通信协议。在实际应用中,一台上位机需要拖挂多个传感器,并且对传输距离有较高的要求。RS-485 串行总线接口采用平衡发送和差分接收的方式进行数据通信,较 RS-232 提高了抗共模干扰能力和传输距离;并且 RS-485 总线能用于多个带有 RS-485 接口的设备互连,实现数据的高速远距离传送。本系统中采用的 RS-485 通信芯片为 MAX1487,输入口 DI 和输出口 RO 分别和 MC9S08SH4 的串行数据发送端 TXD 和串行数据接收端 RXD 相连。读写使能端连接在一起,由 MC9S08SH4 的 PTA1 引脚控制。当 PTA1 输出高电平时,传感器系统向上位机发送数据;当 PTA1 输出低电平时,传感器系统从上位机接收数据,如图 4 所示。

2.5 电源模块

电源模块采用 24 V 直流输入,除了为传感器预留 24 V、12 V 供电接口外,还为 AD7705、MAX1487、MC9S08SH4 提供 5 V 工作电压。为使系统结构紧凑、体积小,电源模块中使用的稳压芯片为小电流的 78L12、78L05 和 LM1117(SOT-223 封装)各一片。经现场测试后发现,由于系统功率很小,所以电源模块发热量并不大,能够保证长时间稳定工作。

3、软件设计

软件设计部分主要包括 MC9S08SH4 初始化、A/D 转换结果的中值滤波和均值滤波、设置参考零点进行数据校正、数据的浮点化处理、校对数据帧格式、通过 SCI 模块和 RS-485 通信模块将数据帧发送到上位机。具体流程如图 5 所示。

上位机软件采用 LabVIEW 结合 SQL 编写,通过串口和 RS485 通信协议对智能传感器系统的运行状态进行监控,必要时上位机软件可以重新设置数字传感器的通信地址、A/D 转换位数、数据帧格式和串口波特率等参数,并将采集到的运行数据存储在数据库中,便于日后分析整理。

本设计实现的基于 Freescale MC9S08SH4 和 AD7705 的智能传感器系统,充分利用 MC9S08SH4 体积小、速度快,片上资源丰富、数据处理能力强等特点,结合 AD7705 内置的信号处理电路和高精度?撞 -?驻 A/D 转换器,在普通传感器上增加了软件调零、浮点数据处理、多点测量、RS-485 双向通信、标准化数字输出等功能,克服了普通力敏、光敏传感器数据传输距离短、零点调节困难、测量节点无法直接与上位机通信、抗干扰能力差等缺点。经现场测试,该系统具有体积小、测量精度高、运行稳定可靠等优点。

审核编辑黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电源
    +关注

    关注

    182

    文章

    16560

    浏览量

    244809
  • 传感器
    +关注

    关注

    2525

    文章

    48137

    浏览量

    740239
  • 模块
    +关注

    关注

    7

    文章

    2486

    浏览量

    46559
  • 通信
    +关注

    关注

    18

    文章

    5706

    浏览量

    134424
  • 转换
    +关注

    关注

    0

    文章

    100

    浏览量

    29681
收藏 人收藏

    评论

    相关推荐

    CW32单片机智能马桶的应用介绍

    智能科技的迅速发展使得我们的日常生活变得更加便捷和舒适。智能马桶作为其中一种智能家居产品,通过单片机接受和处理来自传感器的数据,然后通过控制
    发表于 12-20 10:06

    51单片机里的烟雾传感器功能设计怎么做?

    51单片机里的烟雾传感器功能设计怎么做????
    发表于 11-07 06:44

    最新型32位单片机RX140帮您轻松实现电容式触控传感器的初步评测

    最新型32位单片机RX140帮您轻松实现电容式触控传感器的初步评测
    的头像 发表于 10-26 18:42 420次阅读
    最新型32位<b class='flag-5'>单片机</b>RX140帮您轻松<b class='flag-5'>实现</b>电容式触控<b class='flag-5'>传感器</b>的初步评测

    雨量传感器的输出信号是开关信号?请问单片机怎么采集?

    雨量传感器的输出信号是开关信号?请问单片机怎么采集? 还有我的单片机的AD采样,正常采集模拟信号,如果采集开关信号,会不会影响到AD的正常采集
    发表于 10-26 07:06

    人体传感器单片机一直输出高电平为什么?

    人体传感器。默认无人输出低电平,检测到人高电平,输出直接连接单片机后,一直是高电平,无人的时候也无法拉低单片机IO。是为什么?传感器电平输出电流200UA,和这个有关系吗。直连不行 加
    发表于 10-23 06:24

    51单片机32个io口能全部接数字量传感器吗 ?

    小萌新想问问89c52单片机32个io口可以全部连接上数字量传感器吗,每个传感器就一条输入信号线,单片机扫描一下每个io口的电平就实现目的了
    发表于 10-08 06:05

    请问51单片机怎么接PT100温度传感器

    51单片机怎么接PT100温度传感器
    发表于 10-07 08:05

    单片机如何实现语音播报温度?

    单片机通过温度传感器采集到温度后,怎样通过语音模块播报出来,用什么语音模块比较好。温度不是固定的,要怎样去实现语音播报?
    发表于 09-27 06:18

    STC89C52单片机最小系统的设计方案

    单片机最小系统设计主要在STC89C52单片机上,用MAX23芯片实现串口程序下载,用HD7279A片驱动4*4键盘和8位数码管显示,用DS1302
    发表于 09-25 08:06

    基于单片机AT89C51的室内灯光控制系统的研究和开发

    本篇论文介绍了就是基于单片机AT89C51的室内灯光控制系统的研究和开发。本系统是以单片机为控制的核心,本
    发表于 09-25 08:03

    STM32单片机实现智能家居控制系统的方案

    详细介绍的是使用STM32单片机实现智能家居控制系统的方案介绍和源代码等资料合集
    发表于 09-25 06:23

    基于AT89S51单片机实现教室灯光智能控制系统的设计

    针对教室灯光的控制,分析了教室灯光智能控制的原理和实现方法,提出了基于单片机设计教室灯光智能控制系统的思路,并在此基础上开发了
    发表于 09-20 06:06

    无线传感器网络在智能家居系统中的应用介绍

    问题,将会使得智能家居系统实现真正的“智能”,同时也使得无线传感器网络的应用范围进一步扩大.智能
    发表于 09-19 06:02

    智能传感器简介(2)#单片机

    电路单片机转换
    未来加油dz
    发布于 :2023年08月01日 21:32:11

    基于51单片机智能风扇系统设计

    本项目为设计一个可以报警的智能温度显示系统,该系统单片机最小系统、oled显示屏电路、复位电路、 功能按键电路等组成。
    的头像 发表于 08-01 00:59 512次阅读
    基于51<b class='flag-5'>单片机</b>的<b class='flag-5'>智能</b>风扇<b class='flag-5'>系统</b>设计