登录站点

用户名

密码

控制系统 - 运动控制技术社区

  • 分享

    基于LM628的运动控制器

    GeorgeEllis 2010-01-13 17:32

         集成电路LM628是专用的运动控制处理器,是为使用增量式编码器作位置反馈的各种直流或无刷直流伺服电动机伺服系统或其他伺服机构而设计的,它能为先进的运动控制提供强大的实时运算能力。为便于与上级主机的连接而提供了便利的高级指令集。LM628的制作采用NMOS结构和28脚双列直插式封装,一片LM628电路和一个D/A转换器、一个功率放大器、一台直流电动机、一个增量编码器就可构成一个伺服系统(见图)。


      

      单片运动控制器LM628概述
         LM628实际是一个为专门用途设计的单片机,其特点可作如下描述:
        (1) 32bit的位置、速度、加速度寄存器;
        (2) 16bit的可编程数字PID滤波器;
        (3)可编程微分采样间隔;
        (4) 8bit或12bitD/A转换器输出数据;
        (5)内部梯形速度图发生器;
        (6)速度、目标位置和滤波器参数在运动过程中可以改变;
        (7)可选择位置或速度控制方式;
        (8)实时可编程的主计算机中断;
        (9) 8bit并行异步主计算机中断;
        (10)与增量式编码器的接口。
        在上述硬件和软件特性的支持下,LM628执行如下功能:
        (1)接受主机的指令和向主机提供状态和数据;
        (2)执行梯形速度图的计算和数字滤波,不论是LM628设置为位置控制还是速度控制方式,梯形速度图发生器计算出需要的梯形速度分布图;
        (3)利用增量编码器反馈实际位置;
        (4)在运行中进行预定位置(速度图发生器计算的位置)与实际位置的减法运算,此位置误差经数字PID滤波器处理后输出,由外接D/A转换器和功率放大,驱动电动机到达预定位置。
       LM628的引脚
         LM628采用28引脚双列直插式封装,其各引脚功能简述如下:
        1(IN):接收从增量编码器来的标记(index)亦即零位信号。
        2和3(A、B):接收从增量编码器来的两个正交信号。当电动机正转时,2脚信号应超前于3脚信号90。。
        4~11(DO~D7):连接主计算机或主处理器的I/O口。利用CS(12脚)、PS(16脚)、RD(13脚)和WR(15脚)可向LM628写入指令和数据,或从LM628'读出状态字节和数据。
        12 (CS):片选输入,由主机用来选LM628,进行读写操作。
        13(RD):由主机用来读出LM628的状态和数据。
        14 (GND):电源地。
        15 (WR):由主机用来向LM628写入指令和数据。
        16 (PS):由主机用来选择LM628的指令口或数据口。当PS为低电平时,向指令口写入
    指令,或从指令口读出状态;当PS为高电平时,经数据口写入或读出数据。
        17 (HI):高电平有效,通知主计算机中断条件已具备。
        18~25 (DACO~DAC7):DAC输出口。对于8bit输出方式,输出锁存数据给外接D/A转换器。18脚是MSB,25脚是LSB。对于12bit输出方式,18~23脚输出6bit数据。18脚是MSB,23脚是LSB。24脚低电平时输出低位6bit数据,高电平时输出高位6bit数据,25脚信号正跳沿用来选通这些数据,其时序见图13. 32。
        26(CLK):系统时钟输入端。
        27(RST):复位输入端。
        28 (VDD):电源,电压为+4. 5~,≤lOOmA。

     


       LM628的用户指令集
         LM628具有如下的技术指标:
        位置控制范围:-1073741824~+1073741824个传感器计数,即- 232/4~232/4。
        速度控制范围:0~1073741823/216计数/采样,即每次采样的计数范围为0~16383,分辨率为1/216计数/采样。
        加速度控制范围:0~l073741823/216计数/采样/采样,即0~16383计数/采样/采样,分辨率1/216计数/采样/采样。
        工作方式:位置控制和速度控制。
        控制算法:比例、积分、微分(PID)。
        采样间隔(T):微分:2048/fdk~2048×256/ fdk(对于fdk= 8MHz,即256~65536FLs);比例、积分:2048/fdk。
         从上述技术指标可以看到LM628为形成伺服系统提供了必要的资源和设计的灵活性。LM628的主机接口为上级机对其编程和监控提供便利,而在软件上主机的编程和监控功能则是通过向LM628下达用户指令来实现的。LM628支持的用户指令集如表13.4,这些指令包括初始化、中断控制、滤波器控制、轨迹控制、数据上报等功能,其中一些指令是单独的,而另一些指令需要一个支持数据结构。例如,指令STT(启动)不需附加数据,而指令LFIL(装入滤波器参数)则需要附加上微分项采样间隔和滤波器参数等2~10个字节的数据。


         因篇幅所限,各用户命令在此不作详细说明,有兴趣的读者可参阅有关文献。和任何微处理器与外围芯片之间的命令和数据传输一样,主机和LM628之间的命令和数据的传输,必须遵从相应的时序。
      LM628的基本功能
        (1)位置反馈接口功能
         增量编码器三个信号A、B和IN接至LM628。两个正交信号用来跟踪电动机的绝对位置,它们组成四个不同逻辑状态,此逻辑状态的每一次改变,相应的LM628内位置寄存器增加或减少一个数。这样,系统分辨率比该编码器条纹数高4倍。这也是位置最大计数为232/4的原因。
         IN信号是每一转出现一次低电平的脉冲信号,当编码器三个信号都是低电平时产生index信号送内部专门的寄存器index,用于记录电动机的绝对位置。
        (2)速度曲线的发生
         梯形速度曲线发生器计算出期望位置与时间关系。在位置控制方式时,主计算机确定了加速度(减速度)、最高速度和最后位置并通过用户命令传递给LM628,LM628则利用这些信息使电动机以规定加速度加速到最高速度,或开始减速,直至停到规定的最终位置上。图13. 33(a)表示这种简单的梯形速度曲线,其中减速度和加速度相等。但在某些运动过程中,最高速度或目标位置允许改变,电动机相应地进行加速或减速,如图13. 33(b)所示。


         在速度控制方式时,电动机以规定加速度加速至规定速度,并维持这个速度直至指令结束。如果运动存在扰动,其长时间的平均速度仍维持为恒值。
         运动轨迹参数是以32位计数表示的值。位置是一个带符号的量,而速度和加速度则定义为由16位整数部分和16位小数部分组成的正数。速度的整数部分表示每次采样间隔中电动机转过的计数,而小数部分则表示每次采样间隔中附加的小数部分的计数。虽然位置的分辨率受到整数计数的限制,小数部分的计数却提高了平均速度的精度。加速度也同样处理。在每次采样间隔中,由命令指定的加速度被加到当前给定速度上以产生新的给定速度,除非给定速度已经到达。
        (3) PID补偿滤波器
         LM628用一个数字PID滤波器来补偿被控制的闭环系统。在预定位置上,对于任何扰动,电动机都产生一个转矩来保持此位置。此回复转矩正比于位置偏差加上偏差的积分和微分.
    这是大家都很熟悉的PID控制方式的离散形式。式中咒表示第咒次采样,而规7表示以微分
    采样速率进行的采样,Kp、Ki、Kd为由用户设定的滤波参数。
         电路内的位置误差信号为16位,PID运算的结果也是16位。取决于输出方式,取16位结果的高8位或高12位作为LM628输出,成为控制电动机的信号。
        (4) DAC输出
         LM628的DAC输出口可提供锁存8bit并行输出或双重12bit输出。这个DAC输出数据是移位二进制码。对于8位码,其零点是80h,对于12bit码,零点是800h。当输出数据小于零点时,电动机产生的是负转矩;大于零点的数据,则产生正转矩。
         这里顺便介绍一下LM628的姐妹芯片LM629,LM629的DAC输出口提供两个信号,一个是8位的PWM信号(19脚),另一个则是符号(18脚)。这种输出可用来直接驱动开关型功率放大器,形成脉宽调制驱动装置并进而驱动电动机。
      运动控制器的电路设计
         图13. 34给出了一个基于LM628的最小系统。LM628用8bit并行总线与主计算机接口。地址线经译码后作为LM628的CS输入;地址的LSB直接驱动PS输入。LM628 8bitDAC输出接D/A转换器,送LM12线性功率放大器驱动直流伺服电动机。

     

  • 举报 #1
    韩斐 2011-10-06 08:52
    单片运动控制器LM628概述
你还不是该群组正式成员,不能参与讨论。 现在就加入