基于DSP的伺服运动控制器2
- 格式:pdf
- 大小:190.05 KB
- 文档页数:3
运动控制器的设计与实现随着现代工业的发展,机器人技术在各个行业中越来越被广泛应用。
而机器人的运动控制器则是机器人运动的重要组成部分。
运动控制器的设计与实现是机器人制造过程中必不可少的一环。
这里主要介绍运动控制器的基本原理、设计流程和实现方法。
一、运动控制器的基本原理运动控制器是机器人的核心控制部分,它主要负责控制机器人的运动。
运动控制器的基本原理是通过驱动机器人的电机实现机器人的运动。
在机器人的控制系统中,运动控制器负责控制电机的转速、力矩等参数,从而控制机器人的姿态、速度、位置等属性,实现机器人的运动。
二、运动控制器的设计流程1、需求分析运动控制器的设计前首先需要对机器人的运动需求进行分析,明确机器人的运动特点,从而确定运动控制器的控制方式。
2、硬件设计在需求分析的基础上,进行硬件设计,包括电机驱动电路、传感器电路、微处理器控制器等部分。
3、编写控制程序硬件设计完成后,需要编写控制程序,将运动控制器与机器人的其他部分进行互联,实现机器人的运动控制。
4、调试测试运动控制器的设计与实现完成后,需要进行调试测试,确保机器人能够稳定运行。
三、运动控制器的实现方法1、基于PLC的运动控制器PLC是可编程逻辑控制器的缩写,它是一种专业用于工业控制的计算机。
PLC的控制程序与机器人的其他控制部分都可以进行通信,实现机器人的运动控制。
基于PLC的运动控制器主要应用于工业自动化行业。
2、基于DSP的运动控制器基于DSP的运动控制器可以实现高速低延迟的运动控制,适用于需要高精度和高速率的机器人运动控制。
3、基于微控制器的运动控制器基于微控制器的运动控制器使用普及度较高的单片机来实现控制。
其成本低、使用方便、开发周期短,是机器人制造初期较为流行的一种控制方式。
四、总结运动控制器的设计与实现是机器人制造的关键部分。
不同的机器人运动特性需要不同的运动控制器参数和控制方式。
设计运动控制器需要考虑多个方面,分析机器人的运动需求,设计控制器硬件和软件,完成调试测试后才能使机器人稳定运行。
基于DSP 的伺服运动控制器黄松林The S erv o C ontrol System Based on DSPHUANG S ong 2lin(黄石理工学院机电工程学院,湖北黄石 435003)摘 要:提出了一种基于DSP 的伺服控制系统,并采用专用运动控制处理器LM628和双口RAM 。
给出了该系统功能、硬件结构和软件设计方法。
实验证明:该控制器不仅可以方便地实现人机交互和实时控制部件的参数化,而且具有良好的动静态性能。
关键词:DSP ;伺服控制;LM628;双端口RAM中图分类号:TP11 文献标识码:B 文章编号:100024858(2007)08200382030 引言现代大制造业的发展对数控机床的核心部件伺服系统提出更高的要求,数字化、交流化、模块化、网络化、高度集成化成为新一代伺服系统的发展趋势。
全数字式交流伺服已成为伺服系统的发展方向。
全数字伺服采用通信总线和数控系统相连,内部采用高速DSP (Digital S ignal Process or )完成位置环、速度环甚至电流环的闭环控制算法,它具有如下特点:①采用数字化给定和数字化反馈,消除了在这两个通道上的干扰对系统性能的影响;②采用数字总线和数控系统相连,使得数控系统可以得到更多的伺服系统内部的信息,有利于各种控制方法的实现和系统监控的实现;③全数字化伺服采用计算机控制,可以采用先进的控制算法,提高伺服系统的跟踪精度,甚至实现零误差跟踪,大大提高机床加工精度;④全数字化伺服可以由计算机系统发出PWM 信号控制功率器件驱动电机,使得控制系统和强电隔离。
有利于提高系统的抗干扰能力和可靠性;⑤采用带有掉电保护功能的光码盘反馈系统,在上电后把机床位置数据反馈回数控系统,省掉参考点动作;⑥可以针对不同的控制对象,自动调节最佳控制参数,使得系统的安装调整更加容易。
1 数控系统的硬件结构及原理图1为伺服控制器硬件结构框图,虚线框里的部分表示伺服控制器,单箭头表示单向信号通道,双箭头表示双向信号通道,各个方框与其周边的信号流作用构成功能模块。
下面以自上向下(从处理运动的流程看)的顺序对各个模块功能及实现进行说明。
图1 伺服控制器结构框图 收稿日期:2007201220 作者简介:黄松林(1969—),男,湖北黄石人,工程师,主要研究方向:机械电子工程。
111 通信模块上位机使用ISA 总线,通过双端口RAM (IDT7132)实现与DSP 的通信[1]。
ID T7132是容量为2K 的8位静态RAM ,作为上位机和DSP 共同的数据存储区。
ID T7132有两个“忙”逻辑(BUSY L 和BUSYR ),分别接到ISA 上的IORD Y 信号线和DSP 的READ Y 引脚。
当两个设备同时访问同一个存储单元时,ID T7132的内部仲裁电路对两个访问进行裁决,通过“忙”逻辑口置高或拉低来允许其中一个设备进行访问,通知另一个设备等待,从而防止双方收发数据出错,利用它可83液压与气动2007年第8期以建立起传输量大且方便快捷的数据通信。
它与DSP 结合起来还可以实现缓冲功能,让用户感觉不到数据传输阻碍。
112 数据处理模块从图1中可以看出,数据信号处理器是整个控制器信号流向最集中的功能模块,它既要处理与上位机和运动处理器的通信,还要对电机进行监控。
这就要求DSP必须具有良好的运算功能、丰富的外部空间和中断资源。
这里选择DSP的型号为TMS320L F2407[2]。
TMS320L F2407A,它所实现的功能包括电机状态采样与计算、电流环和速度环的实现,以及PWM信号的输出、故障检测与保护等。
片内集成了专用于运动控制的外设电路(PWM产生电路、可编程死区、SVPWM 产生电路、捕获单元等),以及其他功能的外设电路(16通道AD转换单元,串行通信接口、CAN控制器模块等),同时能方便地实现各种坐标变换、PID控制、Kalman滤波、功率因数校正(PFC)等控制算法。
它不仅有l6位定点处理器内核,更重要的是它将许多电机控制常用的接口集成到1个DSP控制器上,如拥有2个事件管理器,其中定时器和PWM发生器能驱动2台电机,编码器检测电路能直接与电机的编码器连接。
但是1片TMS320L F2407只能接收2组编码信号,因此对于多轴控制来说这是不够的。
如果多片DSP同时使用,显然会造成协同工作的困扰,一是因为DSP 时序本来就和ISA总线时序不匹配,多片会造成更大的混乱,致使数据传输不再可靠,如果硬要匹配的话只能降低DSP的时钟频率,则处理速度会大大降低;二是如果多片DSP同时要求和上位机通信,将会造成地址线和数据线冲突。
即使解决了通信协调的问题,也会使DSP专注于通信,从而影响系统工作的实时性,甚至根本无法处理别的事情。
用LM628代替TMS320L F 2407来完成反馈调节功能,充分利用TMS320L F2407高达64K的I/O空间和流水线操作,使数据存储更加方便快捷,使其作为控制器的枢纽,通过自身的数据口、地址口、I/O和中断口对其他元件进行工作调度,成为控制器的“管理者”,让LM628成为“计算器”负责一个固定算法的实现,可以方便地扩展多个轴而不会使DSP因开销大而影响系统工作[3]。
因此,它只负责接收和识别上位机发送的控制命令和数据,并进行一些必要的如识别、重组、格式转换等处理,再下达给相应的设备,组织控制系统工作。
反过来,它又采集运动过程的相关数据报告给上位机以供分析和视频处理,并自动监视系统工作状态,防止运动出错或跑飞。
113 伺服处理模块伺服系统模块由编码器反馈和LM628共同完成。
因为光电增量编码器返回六路差分信号,且波形不稳,而LM628只接受三路单极方波信号,因此需要外接整流和整形电路。
这部分是通过芯片DS2632和高速光耦来实现的。
LM628是一个外围微处理器,对采样数据进行动态控制,它主要由轨迹生成器、PID数据滤波器和电机位置解码器组成,利用它可以使设计一个快速精确的动态控制系统大为简化[4]。
开始运行时,主机下传轨迹参数值给T型速度生成器,在每一个采样间隔,这些值用于计算新的要求位置,这些位置和由一个光学增量编码器反馈回来的电机实际位置将一起反馈至求和点,求出的误差信号作为控制循环补偿器的输入,进行PID调节,从而得到控制电机运动的数字量。
因为一片LM628只占用TMS320L F2407两个I/ O地址,为了译码方便,使用逻辑门芯片G AL20V8对其进行译码,DSP的低16位数据线与LM628数据交互通道。
另外,LM628的中断请求信号连接到DSP 的外部中断XIN T2上,LM628内部有6个事件可以触发DSP中断,再通过状态字查询确定中断事件,因此大大提高了中断资源利用率。
114 数模转换和功率放大模块LM628输出的数字量经过数模转换芯片(DAC0832)被转化成模拟信号,经过两运放(LM358)放大,产生-1O ~+10V之间电压信号驱动伺服电机运转。
经过驱动电路后输出电压与输入数字D0~D7的关系为(假设输入值为N):10N128-10,可以看出,当输入数字量为80H时,输出电压为零;为OFFH时输出电压最大,约等于+10V;为00H时输出电压为-10V,与LM628预期工作在8位输出时的情况一致。
2 伺服系统的软件设计伺服控制系统不仅要求可靠的硬件设施,软件设施也对控制性能起着举足轻重的作用。
鉴于本伺服控制器上有集成数字处理芯片TMS320LF2407,因此将软件设计分为上下位机两部分,以最大程度地实现智能化。
211 上位机控制软件上位机软件开发过程中最关键的问题是如何实现该数控系统的双CPU通信,而要实现双CPU通信又具有很大的灵活性和技巧性。
本伺服系统上位机与下位机通信建立在双端口RAM的特性上,双端口RAM932007年第8期液压与气动有两组完全相同的访问端口可供不同的设备访问。
利用Microsoft Visual C++610可方便地开发上、下处理器通信的动态链接函数,包括系统参数调节、轨迹输出、运动过程控制和接受数据报告等四大模块,并且程序设计灵活、迅速并且可移植性好。
通过这些库函数可以完成伺服控制器与PC机之间的通信功能,用户不用直接对端口进行操作就可以完成对伺服控制器的操作。
例如它提供了函数Send Filter(fp),fp是由4个PID滤波参数组成的结构体,通过这个函数很方便地更改了PID滤波参数。
有了动态链接库,用户在进行软件开发的时候只需提出要做什么,而不需要知道怎么去做,因此可以将更多的精力放在人机交互界面上,利用报告数据做出良好的监视与分析系统。
212 DSP控制软件整个伺服系统的性能更多是建立在下位机软件设计上的,因为上位机的每一个指令其实都是在间接调用下位机的函数。
这部分程序由控制器硬件和通信协议决定,包括伺服电机驱动、位置监视、插补程序、通信控制、命令解释等程序模块。
这些模块分别由上位机机的实时控制命令和外设中断程序调用执行,从而实施统一管理的目的。
伺服电机驱动模块主要完成电机伺服器开启或关闭、定义位置原点、运动形态控制、误差控制、运用性能调节等工作。
该模块用以确保电机以合适的状态完成运动。
监视模块包括限位和误差检测。
限位主要是让电机处于运动范围或是在可控范围之内,若超出范围,即向上位机报告并关闭电机,等待下一步指示,该模块用以确保电机运行安全;误差检测是要让电机的位置和速度时刻与预定的一致,若误差超过了容忍程度,则报告上位机请求处理。
因为这时候不是一般的控制器自我调节能做到的,很可能是用户的某些参数设置不妥造成的,需要人工干预。
插补程序模块进行直线插补、圆弧插补和样条插补,以满足实际运动中一些特殊轨迹的需要。
通信控制和命令解释程序完成与上位机的实时数据交互,对于上位机的控制命令,DSP在收到之后予以解释分类,当前必须执行的命令如电机停止指令, DPS立即执行而不管当前电机处于何种状态。
而对于另外一些命令如改动运行加速,此时电机的运行并未终止,改变加速度可导致运动出错,DSP会将命令放在等待队列中,在电机进行下一次轨迹时予以执行。
同时DSP随时把电机的当前运动状态报告给上位机以供读取。
实现运动的可视化。
213 控制策略理想的控制策略不仅能满足系统对动态和静态控制性能的要求,而且还应该能抑制各种非线性、参数时变等因素对系统的影响即具有强的鲁棒性,并且无需依赖控制对象的精确的数学模型。
本系统采用PI控制和模糊自适应控制相结合的智能控制。
对于以电机为控制对象的电气传动控制系统,其模型基本确定,引入智能控制方法,主要是利用其非线性、变结构、自寻优等各种功能来克服电气传动系统的变参数、非线性等不利因素,从而提高系统的综合性能。