基于MC68HC908微控制器的分布式无线液压控制系统
2008-11-18
作者:门延武,周 凯
摘 要: 针对开发飞行器曲面加工智能工装系统的需求,提出一种多点阵列分布式无线液压控制方法,并开发了基于MC68HC908微控制器" title="微控制器">微控制器的多点阵列分布式无线控制系统" title="控制系统">控制系统。该系统通过数十个微控制器并行运行,以软件方法实现了整个液压系统的分布式无线控制。文中对该系统的总体方案、硬件电路和软件算法进行了介绍。
关键词: 智能工装系统;分布式无线液压控制;MC68HC908;nRF2401A;压力闭环控制
用于复杂曲面加工的阵列式智能柔性工装系统由数十个甚至上百个可在X、Y、Z空间运动的工作单元组成,每个单元具有自治能力,其关键部位需采用液压控制。对于这种复杂的机-电-液系统,若采用传统的集中式控制方案,不仅油路、电路复杂,实现难度大,而且严重影响整个系统的可靠性和扩展性。同时对于这种复杂系统中的数十个甚至上百个阵列工作单元的通讯网络,若采用有线连接,将导致线路复杂,难以实现与管理。为解决此问题,本文提出了一种多点阵列分布式无线液压控制方法,并基于MC68HC908 Microcontroller(微控制器)开发了多点阵列分布式无线控制系统。该系统中各个子单元以微控制器为核心构成一个独立的自治控制系统,分别控制单元内液压装置的运行;与上位机" title="上位机">上位机进行无线通信,便可获得所有控制指令,并向上级反馈现场状态信息;局部故障不会导致整个系统的瘫痪;易于扩展,使用灵活。
1 系统总体方案与工作原理
本系统主要由上位机PC、AT89S52、nRF2401A无线收发芯片、监控电路(诊断系统)、驱动控制电路、MC68HC908微控制器及其液压执行单元和反馈电路、精密步进电机" title="步进电机">步进电机等组成,其系统结构示意图如图1。其中,上位机由VC++工具实现用户界面的软件设计,通过RS232硬件接口将用户输入的控制命令串行输出到主控制器AT89S52,经无线收发芯片nRF2401A与柔性工装系统内各主控制器AT89S52进行通信,再由主控制器与各自治子单元的MC68HC908微控制器进行通信,传递上位机的控制命令,同时反馈各自治子单元的工作状态。
图1 系统结构示意图
各自治子单元在接收到上位机的命令时,通过驱动控制电路控制精密步进电机产生相应的进给运动驱动液压系统;反馈系统则把采集到的油压电信号反馈到微控制器的A/D" title="A/D">A/D中,从而形成一个独立闭环的自治控制系统。
液压元件具有功率-重量比和力矩-惯量比大、传递的力矩和功率很大的特点,因此可以组成体积小、重量轻、加速能力强和快速动作的驱动系统,以控制大功率和大负荷。同时液压执行元件响应速度快,在驱动控制中采用校正装置可以使回路增益提高、频带加宽。另外液压执行机构还具有传动平稳、抗干扰能力强,调速范围广,特别低速运行状态下的控制工作性能好等优点[1]。
近年来随着大规模集成电路和微电子集成技术的飞速发展,使得微控制器在可靠性、性价比以及功能等方面都有很大的提高,这就为设计功能强、价格低、性能优越的步进电机控制系统提供了得天独厚的条件。同时随着步进电机及其驱动系统的完善发展,出现了体积越来越小、性能优越的步进电机。步进电机是将电脉冲信号变换成相应的角位移或直线位移的机电执行元件。由于步进电机具有快速启停、精确步进以及接收数字量的特点,所以在工业系统中得到广泛应用。本文充分利用了液压系统的力放大、随动、稳定等特点来控制智能工装系统的有关动作,采用微控制器控制步进电机输出扭矩来驱动液压执行单元。
2 系统硬件电路
2.1 无线收发模块
nRF2401A芯片是挪威Nordic公司推出的2.4GHz单片无线收发芯片,具有125个频道可满足多频及跳频需要;能够在全球无线市场畅通无阻。该芯片支持多点间通信,其最高传输速率超过1Mb/s,具有传输速率高、接收灵敏度高、发射功率低、功耗低等优点。它采用SoC方法设计,只需少量外围元件便可组成射频收发电路。图2所示为nRF2401A的外部接口电路。
nRF2401A芯片最突出的特点是有两种通信模式:Direct Mode(直接模式)和ShockBurstTM Mode(突发模式)。由于ShockBurstTM Mode具有低数据率的时钟同步和高数据率的传输以及功耗低的特点,本系统选择工作在该突发模式下。由于nRF2401A采用了DuoCeiver技术,因此可以由双信道同时通过一个天线接口从相隔8MHz的两个nRF2401A上接收数据。具体的两个信道如下[2]:
数字信道1:CLK1,DATA,DR1;
数字信道2:CLK2,DATA,DOUT2;
其中数字信道2的频率比数字信道1的频率高出8MHz。
2.2 微控制器主控模块
微控制器主控模块如图3所示,图中微控制器通过芯片ULN2004A驱动步进电机;压力传感器把采集到的压力电信号sensor反馈到微控制器的A/D口中;微控制器MC68HC908通过feedback信号以光电隔离方式经主控制芯片AT89S52和无线模块实时反馈现场的状态信息到上位机PC,同时上位机PC通过主控制芯片AT89S52和无线模块向控制系统下达控制指令;MC68HC908通过CLK、LED、DATA、LEDSHOW、switch、stop、A、B与监控电路进行通信,实时反馈系统的运行状态信息。
由于本系统在设计上采用了微控制器控制步进电机进给以驱动液压系统,通过压力传感器采集压力信号反馈到控制系统中,因此要求控制系统具有A/D采集功能;在监控电路上要求微控制器具有较大输出电流以及灌电流;同时本系统由于应用于工业现场,使用环境比较恶劣,要求具有较好的稳定性以及抗干扰能力。基于这些考虑,本文采用高性价比的Freescale八位微控制器MC68HC908QY4。该微控制器有13个双向I/O口,一个单向输入口,其中四路具有8位A/D转换功能;可使用5V或3V的供电电压;具有4 096B的片内Flash存储器,128B的片内RAM;双通道16bit定时器模块;自带看门狗电路,具有较高的性价比[3]。
对柔性智能工装系统的液压系统而言,所需的压力应大于1kg/cm2,以保证有足够的夹持力。本文选用了型号为17HD032-30N的步进电机,静力矩为130mN.m,额定电压为12.3V,额定电流为0.28A。步进电机最常采用的两种驱动架构是单极性和双极性。单极性驱动电路使用四颗晶体管驱动步进电机的两组相位,这类电机称为四相电机,又称双相位六线式步进电机;双极性步进电机的驱动电路,使用八颗晶体管来驱动两组相位[4]。本文选用的17HD032-30N为双相位六线式步进电机。
由于所选的步进电机的额定电压为12V,额定电流为0.28A,因此本系统采用了最大驱动电流为1A的ULN2004A芯片。该芯片可以提供足够大的驱动电流,输入电压范围为6V~15V。ULN2004A具有7个开集极式输出反相器,而在每个输出端都有一个连接到共同端(COM)的二极管,作为放电保护电路。
由于在工业现场中存在很大的干扰,这些干扰如不隔离就会窜入微机内部造成破坏。因此在电路的控制以及上位机的反馈信号上使用光藕进行光电隔离,这样可以消除地线干扰,同时还可去掉现场窜入的高频干扰信号,提高系统的可靠性与稳定性。
3 软件程序的设计
3.1 整个系统的软件流程
整个系统的软件编程采用模块化的设计方法,每个功能采用一个模块表达。本系统主要由无线收发模块、监控模块、A/D采集模块、滤波模块、加载模块、卸载模块、压力上限处理模块、压力下限处理模块等组成。系统软件流程如图4所示。
3.2 步进电机的软件控制
在步进电机微控制器软件控制系统中,主要实现以下三个基本控制任务[5]:
(1)控制换相顺序:步进电机的通电换相顺序要严格按照步进电机的工作方式进行,也称为脉冲分配。实现脉冲分配有软件法和硬件法,本系统采用软件法。
(2)控制步进电机的转向:通过改变通电相序实现。
(3)控制步进电机的转速:通过调节脉冲频率实现。
在步进电机控制系统中,如果脉冲信号变化太快,则步进电机由于惯性将不能跟上电信号的变化,这时就会产生堵转和丢步。所以步进电机在启动时,必须有升速过程,在停止时必须有减速过程。理想的升速曲线一般为指数曲线,步进电机整个降速过程的频率变化规律类似于整个升速过程频率变化的规律。在实际编程过程中,按照指数曲线进行编程较为繁琐,而用直线代替指数曲线进行编程较为容易,也能达到很好的启动与停止效果。同时,由于本系统为保证液压泵有足够的压力输出,对于步进电机的转速要求不能过高,属于低速运行的范畴,平缓的启动与停止会使系统具有很好的稳定性。图5为匀加减速曲线图,图中的点划线部分为指数升降速曲线,实线为直线升降速曲线。升速过程由突跳频率加升速曲线组成(降速过程反之)。突跳频率是指步进电机在静止状态时突然施加的脉冲启动频率,此频率不可太大,否则也会产生堵转和失步[5]。
3.3 A/D采集的控制算法
常用的A/D采集数字滤波算法有程序判断法、中值滤波法、算术平均值滤波法、加权滤波法、滑动滤波法、低通滤波法和复合滤波法等[6]。本系统采用中值滤波法,即对油压进行连续采样N次,N一般为奇数,然后把N次采样值按从小到大排队,再取中间值作为本次采样值。该方法对于去掉由偶然因素引起的波动和采样器不稳定而引起的脉动干扰具有很好的效果。对于测量变化比较缓慢的情况,采用中值滤波法效果比较好,但对于快速变化的数据,不宜采用中值滤波[6]。对于本系统而言,与微控制器的运行速度相比较油压的变化非常缓慢,因此采用中值滤波法具有很好的效果。实践证明本系统与不采用中值滤波方法以及与其他滤波方法相比较,在稳定性、抗干扰性以及鲁棒性上有很大的提高与优势。
本文详细介绍了多点阵列分布式无线液压控制系统的总体方案、硬件控制电路及软件实现流程。同时也详细介绍了步进电机的软件控制与A/D采集的模块化算法,该算法在很大程度上决定了整个系统的稳定性和可靠性。监控电路模块能够辅助工作人员较好地监控系统的运行情况,如有故障能及时方便地进行排除与维修。实验表明,本系统采用的多点阵列分布式无线控制系统控制灵活、使用方便、成本低、抗干扰能力强、运行稳定,能很好满足项目总体控制的需要,具有一定的实用价值以及参考意义。
参考文献
[1] 赵升吨,魏树国,王军.液压伺服控制系统研究现状的分析[J].伺服控制,2006,(6):16-23.
[2] nRF2401A Datasheet. Nordic Semiconductor ASA[EB/OL].http://www.nordicsemi.no.2004,12.
[3] 熊慧,尤一鸣.MC68微控制器入门与实践[M].北京:北京航空航天出版社,2006.
[4] 章小红,钱志良.步进电机控制系统的设计[J].苏州大学学报,2006,26(4):42-44.
[5] 潘新民.微型计算机控制技术[M].北京:人民邮电出版社,1998.
[6] 求是科技.8051系列微控制器C程序设计完全手册[M].北京:人民邮电出版社,2006.