• HPGL描述语言在点胶机中的应用 ———HPGL描述语言在点胶机中的应用
    深圳市众为兴数控技术有限公司

    引言:
          HPGL 是HP公司为描述2D图形信息所设计的图形语言,起初并非为提供交换式而定制设计,而是为打印机、绘图仪设计,其对笔和笔的路径描述效率高及其读写方便性,使其成为打印绘图行业标准描述性语言。
           点胶机多数为两轴控制系统,即X、Y轴运动,配合不同胶枪上下、开关动着,完成点胶应用需求;以往的点胶机系统,多数使用教导方式记录运动轨迹(即点胶路径),这种方式比较费时,且精度不高。在这里我们来探讨使用plt文件导入方式来实现对点胶机3D控制。
    我们现做一下对比:
    1、 绘图 VS 点胶
    2、 彩笔 VS 胶枪
    3、 笔的路径 VS 胶枪路径
    两者有非常相似之处,我们只需将彩笔换成胶枪,绘图就成了点胶了。如果我们将胶枪上下动作归为第三轴,那么就是对3D路径的描述了。

    一、HPGL语言对3D路径描述
    图1为一个简单的图形,使用CorelDRAW9软件生成HPGL格式的plt文件,可以清楚看到对这个正方形的描述。



    生成的PLT文件内容:
    IN;
    SP1; //使用1#笔
    LT;
    PU1600 3600; //抬笔移动至(1600,3600)处下笔,除以40得到真实的坐标(40mm,90mm)
    PD4800 3600; //从上一个坐标点下笔移动至当前坐标
    PD4800 6000;  
    PD1600 6000;
    PD1600 3600;
    SP0; //1#笔提笔,还原。

    HPGL中对不同颜色是通过笔号来区分,如下图所示:


    二、移植到点胶系统
    移植到点胶系统,我们必须要做的工作有:
    笔和枪的对应
    1、 将不同的胶枪对应不同的笔号(胶颜色对应笔颜色);
    2、 预先设置不同胶枪的点胶速度(满足点胶均匀要求);
    3、 预选设置不同胶枪的上下高度(以满足阶梯性点胶系统);
    4、 根据PLT文件解释胶枪的3D运动。
    路径的优化算法
    对于复杂的路径,例如小曲线、多拐角等,系统要求做到匀速运行,即按线经矢量速度运行,同时配合好胶枪的开关、上下、换枪等动作,还要有实时显示功能。在实际应用中必须采用先优化后加工的方式进行,如加工文件复杂,还要边加工边优化。下面我们来作曲线优化算法分析,见下图:



    假定我们已经把加工的文件都分成相等的线段,这时我们来讨论如何从A到G点走得平稳且好。
    我们先设定每个角度的速度的最大值,当加工时,运行到对应角度的速度超过它的最大值时电机可能失步。
    0---20 度时----------100mm/s
    21---30 度时----------80mm/s
    31---40 度时----------60mm/s
    41---50 度时----------40mm/s
    51---60 度时----------30mm/s
    61---90 度时----------20mm/s
    91--360 度时----------10mm/s
    假定加工时的起始速度为10mm/s,最大速度为100mm/s。依据上面的的设定和每点的角度,我们得出:
    A 点为起始点, 所以最大速度为10mm/s;
    B 点的角度为40,所以最大速度为60mm/s;
    C 点的角度为60,所以最大速度为30mm/s;
    D 点的角度为30,所以最大速度为80mm/s;
    E 点的角度为50,所以最大速度为40mm/s;
    F 点的角度为90,所以最大速度为20mm/s;
    G 点为终止点,所以最大速度为10mm/s;
    从上面的数据可看出加工时不能以最大的速度(100mm/s)运行,因为有些点的最大速度小于100mm/s,这样会导致电机失步.如果用最小速度10mm/s 加工,则效率会很低.所以我们要优化每点的速度, 既要以最快的速度加工,又要使每点的速度不超过它的最大速度.(即推算出每点实际上加工的速度)。我们设定每个点的速度增量为+/-10mm/s:
    A 点为起始点,所以A 点为起始速度10mm/s,
    B 点的最大速度为60mm/s,但A 点到B 点的增量只有+/-10mm/s,所以B 点的速度为
    20mm/s<=B 点的最大速度.
    C 点的最大速度为30mm/s,所以C 点的速度为30mm/s<=C 点的最大速度.
    D 点的最大速度为80mm/s,所以D 点的速度为40mm/s<=D 点的最大速度.
    E 点的最大速度为40mm/s,如果E 点的速度再增,就会大于E 点的最大速度,所以E 点的速度
    不能再增,只能为40mm/s<=E 点的最大速度.
    F 点的最大速度为20mm/s,但E 点的速度已经为40mm/s,即使通过减10mm/s 的方式,F 点的
    速度也有30mm/s>F 点的最大速度,所以F 点的速度为30mm/s 时不能满足小于最大值的要
    求,需重新反向计算上面点的速度。
    设F 点的速度为20mm/s,那么能推出:
    E 点的速度为30mm/sD 点的速度为40mm/s<=D 点的最大速度;
    后面的点C,B,A 的值跟先前推的一样,所以不必再向前推了;
    G 点为终止点,由于F 点为20mm/s,到G 点时为10mm/s 满足条件;
    最后得出结论:
    A=10mm/s
    B=20mm/s
    C=30mm/s
    D=40mm/s
    E=30mm/s
    F=20mm/s
    G=10mm/s

    以上只是曲线小线段化的一个处理思路,实际应用中,需要对整个路径做到匀速运行,其中还有很多细致的工作,我就不在此赘述了。

    三、应用实例
    笔者采用主流的32位MCU ARM7和FPGA运动芯片构成的4轴控制器(MC4140AX),实现了上述想法。下面是笔者开发的一个点胶机实例,供大家参考!
    系统功能及要求:
    1、 胶枪两只,分别点胶两个不同高度的平面;
    2、 要求速度快速均匀;
    3、 加工图形采用文件(PLT)导入式,不作教导。
    4、 加工工件模具可以沿X、Y任意偏移(但不作旋转);
    5、 要求只对枪一次,无论3中偏移量是多少,系统可自行完成图形整合。即PLT文件图形和要加工的图形(模具)重合。
    其加工图形如下:



    从前面分析来看,不难完成。现在已被东莞精日公司采用,应用在其点胶机系统上,效果良好。MC4140主要构成及其功能见附录1。
    附录1
    功能简述
    ADT-MC4140是一台高性能的现场四轴步进/伺服运动控制器。它内含32路光耦输入,4轴编码器AB相脉冲输入,16路光耦输出,4路脉冲/方向信号输出,RS232通讯模块,U盘功能,可现场编程。采用单色图形液晶显示屏,128×64点阵。
    功能特点
    1. 采用SANSUNG系列的S3C44B0X 单片机(ARM7)主频64MHz
    2. 内含2M Nor FLASH ROM(程序空间)
    3. 内含8M SDRAM
    4. 内含32M Nand FLASH ROM(数据存储,可模拟为U盘)
    5. 支持USB1.1设备接口。
    6. 4路步进/伺服电机脉冲光耦隔离输出,最高频率2MHz。
    7. 脉冲输出可用单脉冲(脉冲+方向)或双脉冲(脉冲+脉冲)方式
    8. 任意2-4轴直线插补,直线加/减速
    9. 32位计数(逻辑位置和实际位置)
    10. 运动中可以实时读出逻辑位置、实际位置、驱动速度
    11. 32路光耦隔离输入(含4路AB相输入)。
    12. 4轴编码器AB相脉冲光耦隔离输入(可做8路开关量输入用)。
    13. 16路集电极开路光耦隔离输出,1~8点共用一公共端,另8点各有独立的公共端。
    14. RS232(±15KV静电保护)。
    15. 开发工具采用UC/OS-II操作系统。

    电气规格
    开关量输入:
    通道:32,全部光耦隔离。
    输入电压:5-24V

    脉冲输出:
    通道:4脉冲,4方向,全部光耦隔离。
    最高脉冲频率:2MHz
    输出类型:5V差动输出
    输出方式:脉冲+方向 或 脉冲+脉冲

    开关量输出:
    输出通道:16全部光耦隔离。其中8路输出共一公共
    端,另8输出各自独立。
    输出类型:NPN集电极开路5-24VDC,最大电流100mA

     
     
    网站首页  |  关于我们  |  联系我们  |  广告服务  |  版权隐私  |  友情链接  |  站点导航