开源改变世界!!

反转 PWM 信号并使用 +5v 关闭主轴电机。 #918

推推 grbl 2年前 (2023-01-23) 93次浏览

打开
casiobearing 开启了这个issue 2016 年 3 月 1 日 · 6条评论
打开

反转 PWM 信号并使用 +5v 关闭主轴电机。#918

casiobearing 开启了这个issue 2016 年 3 月 1 日 · 6条评论

注释

反转 PWM 信号并使用 +5v 关闭主轴电机。 #918

我刚刚用运行 GRBL v0.9j 的 Arduino Uno 升级了我的 6040 CNC 控制器。

一切顺利,但主轴速度控制在倒退;S0 => 全速,S1000 => 停止,M5 使主轴以 100% 速度运行而不是关闭。

我做了一些实验代码来反转 PWM 信号,并允许通过 M5 和 +5v 信号关闭主轴 – 最简单的方法是将 PWM 端口切换回正常模式并设置端口位。

我从 spindle_init()
SPINDLE_PWM_DDR |= (1 << SPINDLE_PWM_BIT); 中删除了以下行;// 配置为 PWM 输出引脚。

spindle_init() 可能还可以根据下面的停止代码将引脚设置为“关闭”状态,以保持代码一致。

我在 spindle_stop() 的开头添加了以下内容

#ifdef VARIABLE_SPINDLE
SPINDLE_PWM_DDR &= ~(1 << SPINDLE_PWM_BIT); // 配置为普通输出引脚。

ifdef INVERT_SPINDLE_ENABLE_PIN

SPINDLE_PWM_PORT &= ~(1 << SPINDLE_ENABLE_BIT);

别的

SPINDLE_PWM_PORT |= (1 << SPINDLE_ENABLE_BIT);

万一

我将以下行添加到 spindle_set_state() -(将端口切换到 PWM 模式)

SPINDLE_PWM_DDR |= (1 << SPINDLE_PWM_BIT); // 配置为 PWM 输出引脚。

TCCRA_REGISTER = (1<<COMB_BIT) | (1<<COMB_BIT0) | (1<<WAVE1_REGISTER) | (1<<WAVE0_REGISTER);

加上#define COMB_BIT0 COM2A0

这听起来像是添加到配置选项的明智选择吗?

反转 PWM 信号并使用 +5v 关闭主轴电机。 #918

你好casiobearing:
你能给我修改过的spindle_control.c这个文件吗?
谢谢你!

反转 PWM 信号并使用 +5v 关闭主轴电机。 #918

最简单的方法是将 pwm 值从 x 更改为 256-x,这将反转
脉冲。

El 周日,2016 年 3 月 20 日,viewsat notifications@github.com escribió:

你好casiobearing:
你能给我修改过的spindle_control.c这个文件吗?
谢谢你!


您收到此消息是因为您订阅了此线程。
直接回复此邮件或在 GitHub
#918(评论)上查看

反转 PWM 信号并使用 +5v 关闭主轴电机。 #918

不想弄乱埋在那里的复杂 pwm 计算东西,所以最简单的是反转输出是翻转 PWM 寄存器位,并使端口成为一个简单的 I/O 停止。
提供给 viewstat 的修改代码。

反转 PWM 信号并使用 +5v 关闭主轴电机。 #918

你好casiobearing,
昨天你发邮件给我修改代码,让pwm电压可以反转。
非常感谢你!

反转 PWM 信号并使用 +5v 关闭主轴电机。 #918

大家好,
我来到这里是为了寻找一种方法来正确控制我的激光驱动器,它与标准主轴的否定逻辑一起工作。
我认为这对于许多使用激光驱动器的人来说可能是一个非常有用的升级!

@casiobearing: 我会尝试按照你写的修改 mi 文件。
你能把你修改后的文件也发给我吗?谢谢你。

反转 PWM 信号并使用 +5v 关闭主轴电机。 #918

你好 casiobearing:
你能修改 GRBL V1.1 反相 PWM 信号并使用 +5v 关闭主轴电机吗?
谢谢你!

喜欢 (0)