我正在使用带有Marlin固件的 Arduino Mega 2560 和RAMSP 1.4 扩展板来控制我的机器(不完全是 3D 打印机)。马林有 G 代码:
M42 P20 S255
==>打开上微处理器的销20M42 P20 S0
==>关闭微处理器的引脚 20
我正在使用此命令打开连接到引脚 20 的 MOSFET 开关。
当我没有将 RAMPS 防护罩放在 AtMega 之上时,此方法有效。只有当我发送代码打开它时,引脚才会变高。
但是,当我将屏蔽罩放在 Mega 2560 的顶部时(RAMPS 没有提供 12 V 电源,USB 仅提供 5 V 电源),当我第一次将 USB 连接到它时,即使没有发送 ON,我也会在 Pin 20 上发现大约 2 V命令。发送时M42 P20 S0
这个消失(0V),并得到5 V的M42 P20 S255
。没有屏蔽,USB 连接到 Mega 2560 时没有电压;带屏蔽时,引脚上有 2 V 电压,这会导致 MOSFET 开关打开。
这个电压从哪里来?
首先我认为这一定是一些噪音,所以添加了一个 10K 下拉电阻(因为这是我在许多电路中看到的常见值),但它没有用。但放置一个 100 欧姆的工作。这安全吗?