单片机及外围串行设备组成的多回路微控制器的设计方案
扫描二维码
随时随地手机看文章
1前 言
化成充放电是蓄电池生产工艺中的关键过程之一,其控制水平直接关系到产品的质量。该工艺要求化成充电机能够按时间、电压或安时数等条件对蓄电池进行多次的充放电,具有静电、恒流充电、恒压(限流)充电、恒流放电等多种充放电模式,并要求达到控制精度≤1%,检测精度≤0.5%,限流限压保护精度≤2%。常规生产方式下主要采用人工手动操作,控制精度低、劳动强度大、人为因素对产品的质量影响很大,因此引入微机程控装置对于改善操作过程、提高产品质量意义重大。[1]
随着新型单片机内置大容量的FlashROM、各种串行ADC、DAC以及高密度串行E2PROM等技术的发展,开发高性能、低成本、紧凑型蓄电池充放电控制器成为可能。根据小容量多回路充电机设备的需要,本文提出了一套由嵌入式单片机及其外围串行设备组成的多回路微控制器的设计方案,可以同时控制4台化成充电机的运行,实现自动静电、恒流充放电、恒压限流充电等控制功能;采用汉字LCD显示,可通过键盘设定控制程序参数,具有多阶段可自动按时间和条件(电压、电流或安时)控制的功能;断电后可自动记忆状态,恢复运行后自动继续原过程;自动监测断流、过流、过压等故障并告警;此外,通过RS485串行通信和上位机联网可构成两级集中监控分散型系统。[2-4]
2控制器的硬件设计
多回路化成充放电控制器的硬件主要由主控模块和过程处理模块两大部分组成。按设计要求,主控模块应具有下列功能:(1)良好的人机交互界面,包括键盘和显示器;(2)存储工艺控制参数;(3)掉电保存运行状态及数据;(4)高可靠性和抗干扰性;(5)与上位机联网构成两级集中监控或打印记录系统。过程处理模块完成4路化成充电机的输入/输出信号的调理、隔离与转换。包括系统给定控制量的输出、电流及电压采样值的输入,以及开关量的输出。根据上述功能要求,设计控制器的硬件结构如图1所示。
主控模块以低功耗、高性能的单片机AT89C55为主控CPU,其内部闪存容量达到20KB,内部RAM256字节,可满足较复杂的控制程序、LCD显示汉字库及通信程序的需要,而无需扩展外部程序存储器和数据存储器。主控模块的面板上提供了2×7的薄膜键盘和192×64的点阵式液晶显示器,使现场操作画面非常友好。
采用大容量的24LCXX系列的串行E2PROM来保存大量的设定工艺控制参数及掉电状态数据。24LCXX与单片机的接口采用两线式串行总线,简单可靠。单片机作为主设备,24LCXX作为从设备,主设备对从设备进行读、写数据操作。
过程设备接口均采用串行芯片,接口简单,与单片机间的信号线最多为四根,使得连线数目大大减少,且这些信号线均经光耦隔离后接到单片机,提高了系统的可靠性。
另外,考虑到控制系统的特点,属于多点通信方式,且距离较长,数据要求双向传输,因此采用连接方便、抗干扰性能好、失真小且成低本的RS-485标准接口,实现和上位机之间的数据通信。
该微控制器的硬件设计充分体现了嵌入式系统结构紧凑,外设简单,体积小,携带方便的特点,成本亦大大降低。
3数据的存储管理
在控制4台充电机工作的过程中,需要保存大量的非易失的数据,如工艺控制参数和运行控制数据。在串行E2PROM中保存了预置的8组型号的参数,每组包含12个阶段的工艺控制参数。控制充电机运行的过程中,系统定时将各回路充电机的工作参数值保存到E2PROM中。当系统突然掉电后能自动记忆状态,恢复运行后自动继续原过程。
但考虑到掉电发生的随机性,为保证数据的正确性与完整性,设置了特定标志,保证写入数据的完整性。即每次对24LCXX操作前,首先判断此标志,若为FFH,表明基本数据区数据完整,将其内容写入后备数据区;若为00H,表明上一次对基本数据区的操作被打断,数据不完整,则将后备数据区的内容写入基本数据去,恢复掉电前的数据状态。在对数据操作完成之后,再将标志置为FFH,表明对数据的一次完整操作。采用这种给数据操作加锁的方法,有效地确保了系统的稳定运行。
4控制器的软件设计
4.1实时多任务结构及任务的划分
控制器软件采用实时多任务结构,分为启动管理任务和运行任务两大部分。启动管理任务包括上电命令处理(辅助自检、清除记忆数据等)、系统初始化和工艺控制参数等修改设置,同时串行通信中断任务作为后台任务,接收上位机命令并向上位机发送状态信息;运行任务在执行启动充电机命令后激活,包括主控调度程序(前台任务)、系统定时器中断、串行通信中断任务等,按不同优先级调度运行(前台任务被后台任务打断)。图2为系统任务及调度示意图。
后台任务1由系统定时器T0每100ms产生一次中断,形成基本时钟源,为控制和通信任务提供各类软件计数器。主控调度程序根据定时器计数状态调度各个任务,控制4路充电机的运行。这些任务包括:每隔1秒扫描一次键盘,根据键盘输入的命令激活相应任务,如启动或终止过程、显示设置参数等;每隔1秒进行例行数据采集与处理,分别采集4路充电机的电压、电流量,并对转换的结果作相应的处理;每隔1秒循环显示4路充电机的实时工作状态参数,包括当前工作阶段、工作方式、运行时间、电压电流值、安时数等;每隔2秒分别计算4路充电机的安时数;每隔3秒进行闭环反馈控制PI调节;每隔1分钟分别累计4路充电机的安时数,同时备份相关的数据到E2PROM中。运行过程中定时检查电流、电压信号,如遇异常、断流、过流、过压等故障则及时显示故障类型和对应的充电机号。
后台任务2为串行通信中断任务。由于采用主从式异步串行通信,通信中断任务的优先级比定时器中断的优先级高。通信中断包括接收中断和发送中断两种情况,并需根据需要进行切换控制和处理。平时处于接收中断允许状态,当收到上位机轮询报文时即组织发送报文,将报文帧送到发报缓冲区,启动发送中断和发送计数器,在以后的发送中断任务中按计数器发送一个字节直到发完该帧即禁止发送中断。如收到上位机数据/命令报文头则清理收报缓冲区,等待下次接收中断字节。
4.2模块化的软件设计
本控制器的软件设计采用模块化结构,使程序明晰简洁。同时各模块间相对独立,可以单独调试,程序扩充时,不要更改原有的结构,只需修改相应的模块。根据图2中系统任务的划分,程序模块主要由主控程序及定时器中断程序模块、通信程序模块、显示及键盘处理模块、输入输出及控制量计算模块构成。各模块之间的联系是采用单片机的逻辑处理功能,设置标志位,通过查询标志位的操作进行控制和调用。
由于篇幅的原因,就不详细介绍各模块工作的流程。
5通信系统的设计
本文的应用对象是蓄电池工厂的极板或密闭电池充放电控制装置,为了降低成本,便于管理并提高系统可靠性,控制系统设计可以采用小型的分散型控制系统,即两层结构:分散的多回路控制器配一个操作站(俗称上位机和下位机)。通过低成本、高可靠的RS-485实时通信网络,将数十台多回路控制器与PC机相连,实现对生产过程的集中监控操作。上位机和下位机之间的通信包括数据下载、数据上装、命令下发等。通信系统设计如下:
(1)系统物理层协议采用RS-485标准,为了在允许范围内尽量提高通信速率,波特率选择了非标准的3125bps。当上位机采用软件轮询方式与20个现场控制器逐个通信,通过适当的软件设计,可基本满足充放电过程操作的实时性要求。
(2)据链路层协议参考HDLC,采用短帧定长传送,每帧有效字节为7个。应用层要求实现即时数据上装、历史数据上装、控制参数数据下载和命令下发等功能。
(3)本系统采用主站轮询的主从方式,由主站发起通信,没有网络冲突;由主站选择它要求通信的次站,各次站可以有不同的优先级。相对于总线式控制网络,这种方式易于理解和实现。
6结束语
实验和现场实际运行表明,该多回路化成充放电控制器具有较好的人机对话窗口,结构简单,操作简便,参数设置灵活,有较强的适应性。系统软硬件设备工作正常,功能齐全,稳定可靠,具有完善的系统自诊断、故障定位功能。而且具有成本低、体积小(80×160×100)的特点。
参考文献
[1]贾英江,贾向英,浅议蓄电池充电,1998,(4):22-24.
[2]何立民,MCS-51系列单片机应用系统设计,北京航空航天大学出版社,1990.