在工业控制过程中,需要对被控制对象的实时数据进行采集,并且根据采集数据的实际情况,对其进行实时的监控以及远程的控制,以完成相应的控制任务。在现代工业控制中,对于控制的准确性判断以及控制的实时性和稳定性需求都很高,所以要有一种可以进行数据采集的控制系统,而且这种系统要能够实现多通道、高精度以及大容量的要求。从这个角度来看,基于单片机与PC 通信的数据采集控制系统设计研究具有非常重要的现实意义。
1. 系统的基本组成
1. 1 系统的基本架构
文中构建的基于单片机与PC 通信的数据采集控制系统基本架构如图1 所示:
图1-系统基本架构框图
如图1 所示,被控对象通过传感器的作用,采集到相应的数据,经过电压转换以及模拟/数字转换之后,向单片机发送,单片机端可以根据数据采集的情况以及预先设置的程序,经过继电器向被控制对象进行具体的操作,同时也可以通过电平转换芯片向PC 机发送采集到的数据。PC 机可以对采集的数据进行存储、处理,也可以根据这些数据来完善控制算法,然后经过电平转换芯片发送控制信号,远程控制被控对象。
1. 2 系统硬件
此次研究中,对于系统的硬件构成主要有几个非常重要的模块。首先是微处理器模块,射频收发模块,这2 个是核心模块,另外的传感器模块、天线和电源管理模块也是硬件构成中的重点。微处理器模块采用的芯片是Atmega128L 低功耗微处理器,这种处理器主要是对数据进行采集,然后进行处理,而且对整个系统的功耗和任务进行控制管理,射频部分为了能够有效进行功耗的控制,所以采用的是比较节能的TI 的CC2420 芯片,这样的设计使得FLASH 存储对于低功耗产品的选择也非常恰当。
传感器部分要根据不同需求进行选择,每种传感器都有独特的温度、压力和流量的传感系统,所以对于一些非电量的信号,还得利用传感器将其从电压变换模块转化为整个模拟信号。
笔者在设计中,对于总体的成本和系统性能需求进行了考虑,对于目前采用的节点中心设计,拟定了Atmega128L 单片机来完成。Atmega128L 单片机对于数据采集和处理的完成,能够在很恶劣的环境下进行,而且它还具备了非常强的节能能力,其功耗的参数也一样,必须要在能够满足工作电压1. 8 ~3. 6V、在2. 2V 的供电条件下能够在7霢 的工作电流下稳定运行在32kHz 的工作频率。而单片机以及PC 机之间经过电平转换芯片的连接,才能够工作,依靠这种方式来实现远程通信。文中设计的系统能够有效地实现采集被控制对象的多种参数信息,并且将其传递至 PC 机端,对相应数据进行处理,同时也能够选择通过PC 机来远程控制被控制对象。
此次构件的系统射频信号经由天线向CC2420芯片传输。低噪声放大器( Low Noise Amplifier,LNA) 在接收到相关的信号之后,将其转化为2MHz中频,使其形成同向分量以及正交分量两路中频信号。随后,对这两路中频信号进行滤波以及放大处理,再从模拟信号转化为数字信号。然后对其进行最终信道的选择以及控制增益等处理。
为了确保存储模块部分能够满足系统的实际需求,不能够仅仅依靠Atmega128L 内部Flash 模块,还需要串行一个外部Flash 模块,并且借助该模块类似实现掉电保护功能。具体地,可以借助于SPI 总线将外部Flash 模块与Atmega128L 相连接。在具体的工作过程中,以Atmega128L 内部存储为主模式,而外部Flash 模块AT45DB041B 为从模式。
A/D 数模转换部分,采用的是11 通道12 位高速的TLC2543 转换芯片,该芯片与单片机之间的通信是通过串口通信的方式来完成的,通过4 条信号线的连接就能够实现通信的需求。这4 条信号线分别是片选信号CS、时钟信号CLK、数据移出Dout、数据移入Din.
在单片机的显示装置部分,此次设计采用的是4 个共阳数码管,对于段选数据线以及单片机采用一组I /O 端口对其进行连接,而对于位选数据线,则经过ULN2003A 驱动芯片和单片一组I /O 端口进行连接。显示控制部分,选用循环扫描的方式逐一点亮数码管,然后进行高速的切换,利用人体的视觉暂留特性,使其看上去是4 根共阳数码管在同时稳定地显示。
2. 单片机与PC 机的通信连接与控制方式的选择
2. 1 单片机与PC 机的通信连接
此次系统构建的基于单片机与PC 通信的数据采集控制系统在单片机与PC 机的通信连接方面,主要是采用串行通信的方式实现的,这种方式能够将单片机在现场采集到的各种数据通过串行通信的方式传输给计算机,而同时,计算机也能够通过这种方式实现自身对被控对象的远程控制功能,文中设计的单片机与PC 机之间的通信电路如图2 所示:
图2-单片机与PC机之间的通信电路设计图
如图2 所示,在单片机端,其输入和输出电平均为TTL,与PC 机的串口之间存在不同的电气规范,因此,必须通过电平转换芯片使二者之间能够达到一致。在这里设计了MAX232 芯片作为RS - 232电平以及TTL 电平之间的转换芯片。图2 之中的C4,C5,C6 以及C7 都是MAX232 芯片的电源变换电路的外接电容,而C8 电容则是电源的去耦合电容,以消除对电源噪声的影响。在PC 机端其TXD信号是通过MAX232 芯片将RS - 232 电平转换为TTL 电平,然后将具体的信号向单片机进行传递,而在单片机端,则是通过MAX232 芯片将TTL 电平转换为RS - 232 电平,实现数据的传递。而C1,C2以及Y1 则构成了单片机的外接晶振电路,电解电容C3 和电阻R1 构成单片机复位电路。
2. 2 单片机与PC 机控制方式的选择
在对于单片机控制方法的选择上多是采用开关的方法,在开关打到不同位置并且能够对应引起不同引脚电压的过程中,要能够对PC 机的远程控制模式和单片机的本土控制模式进行不同位置的打开,这样才能够判断好单片机运行的模式,从而判断当前是处于PC 机的远程控制模式还是处于单片机的本土控制模式。如果选择的是前者,则PC 机根据自身内置的算法库中的算法程序对当前的数据进行分析,然后将得出的操作指令向单片机发送,再由单片机根据内置的指令,进行操作。选择后者则是单片机根据其采集到的实时数据,与预先内置的参数相对应,从而选择不同的预案,以便对被控对象进行操控。一般地,选择前者能够实现更为精确的算法控制,但是其复杂程度也就更高,而后者的操作简便,精度相对就比较有限。具体地,用户在不同的应用环境之下,可以根据自身的实际需要来选择不同的控制模式,从而提高系统的灵活性。
3. 系统软件的设计
此次的系统软件设计包括了单片机端以及PC机端,而且这两个程序还分别运行于不同的实体之上。在单片机端,采用的是C51 对程序进行编写,而对于PC 机端则采用的是VB 进行的程序编写。
3. 1 单片机端程序设计
单片机的初始化,模拟信号和数字信号的转换过程,都应该包含在单片机端口的程序设计中,对于信号和采集到的数据,以及和PC 机端口的通信程序等方面,都要进行合理的控制。系统的初始化主要是将系统的各个设备设定到初始状态,或者中断初始化。这样才能完成模拟信号和数字信号之间的转化,这些数据的采集都是利用软件的模拟来完成的,而且这样可以转化数字信号,将模拟的信号转化为单片机能够识别的数字信号。控制程序将单片机自身的内置控制算法和计算控制数据等运行的具体程序都进行了操控和指令的发送,而接收程序则是在接收到1 个字节的数据之后,就进行1 次中断服务,然后继续进行接受。
3. 2 PC 机端的程序设计
在PC 机端,一般开发的工具就是采用VB6. 0可视化开发工具,该部分的程序中主要是对于窗口的设计,系统初始化的设计,对于数据接受程序的设计,以及对于发送程序和文件存储的程序以及控制算法内容的设计。
文章主要介绍数据的采集和算法。数据在采集之后,一般要经过长期的保存,而且在PC 机的端口,都是在具体的文件之中保存着数据,根据文件的具体类型来进行打开的处理。这种文件既可以是文本文件,也有可能是数据文件,只有这样,才能够在对控制对象进行远程控制的时候完成相应数据的调取,然后利用控制算法进行计算,再将数据通过通信空间向单片机发送,单片机根据PC 机的指令具体执行。
4. 结语
此次构建的系统能够实现采集被控制对象的多种参数信息,并且将其传递至PC 机端,对相应数据进行处理,同时也能够选择通过PC 机来远程控制被控制对象。该系统具有采集数据量大、精度高、控制方式灵活等优点。