本文以正运动技术具备专用手轮接口的运动控制器zmc408ce为例,介绍手轮、手轮的作用及原理、控制器手轮接口接线以及手轮程序配置。
01 手轮作用及原理
手轮也称手摇脉冲发生器,主要用于数控机床、立体加工中心、卧式加工中心、龙门加工中心等数控设备。当手轮旋转时,编码器产生与手轮运动相对应的信号,通过数控系统选定座标并对座标进行定位。
手动脉冲发生器它中心有轴的光电码盘,其上有环形通、暗的刻线,摇动手轮后,由光电发射和接收器件读取,获得2组正弦波信号ha、hb,每个正弦波相差90度相位差。由于ha、hb两信号相差90度,可通过a相在前还是b相在前,给出正转脉冲或反转脉冲去控制伺服电机正转或反转。
02 手轮介绍
1.通过手轮上的“轴选择旋钮”选择需要移动的坐标轴;
2.通过“倍率选择旋钮”选择合适的移动倍(×1/×10/×100);
3.旋转“手轮摇柄”移动坐标轴。顺时针旋转为正向移动,逆时针旋转为负向移动,旋转速度快慢可以控制坐标轴的运动速度;
4.按钮“急停”,紧急停止手轮运动;
5.控制器手轮接口为双排标准db15母头,需要手轮接头为双排标准db15公头。
手轮接口图示
03 控制器手轮接口接线
1.硬件介绍
案例采用zmc408ce运动控制器,具备专用的手轮接口。
zmc408ce是正运动技术推出的一款高性能ethercat总线运动控制器,核心技术采用了先进的fpga技术,实现硬件位置比较输出、精准输出功能,保证连续轨迹加工的出色性能和稳定性,以及动态数据捕获的实时性,从而实现更加精准控制和提高生产效率和品质。
zmc408ce支持ethercat总线轴 + 脉冲轴混合插补,可脱机或联机运行,可控电机轴数8轴,特殊型号提供16或32轴可选,支持zdevelop + 多种高级上位机混合编程,可以实现点位运动、电子凸轮、直线插补、圆弧插补、连续轨迹加工和30+种机器人模型的控制。
zmc408ce产品亮点
1.高性能处理器,提升运算速度、响应时间和扫描周期等;
2.一维/二维/三维、多通道视觉飞拍,高速高精;
3.位置同步输出pso,连续轨迹加工中对精密点胶胶量控制和激光能量控制等;
4.多轴同步控制,多坐标系独立控制等;
5.ethercat同步周期可快至125us;
6.ethercat总线和脉冲轴混合插补;
7.直线插补、任意空间圆弧插补、螺旋插补、样条插补等;
8.应用灵活,可pc上位机开发,也可脱机独立运行;
zmc408ce视频介绍
2.控制器手轮接口mpg定义
接口 引脚号 信号 说明
1 h-5v 5v电源输出正极,专为手轮供电
2 ha- 编码器a相信号(in40)
3 hb- 编码器b相信号(in41)
4 hemgn 紧急停止信号(in51)
5 nc 悬空
6 hx1 选择x1倍率(in42)
7 hx10 选择x10倍率(in43)
8 hx100 选择x100倍率(in44)
9 hsu 轴选3(in48)
10 hsv 轴选4(in49)
11 egnd 5v电源输出负极,信号公共端
12 hsw 轴选5(in50)
13 hsz 轴选2(in47)
14 hsy 轴选1(in46)
15 hsx 轴选0(in45)
注意:
1.5v电源输出仅为手轮供电,切勿为其他设备供电。
2.该接口中的所有信号均为数字输入信号,编号为in(40-51)。
3.手轮接线参考
4.注意事项
手轮编码器轴接口接线原理如上图所示,手轮厂家的设计多种多样,请先查看手轮内部的设计图后与运动控制器确认正确后谨慎接线;请使用双绞屏蔽线,尤其是环境恶劣的场合,务必使屏蔽层充分接地。
04 程序配置
1.参考以上手轮接线示意图正确连接手轮和控制器;
2.上电后请选ethernet、rs232、rs485任一种接口连接zdevelop;
3.配置轴号:该控制器手轮接口无可用默认axis轴号(映射需避开脉冲轴号),必须进行重映射,操作步骤如下:
base(目标轴号) '重映射的轴号atype(目标轴号)=0 '轴类型设为0base(8) '手轮接口初始轴号8(无效的)atype(8)=0 '手轮接口初始轴类型设为0axis_address (目标轴号)= (-1<<16)+8 '将初始轴号8绑定到目标轴号atype(目标轴号)=3 '设置手脉轴轴类型为正交编码器类型
4.配置io:根据需要赋予轴选(hsx,hsy,hsz,hsu)和倍率(hx1,hx10,hx100)以及紧急停止(hemgn)功能;这些信号本质为数字输入信号,有固定的编号(参见上节),但无固定的功能,需要zdevelop开发;其名称为推荐配置的功能,轴选即为connect同步运动的被连接轴,倍率即connect比率。 5.完成以上配置即可开始使用手轮。
程序示例如下,运行下方程序后,便可实现手轮的控制。
'不同控制器型号,手轮轴号,倍率和轴选择in编号不一样,参考控制器使用手册,本例程使用控制器型号为zmc408ce'不同手轮控制轴数不一样,本例程控制轴数为6个'轴号设置global const axis_x = 0 'x轴global const axis_y = 1 'y轴global const axis_z = 2 'z轴global const axis_u = 3 'u轴global const axis_v = 4 'v轴global const axis_w = 5 'w轴global const def_r = 8 '手轮默认轴号global const axis_r = 10 '手轮重新映射轴号 '倍率in编号设置const io_handlow = 42 '1倍率const io_handmid = 43 '10倍率const io_handhigh = 44 '100倍率'轴选择in编号设置 const io_handx = 45 '手轮x轴const io_handy = 46 '手轮y轴const io_handz = 47 '手轮z轴const io_handu = 48 '手轮u轴const io_handv = 49 '手轮v轴const io_handw = 50 '手轮w轴'紧急停止信号in编号设置const io_handemgn = 51 '急停global dim conflag '手轮连接轴标记conflag = -1atype(def_r) = 0 '还原轴 8 轴类型atype(axis_r) = 0 '还原轴 10 轴类型axis_address(axis_r) = (-1<<16)+ def_r '将 mpg 手脉轴地址映射到轴 10atype(axis_r) = 3 '设置手脉轴轴类型为正交编码器类型units(axis_r) = 1 '设置手脉轴脉冲当量脉冲为单位while 1 if in(io_handx) = on then if in(io_handlow) = on then connect(1, axis_r) axis(axis_x) '链接到轴x, 倍率 1 elseif in(io_handmid) = on then connect(10, axis_r) axis(axis_x) '链接到轴x, 倍率 10 elseif in(io_handhigh) = on then connect(100, axis_r) axis(axis_x) '链接到轴x, 倍率 100 endif conflag = axis_x elseif in(io_handy) = on then if in(io_handlow) = on then connect(1, axis_r) axis(axis_y) elseif in(io_handmid) = on then connect(10, axis_r) axis(axis_y) elseif in(io_handhigh) = on then connect(100, axis_r) axis(axis_y) endif conflag = axis_y elseif in(io_handz) = on then if in(io_handlow) = on then connect(1, axis_r) axis(axis_z) elseif in(io_handmid) = on then connect(10, axis_r) axis(axis_z) elseif in(io_handhigh) = on then connect(100, axis_r) axis(axis_z) end if conflag = axis_z elseif in(io_handu) = on then if in(io_handlow) = on then connect(1, axis_r) axis(axis_u) elseif in(io_handmid) = on then connect(10, axis_r) axis(axis_u) elseif in(io_handhigh) = on then connect(100, axis_r) axis(axis_u) endif conflag = axis_u elseif in(io_handv) = on then if in(io_handlow) = on then connect(1, axis_r) axis(axis_v) elseif in(io_handmid) = on then connect(10, axis_r) axis(axis_v) elseif in(io_handhigh) = on then connect(100, axis_r) axis(axis_v) endif conflag = axis_v elseif in(io_handw) = on then if in(io_handlow) = on then connect(1, axis_r) axis(axis_w) elseif in(io_handmid) = on then connect(10, axis_r) axis(axis_w) elseif in(io_handhigh) = on then connect(100, axis_r) axis(axis_w) endif conflag = axis_w elseif conflag -1 then '取消连接 cancel(2) axis(conflag) conflag = -1 elseif in(io_handemgn) = off then rapidstop(2) endif wend
本次,正运动技术ethercat运动控制器在数控加工手轮随动中的应用,就分享到这里。
博世宣布适用于飞行出租车的新传感器平台
机器人在工业4.0中扮演什么角色
OmniVision推出采用业界最小的分割像素技术的汽车图像传感器
倍加福Visor-Ex01智能眼镜获得工业级认证
一文解析安防视频监控的发展方向
EtherCAT运动控制器在数控加工手轮随动中的应用
氮化镓是什么充电器类型
语音识别芯片的基本原理和工作流程
openharmony是什么
高速光纤能连接智慧工厂吗?
LG或将推出双屏新旗舰V60ThinQ 后置至少三枚摄像头
华为荣耀9国内外的价格对比,华为荣耀9国内外价格相差1500,华为做的漂亮!
东芝半导体收购案背后最担心的是反垄断
如何在 QFN 封装芯片的 PCB 设计上得到尽可能好的串扰性能(中文讲解视频 + PPT下载)
各类传感器在一体化污水处理监测环境中的应用
工控机的组成 工控机的主要类别有哪些
现阶段的区块链现状是怎样的
盛大手机硬性植入 智能市场体现摩尔定律
IHS Markit5G研究表示:82%运营商大力展开5G技术试验,12%将在年底前推出商用5G服务
关于数据存储计划简述与构建和部署及其好处