CanFestival86 是 CanFestival 的 x86 porting 版本,可运行于自带 CAN Port 的 86Duino One 板子。 CanFestival 是開源的 CANopen Stack,包办了 CANopen CiA DS-301 标准的核心通讯系统,还包含了 CiA DS-302 Configuration Manager 以及 CiA DS-305 LSS 等重要实作。 其支援相当多的平台,可以运行在 PC 环境或是常见的 Embedded System,现在透过 CanFestival86 Library 就可以运行在 DMP x86/Dos 平台下。 原始码 CanFestival86 原始码可以在 Github 页面 下载。 Examples 内建的 master_node 与 slave_node 范例程式码,展示了 CanFestival 核心的运作过程。 详细的 CanFesitval Library 安装、线路连接、master_node […]
86Duino Zero 的 USB-HOST 接头旁,您可以找到 DM222 开头的字样,如下图, 若为 DM222A 字样,此 86Duino Zero 为旧版,若为 DM222B 字样,此 86Duino Zero 为新版。 86Duino Zero 软体说明页面 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.
描述 在使用 config_PPU 设定 PPU(Pulse per Unit) 时,可使用协助计算函数来求得设定参数。 PPU(Pulse per Unit) 关系如下图: 86Duino 发送 pulse 到步进马达驱动板,驱动板便会发送 step 使步进马达旋转。 micro_stepping:- 步进马达驱动板上的参数,若要打出一个 step,需从 86Duino 接收到的 pulse 数。 steps_per_revolution: - 步进马达上的参数,若要转动一圈需从步进马达驱动板接收到的step数。 pulses_per_revolution 之计算公式为 steps_per_revolution * micro_stepping。 参数需要测量导螺杆牙距与齿轮箱齿轮比,如下图: 语法 machine.computePPU_LeadScrew(pulses_per_revolution, leadscrew_pitch, gear_ratio); 参数 machine:为 Machine物件。 pulses_per_revolution:让步进马达转一圈,86Duino需要打的pulse数。 leadscrew_pitch:导螺杆牙距。 gear_ratio:齿轮箱的齿轮比,gear_ratio 之值为输出齿轮齿数 / 输入齿轮齿数,即gear_ratio = Toutput / Tinput。 回傳 double: […]
描述 在使用 config_PPU 设定 PPU(Pulse per Unit) 时,可使用协助计算函数来求得设定参数。 PPU(Pulse per Unit) 关系如下图: 86Duino 发送 pulse 到步进马达驱动板,驱动板便会发送 step 使步进马达旋转。 micro_stepping: - 步进马达驱动板上的参数,若要打出一个 step,需从 86Duino 接收到的 pulse 数。 steps_per_revolution: - 步进马达上的参数,若要转动一圈需从步进马达驱动板接收到的step数。 pulses_per_revolution 之计算公式为 steps_per_revolution * micro_stepping。 参数需要测量皮带牙距与齿轮的齿数,如下图: 語法 machine.computePPU_Belt(pulses_per_revolution, belt_pitch, pulley_tooth_count); 參數 machine:为 Machine物件。 pulses_per_revolution: 让步进马达转一圈,86Duino需要打的pulse数。 blet_pitch: 皮带牙距,单位为毫米。 pulley_tooth_count: 与步进马达同步旋转之齿轮的齿数。 Return double: PPU (Pulse per […]
描述 电子滚轮可设置为相对于电子滚轮移动轴,使用此功能后,目标设备也可设置为相对于电子滚轮移动轴。 用法 machine.config_EGearSlave(target, xRatio, yRatio, zRatio); 参数 machine:用于 Machine 属性。 target:用于 Machine 对象,此目标设备取决于相对于坐轴运动的电子齿轮。 xRatio:对应于 X 轴的电子齿轮比。 yRatio:Y 轴的电子齿轮比。 zRatio:Z 轴的电子齿轮比。 回传 bool: true:两个设备均存在且构建成功。 false:可选设备不存在或创建失败。 例 Slave_machine 将对电子齿齿率(1.5, 0.5, 1.0) 紧随机器进行G代码运动。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 […]
描述 取得进给速率覆写比例。 语法 machine.getFeedrateOverride(); 参数 machine:为 Machine物件。 无参数。 回传 double: 进给速率覆写比例 范例 machine 进行 G-code 运动时,根据 Encoder 动态调整 feedrate。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 […]
描述 覆写并重新计算 buffer 中未执行区块之进给速率。 语法 machine.feedrateOverride(ratio); 参数 machine:为Machine物件。 ratio:进给速率覆写比例,该比例应大于 0。 回传 无回传值。 范例 machine 进行 G-code 运动时,根据 Encoder 动态调整 feedrate。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 […]
描述 取得机器于 JOG / MPG 模式下的目标位置。 语法 machine.getJogPos(axis); machine.getJogPos(x, y, z); 参数 machine:为 Machine物件。 axis:欲取得位置之运动轴,可为 AXIS_X, AXIS_Y or AXIS_Z。 x:取得 X 轴的目标位置。 y:取得 Y 轴的目标位置。 z:取得 Z 軸的目标位置。 回传 getActualPos(axis): double:回传该运动轴之位置。 getActualPos(x, y, z): 无回传值,直接使用参考获取 X, Y, Z 轴位置。 范例 设定机器的基本参数,并启用 Jog 模式,触发按钮时移动。 1 2 3 4 5 6 7 8 9 […]
描述 設置在 MPG 模式下,Encoder 變化量與距離之倍率。 语法 machine.setMpgRatio(rate); 参数 machine:为 Machine物件。 rate:Encoder 变化量与距离之倍率,该值应大于 0。 回传 无回传值。 范例 设定机器的基本参数,并启用 MPG 模式,Encoder 值变动时会连动 X 轴。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 […]
描述 设定在 MPG 模式下的对应输出轴。 语法 machine.setMpgAxis(axis); 參數 machine:为 Machine物件。 axis:对应输出轴,可为 AXIS_X, AXIS_Y or AXIS_Z。 回傳 無回傳值。 範例 设定机器的基本参数,并启用 MPG 模式,Encoder 值变动时会连动 X 轴。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 […]