开源改变世界!!

在任何轴运动期间,ECS 主轴停止。 #266

推推 grbl 2年前 (2023-01-29) 144次浏览
关闭
hedon77 打开了这个问题 2019 年 10 月 26 日 · 11 条评论
关闭

在任何轴运动期间,ECS 主轴停止。#266

hedon77 打开了这个问题 2019 年 10 月 26 日 · 11 条评论

注释

在任何轴运动期间,ECS 主轴停止。 #266

您使用的是什么版本的固件?
1.1f (20191023) (ESP32)

问题是否可重复?
是的。

什么情况下会出现bug?
在任何轴运动期间,ECS 主轴停止。
ECS 控制器仍在发出 2 声蜂鸣声。
在 1.1f (20190708) (ESP32) 版本中一切正常。

最好的祝福

在任何轴运动期间,ECS 主轴停止。 #266 hedon77 添加了 漏洞 有些东西不工作标签 2019 年 10 月 26 日
在任何轴运动期间,ECS 主轴停止。 #266
所有者

我明天会调查的。你能粘贴你的 cpu_map(只是你使用的文本)和你的 $$ 设置吗?

在任何轴运动期间,ECS 主轴停止。 #266
作者
享乐77 评论了 2019 年 10 月 27 日  

你好,

这是核心系统。

#ifdef CPU_MAP_ESP32_ESC_SPINDLE
	// This is the CPU Map for the ESP32 CNC Controller R2	
	
	  // It is OK to comment out any step and direction pins. This
    // won't affect operation except that there will be no output
		// form the pins. Grbl will virtually move the axis. This could 
		// be handy if you are using a servo, etc. for another axis.
		#define CPU_MAP_NAME "CPU_MAP_ESP32_ESC_SPINDLE"	
		
		#define X_STEP_PIN      	GPIO_NUM_12
		#define X_DIRECTION_PIN  	GPIO_NUM_26
		#define X_RMT_CHANNEL		0
		
		#define Y_STEP_PIN      	GPIO_NUM_14
		#define Y_DIRECTION_PIN   	GPIO_NUM_25
		#define Y_RMT_CHANNEL		1
		
		#define Z_STEP_PIN      	GPIO_NUM_27		
		#define Z_DIRECTION_PIN   	GPIO_NUM_33 		 
		#define Z_RMT_CHANNEL		2		
		
		// OK to comment out to use pin for other features
		#define STEPPERS_DISABLE_PIN GPIO_NUM_13		
		
		// *** the flood coolant feature code is activated by defining this pins
		// *** Comment it out to use the pin for other features
		#define COOLANT_FLOOD_PIN 	GPIO_NUM_16			
		//#define COOLANT_MIST_PIN   	GPIO_NUM_21
		
		// If SPINDLE_PWM_PIN is commented out, this frees up the pin, but Grbl will still
		// use a virtual spindle. Do not comment out the other parameters for the spindle.
		#define SPINDLE_PWM_PIN    GPIO_NUM_17 
		#define SPINDLE_PWM_CHANNEL 0
		
		// RC ESC Based Spindle 
		// An ESC works like a hobby servo with 50Hz PWM 1ms to 2 ms pulse range		
		#define SPINDLE_PWM_BASE_FREQ 50 // Hz for ESC
		#define SPINDLE_PWM_BIT_PRECISION 16   // 16 bit required for ESC
		#define SPINDLE_PULSE_RES_COUNT 65535
		
		#define ESC_MIN_PULSE_SEC 0.001 // min pulse in seconds (OK to tune this one)
		#define ESC_MAX_PULSE_SEC 0.002 // max pulse in seconds (OK to tune this one)		
		#define ESC_TIME_PER_BIT  ((1.0 / (float)SPINDLE_PWM_BASE_FREQ) / ((float)SPINDLE_PULSE_RES_COUNT) ) // seconds

		#define SPINDLE_PWM_OFF_VALUE    (uint16_t)(ESC_MIN_PULSE_SEC / ESC_TIME_PER_BIT) // in timer counts
		#define SPINDLE_PWM_MAX_VALUE    (uint16_t)(ESC_MAX_PULSE_SEC / ESC_TIME_PER_BIT) // in timer counts
		
		#ifndef SPINDLE_PWM_MIN_VALUE
				#define SPINDLE_PWM_MIN_VALUE   SPINDLE_PWM_OFF_VALUE   // Must be greater than zero.
		#endif
				
		#define SPINDLE_ENABLE_PIN	GPIO_NUM_22			
		
		// if these spindle function pins are defined, they will be activated in the code
		// comment them out to use the pins for other functions
		//#define SPINDLE_ENABLE_PIN	GPIO_NUM_16
		//#define SPINDLE_DIR_PIN			GPIO_NUM_16		
		
		#define X_LIMIT_PIN      	GPIO_NUM_35 
		#define Y_LIMIT_PIN      	GPIO_NUM_4  
		#define Z_LIMIT_PIN     	GPIO_NUM_15 	
		#define LIMIT_MASK      	B111
		
		#define PROBE_PIN       	GPIO_NUM_32  
		
		//#define CONTROL_SAFETY_DOOR_PIN   GPIO_NUM_35  // needs external pullup
		#define CONTROL_RESET_PIN         GPIO_NUM_34  // needs external pullup
		#define CONTROL_FEED_HOLD_PIN     GPIO_NUM_36  // needs external pullup 
		#define CONTROL_CYCLE_START_PIN   GPIO_NUM_39  // needs external pullup    		
		
#endif
$$
$0=3
$1=250
$2=0
$3=0
$4=0
$5=1
$6=0
$10=15
$11=0.010
$12=0.002
$13=0
$20=0
$21=1
$22=1
$23=4
$24=2000.000
$25=100.000
$26=250
$27=3.000
$30=1000.000
$31=0.000
$32=0
$100=100.000
$101=100.000
$102=400.000
$110=2000.000
$111=2000.000
$112=400.000
$120=200.000
$121=200.000
$122=200.000
$130=300.000
$131=300.000
$132=300.000

最好的祝福

在任何轴运动期间,ECS 主轴停止。 #266
所有者

@hedon77

我想我可能已经发现了问题。原始 Grbl 仅支持 8 位 PWM。需要 16 位 PWM 才能准确运行伺服/ESC 型 PWM。步进模块使用 8 位值存储和重置 PWM,因此它破坏了数字。

我需要做更多的测试并清理我添加的调试代码以确保。

我不知道问题是何时/如何出现的。我的 ESC 测试装置需要很长时间才能设置,所以我不经常使用它。

在任何轴运动期间,ECS 主轴停止。 #266
所有者

@hedon77

我将一些修复推送到 devt 分支。你能试试吗?我对“CPU_MAP_ESP32_ESC_SPINDLE”cpu 映射进行了一些更改。如果您正在使用它,则需要制作一个新的。

现在还有该功能的 wiki 页面

我注意到你的示意图标题中有“ANT”。这是给 ANT PCB 制造商的吗?当你让它运行时,我很乐意看到一些照片。

在任何轴运动期间,ECS 主轴停止。 #266
作者

你好,

上传开发库后,Y 轴电机停止工作。主轴也不工作。

这就是我在分享完有关动作的电影后立即提交“蚂蚁”的方式:D

最好的祝福

在任何轴运动期间,ECS 主轴停止。 #266
所有者
培养 评论了 2019 年 10 月 28 日  

我改变了cpu映射。这可能是问题所在吗?使用您之前使用的 cpu_map。使用新名称将旧文件复制到 cpu_map.h 中。在 config.h 中更改为该名称

我不得不将其更改为我使用的硬件。

在任何轴运动期间,ECS 主轴停止。 #266
作者
享乐77 评论了 2019 年 10 月 31 日  

映射引脚后,轴工作。主轴工作但仍发出声音。这个拼接过程是必要的吗?早期的主轴操作对我来说更简单方便,也许你可以选择性地做这个新程序?
周末我会写一段机器操作的视频。

在任何轴运动期间,ECS 主轴停止。 #266
所有者

什么拼接?什么声音?什么程序?

在任何轴运动期间,ECS 主轴停止。 #266
作者

什么拼接?

需要开启顺序吗?

什么声音?

影片将显示,开机顺序后的主轴发出持续的声音。

什么程序?

开启序列。

对不起我的英语,这不是我的母语。

谢谢最好的问候

在任何轴运动期间,ECS 主轴停止。 #266
所有者

对于我的 ESC,只需执行一次开启序列即可了解 PWM 范围。之后,您只需等待准备就绪的蜂鸣声。

我不知道你的噪音是什么。我的很好。我观察了示波器,PWM 始终稳定。

在任何轴运动期间,ECS 主轴停止。 #266

您是通过电池还是电源运行。电源可能没有所需的峰值电流。