开源改变世界

M4和M3的PWM不一样 #444

推推 grbl 3年前 (2023-01-29) 226次浏览
打开
Masznotwor 打开了这个问题 2018 年 6 月 19 日 · 4条评论
打开

M4和M3的PWM不一样#444

Masznotwor 打开了这个问题 2018 年 6 月 19 日 · 4条评论

注释

M4和M3的PWM不一样 #444

您好(感谢您修复了之前的问题,但是又出现了一个新问题)

## 以下是我重现该问题所遵循的步骤:

我在向导中进行了配置 – 车床
我在 MDI 中启动和设置机器
,它指定 M3 S100 或 M4 S100 命令也类似

## 这是我期望发生的事情:

我应该为右转和左转获得相同的 PWM。

## 这就是发生的事情:
对于 M3 PWM 似乎还可以,但对于 M4 它当然很慢
,如果速度增加,M4 和 M3 的 PWM 增加,但 M4 仍然慢得多

视频测试

## 之前都正常:
我之前的配置都是几年前做的,一直都是前几年的操作

## 有关我的硬件和软件的信息:

问题我检测到 LinuxCNC 2.7.13 已发布然后我更新到 LinuxCNC 2.7.14 已发布我发布了配置但问题仍然存在

M4和M3的PWM不一样 #444

是的,这看起来像另一个错误。

StepConf 为主轴 pwmgen 配置了一个小的正偏移量,而 pwmgen 组件(我认为不正确)总是这个偏移量添加到占空比中。所以引脚上的负值.value比你想象的更接近于零,就像你的视频清楚地显示的那样。

pwmgen联机帮助页声称“添加/减去”以从计算的占空比中偏移,大概是在.value引脚符号之后。(该联机帮助页还错误地将许多 pwmgen 管脚列为参数,但我们在 2008 年将它们转换为管脚……)

git log表明 pwmgen 一直以这种错误的方式表现,并且需要细心的观察者@Masznotwor发现问题。这可能意味着 pwmgen 组件没有被广泛使用。如果大多数人需要 pwm 输出,也许他们会使用 Mesa 硬件?

M4和M3的PWM不一样 #444

不,我将“带下划线的+”误读为加号/减号“±”。pwmgen 联机帮助页确实说偏移量总是添加到占空比中,无论.value引脚是正还是负。

我认为 pwmgen 偏移量旨在避免 0% 占空比附近的死区,因此我认为当输入值为负时应从占空比中减去偏移量。

我错过了偏移量的其他用途吗?

目前我认为@Masznotwor(以及任何拥有 pwmgen 控制的主轴的人)最好将偏移量设置为 0 并命令稍高的 S 字来旋转主轴。

M4和M3的PWM不一样 #444
合作者

偏移量可用于平衡不平衡的设备。我认为无论值的符号如何,都可能应该添加“抵消”。问题可能是 stepgen 试图将其用作“死区”。

PID 中的偏移量对于平衡磨机上的机头/工作台的重量很有用。我不知道是否有适合将其应用于 PWMgen 的应用程序。

M4和M3的PWM不一样 #444
作者

不要害怕我的英语不好,我也了解 HAL 和 INI 文件中发生的事情,所以我可能是错的:
我认为应该简单地完成:
组件生成 PWM,
旋转方向就是这样不要影响 PWM
如果它是你需要的东西,如果它会导致问题,它应该作为一个选项运行

我认为很多人使用单向主轴(水主轴)并且只使用 PWM CW

我没有注意到这个错误,但以前的车床有一个编码器,它可能会受到影响。我不知道,我只是没有下那么低的速度

这里问题似乎解决了,不幸的是我不知道如何应用它以及它是否是一个好的解决方案
https://forum.linuxcnc.org/49-basic-configuration/28700-lpt-spindel-pwm-different-速度与 m3 和 m4

我有这样的成分

loadrt pwmgen output_type=1

addf parport.0.read 基础线程
addf stepgen.make-pulses 基础线程
addf pwmgen.make-pulses 基础线程
addf parport.0.write 基础线程
addf parport.0.reset 基础线程

addf stepgen.capture-position 伺服线程
addf 运动命令处理程序伺服线程
addf 运动控制器伺服线程
addf stepgen.update-freq 伺服线程
addf pwmgen.update 伺服线程

net spindle-cmd-rpm => pwmgen.0.value
net spindle-on <= motion.spindle-on => pwmgen.0.enable
net spindle-pwm <= pwmgen.0.pwm
setp pwmgen.0.pwm-频率100.0
setp pwmgen.0.scale 2984.21052632 setp
pwmgen.0.offset 0.05
setp pwmgen.0.dither-pwm true
net spindle-cmd-rpm <= motion.spindle-speed-out
net spindle-cmd-rpm-abs <= 运动.spindle-speed-out-abs
net spindle-cmd-rps <= motion.spindle-speed-out-rps
net spindle-cmd-rps-abs <= motion.spindle-speed-out-rps-abs
净主轴-at -speed => motion.spindle-at-speed
净主轴逆时针 <= motion.spindle-reverse

我实际上检查过,在更高的转速下你不会注意到,因为传感器上的 m3 / m4 差值约为 1V

免费注册 在 GitHub 上加入此对话。已有帐户? 登录评论
标签
项目

还没有

发展

没有分支机构或拉取请求

4人参加
M4和M3的PWM不一样 #444M4和M3的PWM不一样 #444M4和M3的PWM不一样 #444M4和M3的PWM不一样 #444

喜欢 (0)