刘振山
(威海职业学院,威海264210)
传感器及应用技术是物联网、应用电子技术等专业等开设的一门重要专业课程,主要讲述温度、湿度、压力、气体、位移等常见物理量的检测原理及常见传感器的使用。学好本课程,就为后续单片机及无线传感器组网课程等奠定了良好的硬件基础,提高了学生对于物联网感知层技术的掌握水平,从而有助于全面掌握本专业。
在以往的传感器课程实训环节,多使用老旧的传感器实训平台,此类平台存在设备笨重、体积大、连线复杂、不易维护、测量结果不直观、器件易损耗等问题。而目前各类物联网实训器材又存在集成度过高、与其他课程关联太大、不易拆分上课等问题。因此需要一种能够独立使用、开放接口、反映传感器原理及使用方法、测量结果直观、并能体现物联网专业特点的实训平台,满足本课程实训教学的需求。
本项目立足于物联网及相关专业的教学实际,以微控制器为核心,采用模块化设计,并能通过本地显示屏、上位机、安卓端等方式显示测量信息,教学方便,结果直观,具有很高的实际应用价值。
本项目主要研发一种基于物联网的传感器综合实训平台,整个系统以STC12C5A60S2 微控制器为核心,其特点是内部有8 路高速10 位A/D 转换器,2 个全双工串口。首先将电子信息类专业涉及到的各类常用传感器及驱动电路进行模块化设计,然后经微处理器进行数据处理后,在本地输出设备显示,并可以通过串行口以有线方式将数据上传到上位机,也可以通过平台的蓝牙/WIFI 模块将数据以无线方式发送至安卓设备,上位机和安卓端可以发送控制指令对输出设备进行控制。整个实训平台采用模块化设计,可以进行后续扩展。系统组成如图1 所示。
图1 系统硬件框图
平台的传感器采用模块化设计,各模块尺寸统一,传感器模块既有利于实训操作又有利于原理讲解与验证。系统采用微处理器进行数据的采集、显示、传送;以微处理器为核心的系统既能独立显示测量结果,又能通过有线方式将数据上传至PC 端,还能通过无线方式将数据上传至安卓端。本平台模块更换方便、易于维护、整体造价低。
传感器模块采用地址码加数据线设计,由微控制器STC12C5A60S2 和集成电路74LS165 完成传感器模块地址采集与识别,其原理为由5 片74LS165 经过级联组成并行转串行接口电路,微控制器通过三个通用IO 端口模拟串行时序,即可读取当前实训平台连接的传感器模块的数量、种类。采用这种电路设计,既节约了普通IO 管脚,又节省了一个串口。
采用四位地址编码实现传感器类型的自动判别,可以最多容纳63 种不同传感器模块(当没有接入传感器模块时,读取编码为全1)。微控制器对传感器模块进行识别后,自动调用相对应的驱动程序进行数据的读写操作,从而获知传感器信息。其仿真电路如图2 所示。
传感器的本地信息显示采用工业串口触摸屏,由微控制器和工业串口触摸屏组成信息显示与控制子系统。微控制器通过串口1 与触摸屏进行信息交互,第一:微控制器将采集到的传感器信息发送至串口屏进行显示;第二:在串口屏上提供PC/WiFi/蓝牙的通信切换功能,通过触屏选择,可以将传感器信息发送至台式机或者WiFi 模块以及蓝牙模块,使用者可以通过手机端APP 查看传感器的接入状态及具体数据。传感器信息与通信切换如图3 所示。
图2 传感器模块地址译码仿真电路
图3 工业串口屏模块
图4 数据发送选择模块
由微控制器和数据选择器以及数据分配器组成的传感器数据发送通道选择子系统;由触摸屏对数据通道进行选择,微控制器通过串口1 获取选择结果,根据触摸屏发送的数据,通过控制数据选择器以及数据分配器的地址信号,完成对PC 串口/WiFi/蓝牙与微控制器的串口2的通信通道的选择。仿真电路如图4 所示。
WiFi 模块选用业界广泛应用的ESP8266 无线收发模块,支持丰富的Socket AT 指令,可以通过串口使用AT 指令对其参数进行配置,实现串口数据透传功能。蓝牙模块选用HC-05 主从一体模块,配对成功后,即可作为全双工串口使用而无需了解任何蓝牙协议。其默认常用的通讯格式为:9600,1,N。也可以通过AT 指令对其进行修改。
微控制器是整个系统控制的核心,其主要功能为实时采集各传感器模块的接入状态和传感数据,并在本地串口屏进行显示;接收实体按键或者触摸屏的按键信息,对无线模块进行选择,并通过串口2 将传感数据发送至对应模块。因此其主要的设计任务包括:传感器地址译码与信息采集、工业串口触摸屏的驱动、与PC/WiFi/蓝牙的数据通信。其初始化任务主要有:GPIO 初始化、定时器初始化、串行口初始化。驱动主要有:地址译码部分的并行地址转串行地址的驱动、串口屏的驱动。
在PC 端,采用C#.net 编程,实现扫描与选择串口,设置串口参数如波特率、校验位、数据位、停止位等相关参数。接收单片机数据并且在主显示区实时显示传感器模块的接入情况和实际数值。
图5 PC 端运行界面
手机端通过启用自身蓝牙模块与实训平台的蓝牙模块进行配对连接,连接完成后,手机端和实训平台即可通过蓝牙模块的串口透传功能进行信息的交互,一方面,可以在手机端查看传感器的接入状况和具体数值,另一方面,可以通过手机控制实训平台的执行模块。(图6)
本系统经过方案论证,传感器的选型、驱动电路的设计、测试电路的设计、传感器模块的结构设计、微控制器程序编写、工作及测试用电源设计、上位机程序开发、安卓端程序开发、平台结构设计;仿真测试与实物制作,软硬件联调,各项功能达到了最初的设计目标。主要解决了以下关键问题:
①各类传感器模块接口统一问题。传感器不论哪种类型,信号接口保持统一,可以放在平台任何一个插槽内工作,避免模块连接错误导致电路烧毁、硬件损坏;
②系统自动识别传感器类型、自动进行测量。以微控制器为核心的系统能够自动识别接入的传感器,并能够调用相应的测量程序,进行自动测量及结果的显示;
③上位机程序开发。以C#.net 为开发工具,能够通过串行口与传感器平台进行通信、在PC 端显示测量结果;
④安卓端程序开发。能够通过蓝牙/WIFI 等无线通信方式与传感器平台进行通信,并可进行控制;
⑤系统结构设计等关键问题。系统结构紧凑、节约空间、接口设计简洁统一、使用维护方便。
图6 移动端运行界面
本项目研究了一种能够适用于物联网、应用电子技术等专业的实训平台,可以承担传感器课程的实训任务。传感器模块与平台底板采用磁吸方式连接,可靠性高,不易损坏;实验平台采用外接直流供电与自身电池供电,可进行充电管理,充电后无外接电源时仍可使用;系统自动判断传感器模块类型、自动调用相应的驱动程序进行数据的读取;采用串口触摸彩屏,无实体按键,操作方便,人机界面友好;可切换至PC、蓝牙、WIFI 进行数据传输、使用灵活。此实训平台的研发,可以解决目前传统的传感器试验台设备笨重、显示不直观、无无线通信功能等种种不足,适应物联网及其他专业教学,量产投入使用后,可以极大地节约设备购置经费,并能显著提高教学效果。