打造国内最大的IC交易平台
技术资料 行业资讯 PDF资料 IC价格 IC替换 缩略语 IC供应 IC采购
基于板卡的两轴运动控制系统
类别:电子综合  
 
        

    

    [关键词]步进电机 MPC01 运动控制卡

    1.概述

    两轴运动控制系统 在许多自动化设备中都有应用,如 X-Y 台控制 ,医疗器械(如 X 光机)等。常用的上位控制单元有自开发单片机系统、具有运动控制功能的专用 PLC (如松下 FP0 )等。本文介绍一种更具开放性、控制更灵活的上位控制单元——运动控制卡。

    两轴运动控制系统的执行电机多采用步进电机或全数字式伺服电机。 MPC01 运动控制卡是步进机电公司开发的基于 PC 机 ISA 总线的步进或数字式伺服电机的上位控制单元。它与 PC 机构成主从式控制结构: PC 机负责 人机交互界面的管理和控制系统的实时监控等工作; MPC01 卡完成运动控制的细节(包括脉冲和方向信号的输出、自动升降速处理、原点和限位等信号的检测等)。

    下图为一个简单 的两轴运动控制系统 控制电路接线图:

    

    

    2.两轴运动 系统的基本运动型式及实现方法

    1 . 独立运动

    所谓独立运动 指各轴的 运动之间没有联动关系,可以是单轴运动,也可以是 两轴同时 按各自的速度运动。点 位运动 、连续运动都属于独立运动。

    ( 1 )点 位运动 函数

    点 位运动 是指 被控轴以各自 的速度分别移动指定的距离,在到达目标位置时自动停止。在 MPC01 函数库中共提供了六个点 位运动 指令函数:

    int con_pmove ( int ch , long step ); /* 一个轴以常速 做点 位运动 */

    int fast_pmove ( int ch , long step ); /* 一个轴以快速 做点 位运动 */

    int con_pmove2 ( int ch1 , long step1 , int ch2 , long step2 ); /* 两轴以 常速做点 位运动 */

    int fast_pmove2 ( int ch1 , long step1 , int ch2 , long step2 ); /* 两轴以 快速做点 位运动 */

    ( 2 )连续运动函数

    连续运动是指 被控轴以各自 的速度按给定的方向一直运动,直到碰到限位开关或调用制动函数才会停止。在 MPC01 函数库中共提供了六个连续运动指令函数:

    int con_vmove ( int ch , int dir ); /* 一轴以常速 做连续 运动 */

    int fast_vmove ( int ch , int dir ); /* 一轴以快速连续运动 */

    int con_vmove2 ( int ch1 , int dir1 , int ch2 , int dir2 ); /* 两轴以 常速连续运动 */

    int fast_vmove2 ( int ch1 , int dir1 , int ch2 , int dir2 ); /* 两轴以 快速连续运动 */

    ( 3 )回原点函数

    回原点运动是指 被控轴以各自 的速度按给定的方向一直运动,直到碰到原点信号限位开关或调用制动函数才会停止。在 MPC01 函数库中共提供了六个回原点运动指令函数:

    int con_hmove ( int ch , int dir ); /* 以常速返回原点 */

    int fast_hmove ( int ch , int dir ); /* 以快速返回原点 */

    int con_hmove2 ( int ch1 , int dir1 , int ch2 , int dir2 ); /* 两轴以 常速各自返回原点 */

    int fast_hmove2 ( int ch1 , int dir1 , int ch2 , int dir2 ); /* 两轴以 快速各自返回原点 */

    2 .插补运动:插补运动是指 两轴按照 一定的算法进行联动,被控 轴同时 启动,并同时到达目标位置。插补运动以矢量速度运行,矢量速度分为常矢量速度和梯形矢量速度。与插补运动有关的函数有:

    ( 1 )线性插补函数

    线性插补运动是指 两个轴以矢量 速度(常矢量速度或梯形矢量速度)作线性联动,每个被控轴的运动速度为矢量速度在该轴上的 分速度 ,各个被控 轴同时 启动,并同时到达目标位置。 MPC01 函数库中提供四个线性插补函数:

    int con_line2 ( int ch1 , long pos1 , int ch2 , long pos2 );

    /* 两轴做 平面直线运动 */

    int fast_line2 ( int ch1 , long pos1 , int ch2 , long pos3 );

    /* 两轴做快速 直线运动 */

    ( 2 ) 园弧 插补函数

    圆弧插补运动是指 两个轴以矢量 速度(常矢量速度或梯形矢量速度)沿给定圆弧作联动,每个被控轴的运动速度为矢量速度在该轴上的 分速度 ,由于矢量速度的方向在不断改变,各被控轴的运动 分速度 也在不断改变。各个被控 轴同时 启动,并同时到达目标位置,并且两个轴的合成运动轨迹为给定的圆弧。 MPC01 函数库中提供四个圆弧类插补函数:

    int arc_certer ( int ch1 , int ch2 , long cen1 , long cen2 , float angle );

    /* 两轴以 常矢量速度做 园弧 插补运动 */

    int fast_arc_center ( int ch1 , int ch2 , long cen1 , long cen2 , float angle );

    /* 两轴以 梯形矢量速度做 园弧 插补运动 */

    int arc_final ( int ch1 , int ch2 , int dir , long fx , long fy , long radius );

    /* 以常矢量速度沿 园弧 运动到指定位置 */

    int helical_move ( int CHX , int CHY , int CHZ , long cen1 , long cen2 , float angle , long pitch );

    /* 在 CHX 、 CHY 作圆弧插补运动的同时, CHZ 轴作直线运动 */

    3. 结束语

    通过调用 MPC01 运动控制卡的运动函数库,可以快速、方便地开发 出两轴运动控制系统 。系统控制功能的修改或增、 删 可通过修改控制程序实现,具有较大柔性。