Pre-launch preview — prices, stock and shipping rates shown here are provisional and online payment is not open yet. Questions: service@nenpower.com
English

Programming

编程指南

坐标系、支持的 GCode 与 M 指令、速度与加速度设置、Python 辅助库,以及一个完整的抓取放置示例。

编程指南

预览版文档。 本产品处于上市前预览阶段,规格与指令在发货前可能调整。

SCARA 控制器与我们的 Delta 机器人 使用同一系列的 GCode 固件。 逆运动学在 ESP32 上完成,因此你直接下发笛卡尔坐标即可。

坐标系

  • 原点:底座中心、桌面高度。
  • X 指向前方(远离线缆出口),Y 指向左侧,Z 向上。
  • R 为腕部角度(度),0° 与小臂方向一致。
  • 可达范围:半径 60–280 mm 的环形区域;Z 为 0–100 mm。

超出范围的指令会返回 error: out of range,机械臂不会运动。

运动指令

指令 含义 示例
G0 快速移动 G0 X200 Y50 Z30
G1 按进给速度 F(mm/min)直线移动 G1 X150 Y0 F3000
G4 暂停,P 单位为毫秒 G4 P250
G28 全轴回零 G28
G90 / G91 绝对 / 相对坐标 G91

I/O 与末端执行器

指令 含义
M3 S<0–100> 夹爪以 S% 的力闭合
M5 夹爪张开
M7 / M9 真空吸附开 / 关(教育套装)
M42 P<0–3> S<0/1> 设置 24 V 数字输出
M119 报告限位开关与急停状态
M114 报告当前位置

速度与加速度

M203 J1:180 J2:180 Z:50 R:360   ; 各关节最大速度(度/秒、毫米/秒)
M204 A800                         ; 笛卡尔加速度,mm/s²

搬运较重或较高的物体时请降低加速度,以免掉落。

Python 辅助库

nenpower_scara 辅助模块随控制器源码包提供。

from nenpower_scara import Scara

arm = Scara("/dev/ttyUSB0")      # Windows 上为 COM3
arm.home()
arm.move(200, 0, 50)
arm.move(150, 120, 20, r=45, speed=3000)
arm.grip(80)

示例:把四个方块排成一行

from nenpower_scara import Scara

arm = Scara("/dev/ttyUSB0")
arm.home()

pick = [(180, -80), (180, -40), (180, 0), (180, 40)]
place_y = 120

for i, (x, y) in enumerate(pick):
    arm.move(x, y, 40)
    arm.move(x, y, 5)
    arm.grip(80)
    arm.move(x, y, 40)
    arm.move(120 + i * 35, place_y, 40, r=90)
    arm.move(120 + i * 35, place_y, 6, r=90)
    arm.release()
    arm.move(120 + i * 35, place_y, 40, r=90)

arm.move(200, 0, 60)

最后更新 21 Sep 2026