Motion86 函式库

86Diuno IDE 从 Coding 318 版开始加入此函式库,利用此函式库能让 86Duino 成为一个简单的多轴运动控制器 (Motion controller)。运动控制 (Motion control) 是自动化技术的一部份,产业自动化可以提升生产速度、降低生产成本、改善生产品质、增强市场竞争力,所以运动控制常被运用在包装、印刷、纺织、半导体器件製造及生产线。

Motion86 函式库能让 86Duino 成为一个具备 Arduino 亲切好上手特色且容易开发的运动控制器,应用于自动化领域,能加快控制器开发速度并降低开发成本。Motion86 函式库主要特色如下:

  • 至多 9 轴的步进与伺服马达运动控制,最高 10MHz 脉波输出。
  • 最多 3 组独立轴群。
  • 支援 G-Code。
  • 多轴直线、圆弧、螺旋插补,细插补週期 0.5ms。
  • 支援 JOG 功能。
  • 支援手摇轮 (MPG)。
  • 速度前瞻 (Look Ahead),程式预读 1024 个单节。
  • 即时反应的速度重设功能 (Feedrate Override)。
  • 可设定电子齿轮比的轴跟随功能。

接线说明与示例

Motion86 函式库最多支援 Machine0、Machine1、Machine2 三个轴群,每个轴群可连接控制一台 XYZ 三轴直角坐标系机器 ── 例如 SABLE CNC 工作室 出品的三轴 CNC 凋刻机,如下图所示:

zero_size

每个 Motion86 轴群提供 X-DIR / X-Pulse、Y-DIR / Y-Pulse、Z-DIR / Z-Pulse 六根接脚,分别连接至机器 X、Y、Z 三轴伺服马达的方向与脉波输入。其中,每一轴的脉波输出皆提供 Pulse/DIR、CW/CCW、A/B Pulse 三种脉波模式,可在初始化阶段透过 config_PulseMode() 函式进行组态。下面是每个轴群在不同型号 86Duino 开发板上的接脚对应表:

轴群编号 轴群脚位 86Duino Zero 86Duino One 86Duino EduCake
0 X-DIR 42 42 42
X-Pulse 9 9 9
Y-DIR 43 43 43
Y-Pulse 6 6 6
Z-DIR 44 44 44
Z-Pulse 5 5 5
1 X-DIR 不支援 18 18
X-Pulse 不支援 13 13
Y-DIR 不支援 19 19
Y-Pulse 不支援 11 11
Z-DIR 不支援 20 20
Z-Pulse 不支援 10 10
2 X-DIR 不支援 33 不支援
X-Pulse 不支援 29 不支援
Y-DIR 不支援 34 不支援
Y-Pulse 不支援 30 不支援
Z-DIR 不支援 35 不支援
Z-Pulse 不支援 31 不支援

下面以 Maker 自製 3D 印表机及 CNC 凋刻机时常用的 A4988 步进马达驱动器为例,提供每个轴群在不同型号 86Duino 开发板上的接线范例:

86Duino Zero 86Duino One 86Duino EduCake
zero_size zero_size zero_size

Machine 类别

此类别提供组态与控制 XYZ 机器轴群的方法,并增加更进阶的函式使运动控制更加弹性与多变。

基本方法

基本控制

写入组态

读取组态

JOG / MPG 控制

速度重设功能

轴跟随功能

协助计算工具


展示影片


函式库参考主页面

The text of the 86Duino reference is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.