新闻中心

EEPW首页>嵌入式系统>设计应用> 基于CAN总线的分布式位置伺服系统设计

基于CAN总线的分布式位置伺服系统设计

作者: 时间:2010-05-26 来源:网络 收藏

3.2 单片机程序
单片机的主程序流程如图3所示,包括单片机与82527的初始化程序和各子程序。对反复执行的程序段利用主程序调用子程序的方式实现。子程序主要有闭环控制子程序、故障处理子程序和参数修改子程序[6]。

本文引用地址://m.amcfsurvey.com/article/151843.htm

系统的闭环控制采用的是Bang-Bang算法。该算法是一种时间最优控制,且算法简单,便于单片机实现,又能满足系统控制精度的要求。设精度允许的推杆误差带为[-Δ12],当前偏差为e(t),-Δ1≤e(t)≤Δ2时,可认为推杆当前即为给定要求的。若把控制量u(t)归一化处理,则此算法可以表示为:

由于伺服电机正转和反转时推杆运动的惯性不同,所以正、反向最大误差允许值Δ2和Δ1一般是不相等的。图4是Bang-Bang算法子程序流图。

故障处理程序处理的故障包括通信中断故障、位置反馈断线故障、电机堵转故障等,通过对这些故障的自动处理或给出提示信息提高了系统的可靠性。控制器在不同场合使用时,对一些参数的要求也不相同,如控制器报文的ID、通信波特率、控制死区、位置标定等参数的值都可以通过报文进行人工修改。本选用的X5045芯片带有512字节的E2PROM,可由单片机对其存储空间进行串行读写,因此,X5045芯片除了实现单片机的上电复位和看门狗功能外,还可把需要进行修改的参数存放在其E2PROM空间中。对故障处理和参数修改子程序的具体编写这里不再详述。
4 实验结果及分析
本系统实现1个脚踏板同时对2个油门阀的控制,脚踏板电位器输出的电压信号经主控制器PLC的模拟量输入口进行A/D转换,再通过CAN接口发给2个伺服驱动节点,控制油门阀的开度快速精确跟踪脚踏板的运动变化。在实际应用过程中,PLC还用于整车的其他控制功能。由于通信线使用的是普通双绞线的特征阻抗120 Ω,所以需要在CAN两端的CANH和CANL之间各加1个120 Ω的终端电阻,使总线阻抗匹配,以较好地抑制干扰。
经过实验,系统能够达到以下要求:
(1)在波特率250 Kb/s、总线长度100 m的情况下,各节点之间通信正常,2个伺服驱动节点能正常工作。
(2)推杆的有效运动长度约为50 mm,5 s内可实现全程运动,可满足油门阀调节快速性的要求。
(3)图5是调试过程中通过CodeSys开发环境的变量观察窗口绘出的2个推杆运动的阶跃响应曲线,其中图5(a)是控制推杆伸出的情况,图5(b)是缩回的情况。图中,x表示位置给定量的阶跃变化,y1、y2分别表示2个推杆位置对阶跃给定的动态响应曲线。由图可以看出,2个推杆的位置均能及时跟随给定量的变化,并能达到控制精度的要求。

本文直流电动已经应用在某大型工程运输车的油门阀控制中,其工作稳定可靠,与气动油门相比,大大提高了油门控制的响应速度和系统的可靠性。该系统的伺服驱动节点结构简单、成本低廉,CAN总线网络的应用使整个系统具有很强的通用性和可扩展性,根据应用需要可以方便地增减驱动节点的数量,实现更多轴和多点的伺服控制系统,并进一步实现多电机的协同控制。

伺服电机相关文章:伺服电机工作原理



上一页 1 2 下一页

评论


相关推荐

技术专区

关闭