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 双向通信、标准化数字输出等功能,克服了普通力敏、光敏传感器数据传输距离短、零点调节困难、测量节点无法直接与上位机通信、抗干扰能力差等缺点。经现场测试,该系统具有体积小、测量精度高、运行稳定可靠等优点。

审核编辑黄宇

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

    关注

    185

    文章

    18986

    浏览量

    264558
  • 传感器
    +关注

    关注

    2578

    文章

    55516

    浏览量

    793988
  • 模块
    +关注

    关注

    7

    文章

    2849

    浏览量

    53443
  • 通信
    +关注

    关注

    18

    文章

    6450

    浏览量

    140270
  • 转换
    +关注

    关注

    0

    文章

    103

    浏览量

    30410
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    单片机多路数据采集系统的设计

    及原理 传感器装置将按照设定的方式传递模拟电量。模拟电量的生成方式较为复杂,可以简单的按照常规电量转化的方式加以处置,也可以按照非物理量的应用特征进行设计,使单片机的多路数据采集系统可以完整结合信息资源
    发表于 01-07 06:44

    单片机系统设计方法

    现阶段,单片机系统在军事、民用、工业产品中的应用越来越广泛.其硬件实现的功能是由软件来完成,体积小巧、功能丰富、智能化程度高,而单片机最为显
    发表于 01-06 06:23

    CW32单片机如何让生活更便捷

    这是一种全新的生活方式,它通过接收并处理传感器的数据,以控制智能马桶的所有功能。感谢CW32单片机,我们可以在日常生活中无缝地融入这种新的科技。 决定我们如何生活的,已经不再只是我们的选择,更是我们
    发表于 12-11 06:11

    CW32单片机智能马桶的应用

    1.温度感应与控制 智能马桶内设有温度传感器,通过CW32单片机的处理,可以实时感知到用户所需的座圈温度并根据用户的设定进行调节。当温度过高或过低时,单片机将发出信号,通过控制模块对座
    发表于 12-04 08:01

    单片机系统硬件的调试方法

    单片机系统硬件调试,通常有静态调试和动态调试两种不同,前者是通过目测、万能表测试、加电检查、联机检查的方法,在加电于样机之前.对样机的型号规格,以及安装要求等进行核对,同时检查 电源 系统.防止
    发表于 12-03 06:10

    浮思特 | 智能洗衣背后的静默力量,ABOV单片机如何实现精准控制?

    ABOV(现代单片机)的长期合作代理商,浮思特科技希望通过本次技术分享,让大家了解ABOV单片机在洗衣控制中的关键技术实现。现代洗衣是一
    的头像 发表于 10-16 09:52 781次阅读
    浮思特 | <b class='flag-5'>智能</b>洗衣背后的静默力量,ABOV<b class='flag-5'>单片机</b>如何<b class='flag-5'>实现</b>精准控制?

    单片机原理及应用详解

    单片机(Microcontroller Unit, MCC)  是一种集成计算机核心功能(CPU、存储、I/O接口等)的微型芯片,广泛应用于嵌入式系统中。以下是其原理及应用的详细介绍: 一、
    的头像 发表于 08-11 13:57 2792次阅读

    怎么测单片机系统频率

    单片机系统频率是指单片机工作时的时钟频率,它直接影响单片机的运行速度和处理能力,准确测量系统频率对单片机
    的头像 发表于 07-25 11:39 1081次阅读

    单片机怎么驱动电机?

    在各类自动化设备和智能装置中,电机是重要的执行部件,而单片机作为控制核心,需要通过特定的方式驱动电机运转。单片机驱动电机并非直接连接即可,而是要根据电机类型和功率,搭配合适的驱动电路,才能实现
    的头像 发表于 07-25 09:31 1306次阅读

    单片机是怎么控制的

    :获取外部信息 单片机实现控制,首先需要获取外部环境或设备的信息,这一过程依赖输入模块完成。常见的输入设备包括传感器(如温度传感器、湿度传感器
    的头像 发表于 07-23 13:59 1025次阅读

    给予单片机的温度控制系统设计

    在工业生产、智能家居等领域,温度的稳定控制至关重要,基于单片机的温度控制系统凭借灵活、高效的特点被广泛应用,其设计原理与实现方式值得深入探讨。 基于
    的头像 发表于 07-16 10:57 821次阅读

    使用51单片机和VL6180X传感器测距,结果一直是0是什么原因?

    求助,使用51单片机和VL6180X传感器测距,结果一直是0是什么原因,能读到ID为0xB4
    发表于 06-10 07:40

    使用51单片机和VL6180X传感器测距,结果一直是0是什么原因?

    求助,使用51单片机和VL6180X传感器测距,结果一直是0是什么原因,能读到ID为0xB4
    发表于 06-09 06:38

    单片机实例项目:DS18B20温度传感器

    单片机实例项目:DS18B20温度传感器,推荐下载!
    发表于 06-03 20:59

    单片机和伺服有什么区别

    : 1. 定义与功能 特性 单片机(Microcontroller) 伺服系统(Servo System) 定义 一种集成CPU、内存、I/O接口的微型计算机芯片,用于控制设备。 一种由伺服电机、编码
    的头像 发表于 05-26 09:18 1047次阅读