开源改变世界

6轴伺服机问题 #725

推推 grbl 3年前 (2023-01-30) 254次浏览
关闭
AndreasEpp 打开了这个问题 2020 年 12 月 30 日 · 4条评论
关闭

6轴伺服机问题#725

AndreasEpp 打开了这个问题 2020 年 12 月 30 日 · 4条评论

注释

6轴伺服机问题 #725

你好,
我无法让我的 6 轴伺服机器(所有 6 轴都是伺服)运行。无论我发送哪个 g 代码,舵机都不会移动。
我认为硬件没问题,因为所有 6 个伺服系统都通过带有 ledcWrite 等的简单 Arduino 草图移动。
控制器本身也没有问题,因为我可以通过串口、telnet 和网页访问它。
我的机器文件如下所示,包含在 Machine.h 文件中。

#define MACHINE_NAME            "6AxisRobot"

#define N_AXIS 6

#define SERVO_X_PIN    			GPIO_NUM_13
#define DEFAULT_X_MAX_TRAVEL    120.0
#define DEFAULT_X_HOMING_MPOS   60.0
#define X_SERVO_CAL_MIN         1.0
#define X_SERVO_CAL_MAX         1.0

#define SERVO_Y_PIN    			GPIO_NUM_27
#define DEFAULT_Y_MAX_TRAVEL    120.0
#define DEFAULT_Y_HOMING_MPOS   60.0
#define Y_SERVO_CAL_MIN         1.0
#define Y_SERVO_CAL_MAX         1.0

#define SERVO_Z_PIN             GPIO_NUM_26
#define DEFAULT_Z_MAX_TRAVEL    120.0
#define DEFAULT_Z_HOMING_MPOS   60.0
#define Z_SERVO_CAL_MIN         1.0
#define Z_SERVO_CAL_MAX         1.0

#define SERVO_A_PIN    			GPIO_NUM_25
#define DEFAULT_A_MAX_TRAVEL    120.0
#define DEFAULT_A_HOMING_MPOS   60.0
#define A_SERVO_CAL_MIN         1.0
#define A_SERVO_CAL_MAX         1.0

#define SERVO_B_PIN             GPIO_NUM_33
#define DEFAULT_B_MAX_TRAVEL    120.0
#define DEFAULT_B_HOMING_MPOS   60.0
#define B_SERVO_CAL_MIN         1.0
#define B_SERVO_CAL_MAX         1.0

#define SERVO_C_PIN             GPIO_NUM_32
#define DEFAULT_C_MAX_TRAVEL    120.0
#define DEFAULT_C_HOMING_MPOS   60.0
#define C_SERVO_CAL_MIN         1.0
#define C_SERVO_CAL_MAX         1.0

我的开机信息

ets Jun  8 2016 00:22:57

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:1216
ho 0 tail 12 room 4
load:0x40078000,len:9720
ho 0 tail 12 room 4
load:0x40080400,len:6352
entry 0x400806b8

[MSG:Grbl_ESP32 Ver 1.3a Date 20201124]
[MSG:Compiled with ESP32 SDK:v3.2.3-14-gd3e562907]
[MSG:Using machine:6AxisRobot]
[MSG:Axis count 6]
[MSG:RMT Steps]
[MSG:Init Motors]
[MSG:No spindle]

[MSG:Client Started]
[MSG:Connecting MYROUTER]
[MSG:Connecting.]
[MSG:Connecting..]
[MSG:Connecting...]
[MSG:Connecting....]
[MSG:Connecting.]
[MSG:Connected with 192.168.178.74]
[MSG:Start mDNS with hostname:http://grblesp.local/]
[MSG:SSDP Started]
[MSG:HTTP Started]
[MSG:TELNET Started 23]

Grbl 1.3a ['$' for help]

至于我的用例:
我正在尝试让这些便宜的中国 6 自由度机器人手臂之一与 grbl_esp32 一起工作。

提前致谢!

6轴伺服机问题 #725
所有者

在所有舵机上都这样改变。#define SERVO_X_PIN 到 #define X_SERVO_PIN

它应该可以工作,但是以前从未测试过。它没有为此进行优化。每个舵机使用一个占用内存的 RTOS 任务。

如果您遇到崩溃,我们可以将其重写为仅对任意数量的舵机使用一个任务。

6轴伺服机问题 #725

感谢您的快速回复!
他们现在搬家了:)

我从这里的模板文件中得到了错误的定义。
也许这需要一些修复;)

但是仍然存在一个小问题。看起来限制设置不正确:

[MSG:Grbl_ESP32 Ver 1.3a Date 20201124]
[MSG:Compiled with ESP32 SDK:v3.2.3-14-gd3e562907]
[MSG:Using machine:6AxisRobot]
[MSG:Axis count 6]
[MSG:RMT Steps]
[MSG:Init Motors]
[MSG:X  Axis RC Servo Pin:13 Pulse Len(3276,6553) Limits(60.000,180.000)]
[MSG:Y  Axis RC Servo Pin:27 Pulse Len(3276,6553) Limits(60.000,180.000)]
[MSG:Z  Axis RC Servo Pin:26 Pulse Len(3276,6553) Limits(-60.000,60.000)]
[MSG:A  Axis RC Servo Pin:25 Pulse Len(3276,6553) Limits(-60.000,60.000)]
[MSG:B  Axis RC Servo Pin:33 Pulse Len(3276,6553) Limits(-60.000,60.000)]
[MSG:C  Axis RC Servo Pin:32 Pulse Len(3276,6553) Limits(-60.000,60.000)]

是否可以将它们全部设置为 0…120 或 -60…60 ?
60…180 处理起来很奇怪。

否则它就像一个魅力!通过 Telnet 的连接是稳定的,到目前为止没有崩溃。

6轴伺服机问题 #725
所有者

这是关于机器范围的一个很好的参考。

https://github.com/bdring/Grbl_Esp32/wiki/Machine-Space-and-Homing

6轴伺服机问题 #725

你好,
成功了,谢谢!

对于搜索的任何人:
$23=0
将改变归位方向,从而改变轴“开始”的位置
=> 现在所有轴报告从 -60 到 60

感谢您的帮助和您在 grbl_esp32 上的工作!