评论
|
您使用的是来自 sanguino.cc 的 Sanguino 文件还是来自 Marlin 资源的文件?(我仍在研究如何构建所有 Marlin 变体) |
|
感谢您的回答, |
|
好的,我检查了 sanguino.cc 中的代码,没有做任何更改。 |
|
奇怪的。 我没有要测试的 Sanguino 硬件。但我今天注意到 FAST_FAN_PWM 代码中有些奇怪,所以如果它已启用,您可能希望禁用它。 |
|
可能与https://github.com/ErikZalm/Marlin/issues/203有关 2012 年 12 月 11 日 10:59,daid notifications@github.com写道:
|
|
好的,我尝试启用和禁用 FAST_FAN_PWM 它没有任何区别,D12 仍然没有 PWM。 |
|
今天我换了挤出机和风扇针,现在风扇是D13,挤出机是D12。 |
|
好的,我想我发现了故障: 我将为 Sanguino 主板实现软件 pwm,当 D12 或 D13 被选为 FAN_PIN 时激活。希望很快就会有相应的拉取请求。 |
|
而不是破解软件 PWM(恕我直言,我对用于温度的软件 PWM 也不是很满意),看看是否可以使步进器的计时器可配置如何?大多数芯片都有相当多的计时器,为 Sanguino 切换计时器可能会以更好的方式解决问题。 |
|
我知道这不是最好的解决方案,但是使定时器可配置并不是那么容易,因为它们的寄存器配置有时差异很大。因此,使计时器可配置将导致大的#ifdef 块,这很丑陋且难以维护。 对于 OCR1A,timer1 是否正确使用大于 255 的值? |
|
我也不喜欢软pwm。但是一些硬件开发人员不考虑固件。 在我看来,sanguinololu 板是最不适合重制的板。(很多兼容性问题。USB 电源没有以正确的方式实现等等) |
|
OCR1A 中是否有高于 255 的值? |
|
我认为 timer1 始终是一个 16 位定时器。其他哪些定时器是 16 位取决于芯片。 |
|
右边的timer1是一个16位的定时器。 |
|
您如何看待在 D12/13 上使用定时器 2 进行 PWM? |
|
@daid你的承诺似乎暗示这是固定的,如果是的话你能解决这个问题吗? |
|
这个是大约一年前创建的,有很多变化,请下载最新的 marlin 副本,看看问题是否仍然存在。您还可以使用最新的 arduino IDE 来刷新 marlin 固件。如果您的板文件等只能在旧的 ide 下工作,请先升级它们,以便它们在最新的 IDE 下工作。 如果您为不在https://github.com/ErikZalm/Marlin/tree/Marlin_v1/ArduinoAddons中的硬件创建板文件,请 fork marlin 并添加文件,然后创建一个拉取请求,以便我们可以获得硬件支持的。这也将使人们了解人们正在使用什么硬件。 |


你好,
昨天我设法为我的 Sanguino 编译了 Marlin,但是我用作 FAN_PIN 的 D12 上的 PWM 有问题。当我将值设置为 255 时,风扇工作正常,我认为这是因为在这种情况下没有使用 PWM,但是当我将它设置为任何其他值时,没有 PWM,引脚一直处于接地状态。
任何想法我做错了什么?