注释
你好casiobearing: |
最简单的方法是将 pwm 值从 x 更改为 256-x,这将反转 El 周日,2016 年 3 月 20 日,viewsat notifications@github.com escribió:
|
作者
不想弄乱埋在那里的复杂 pwm 计算东西,所以最简单的是反转输出是翻转 PWM 寄存器位,并使端口成为一个简单的 I/O 停止。 |
你好casiobearing, |
大家好, @casiobearing: 我会尝试按照你写的修改 mi 文件。 |
你好 casiobearing: |
我刚刚用运行 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_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
这听起来像是添加到配置选项的明智选择吗?