高精度模拟量采集器的软件设计【字数:11286】

摘 要高精度模拟量采集器具有8路模拟信号的采集功能,可采集0~5V或0~10V的电压信号或者4~20mA的电流信号。采集器内部主控为STM32F103C8T6, STM32通过控制多路模拟开关CD4052将模拟信号动态切换到模数转换器ADS1118采样端口,待ADS1118模数转换完成后,STM32读取数据,并进行滤波校正处理。采集器具有2路继电器,可供远程开关控制或者触发机制使用。采集器在系统中扮演从机的角色,主机为电脑或其他主控设备,通信物理介质为RS-485,通信协议支持标准MODBUS协议。若系统内主机有查询或设置动作时,则采集器会产生一组应答数据帧,数据帧包含相应模拟通道的工程值、实际值和状态信息等。
目 录
1. 绪论 1
1.1 课题背景 1
1.2 主要功能 1
1.3 本论文的主要内容 2
2. 系统设计与实现 3
2.1 采集模拟信号的框图 3
2.2 设置继电器状态的框图 4
2.3 本章小结 4
3. 主要模块设计 5
3.1 微控制器MCU 5
3.1.1 STM32F103C8T6 5
3.2 模拟量输入模块 6
3.2.1 模拟开关CD4052 6
3.3 模数转换模块 6
3.3.1 模数转换 7
3.3.2 模数转换器ADS1118 7
3.3.3 SPI通信 9
3.4 MCU和计算机通信模块 10
3.4.1 收发器MAX485EPA 10
3.4.2 RS485接口 12
3.4.3 MODBUS协议 12
3.5 信号灯状态显示模块 13
3.6 本章小结 13
4. 系统调试与分析 15
4.1 程序流程图 15
4.1.1 主函数程序流程图 15
4.1.2 ADS1118采集模块程序流程图 16
4.1.3 MODBUS处理模块程序流程图 17
4.2 KEIL MDK的简介 18
4.3  *好棒文|www.hbsrm.com +Q: ^351916072^ 
仿真器STLink 18
4.4 本章小结 18
5. 采集器的使用说明 19
5.1 使用说明 19
5.2 MOBUS通信协议解析 20
5.2.1 功能码0x04(读取输入寄存器值) 20
5.2.2 功能码0x05(写单个线圈) 22
5.2.3 功能码0x0F(写多个线圈) 23
5.3 通信案例 24
5.3.1 采集输入通道模拟量 24
5.3.2 设置继电器状态 29
5.4 本章小结 33
6. 结论与展望 34
致谢 35
参考文献 36
附录:程序代码 37
绪论
课题背景
随着科技和信息技术的飞速发展,智能化采集器渐渐取代了传统仪器仪表,各个领域也不断提高对数据精确性和实时性的要求,这使得数据采集成为工业控制上研究的热点之一[1]。而在工业领域常用的,如温度、压力、速度等参数,属于计算机不能直接识别的模拟信号,因此需要经过模拟量采集器进行模数转换后,计算机才能进行处理,并显示打印出来反馈给客户。数据的精确度和及时性决定了模拟量采集器的性能[2]。
由于指针式的模拟量采集器,根据指针变化,易于读数,最先发展利用,但是误差较大,而且指针反接容易烧毁系统。随之发展的是数字式的,比如数字电压表,可以直接显示电压值,操作简单,方便携带。但是传统仪器仪表采集的信号,不利于进行实时远程监控,随着微电子和计算机技术的发展,可以基于微控制器通过软件编程实现对模拟量的采集[3],采集器和计算机通过RS485通信接口相连[4],基于MODBUS协议进行通信[5],目前模拟量采集器可用于电参数的采集监控[6],温控系统[7],环境光照湿度监控[8],工业现场数据监控[9]等场合,应用广泛,对工业发展的经济价值巨大。
本文设计了一个基于STM32微控制器和ADS1118模数转换器的高精度模拟量采集器,在通信方面,采集器和计算机之间通过USB转485模块相连,基于MODBUS协议进行数据的传输。RS485接口的抗干扰能力强,成本较低,而MODBUS协议支持RS485接口,简单方便,并逐步发展为工业领域通信协议的标准。所以本文设计高精度模拟量采集器发展前景广阔,经济价值巨大。
主要功能
在系统中,高精度模拟量采集器为从机,计算机或其它主控设备为主机,采集器通过USB转485模块与主机相连,支持标准MODBUS RTU通讯协议,并可通过LED显示当前运行的状态信息。
采集器具有8路模拟信号的采集功能,可采集0~5 V或0~10 V电压信号或者4~20 mA电流信号。主机通过Modbus Poll软件设置参数,发送一组查询数据帧后接收到一组响应数据帧,从响应数据帧中可以读出采集器输入通道的模拟电压值。
同时,采集器具有2路继电器,主机通过Modbus Poll软件设置参数,对继电器进行写操作,能够设置相应继电器的吸合或释放,可供远程开关控制或者触发机制使用。
本论文的主要内容
第一章:绪论。主要介绍了采集器的历史发展和目前现状,应用场合以及在工业发展的意义。另外,概述了本文设计的采集器的主要功能。
第二章:系统设计与实现。采集器具有采集模拟信号以及设置继电器状态两种功能,基于功能设计出采集器的主要框图。
第三章:主要模块设计。介绍了各个模块的设计:微控制器模块,模拟量输入模块,模数转换模块,主机和从机通信模块,信号灯显示模块 。
第四章:系统调试与分析。基于整个系统,设计了主函数的程序流程图,ADS1118采集模块的程序流程图,以及MODBUS处理数据的程序流程图。简要介绍了KEIL编程软件以及STLink仿真器。
第五章:采集器的使用说明。详细解析了MODBUS通信协议,根据一个具体的实例,通过硬件连接以及Modbus Poll软件设置,实现采集器的功能。
系统设计与实现
在系统中,采集器内部的MCU与MAX485芯片连接,再通过USB转485模块,即可实现采集器与计算机相连进行通信。计算机为主机,采集器内部的MCU为从机,两者基于MODBUS协议进行通信。采集器具有采集模拟信号以及设置继电器状态两种功能,本章主要设计了采集器的系统框图。

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jxgc/qcgc/339.html

好棒文