试图在我的电路板上添加一个额外的电机,我哪里出错了?

3D打印 故障排除 坡道-1.4 接线
2021-05-16 20:39:44

我想在我的板上添加一个额外的电机,但我不确定我哪里出错了。电机将用于旋转一个旋转的轮子/托架,将潜在的热端切换到。因为它只是一个电机,所以不需要加热棒或温度传感器。

我只有一块 MKS_BASE 1.0 板,所以我从Ebay购买了一块 RAMPS 1.4 板作为它的扩展器。

坡道 1.4 板

(( **警告 ** 该板很便宜,因为它生产不当并且有火灾隐患:https : //reprap.org/wiki/RAMPS_1.4。我建议改用 CNC 防护罩))

这个红色的板子是为了适合 Arduino Mega,但我想我可以使用 MKS_BASE1.0 上的额外引脚,并用跳线将它们连接到 RAMPS 1.4 板。如果我想在原始 MKS_BASE 1.0 板上添加其他东西(比如更多的热端加热器盒),这是有道理的。

我从 MKS_BASE 1.0 连接了 5V 和一个 GND 引脚。我还连接了 MKS_BASE 1.0 的一些 SERVOS 引脚:D37 是“Dir”,D35 是“Step”,D17 是“Enable”。我也将 12V 电源连接到 RAMPS 1.4 板。

RAMPS 1.4 板引脚排列

当需要修改 Marlin 时,一切都有些烦人,因为尽管 Marlin 可以轻松添加更多挤出机,但仅添加电机则有点困难。我不得不将挤出机的数量更改为 3(从双挤出到双挤出 + 额外电机),启用额外的温度引脚(我将其留空)并修改 pin.h 文件。

如果我知道使用对D37, D35, and 的调用来旋转电机的原始 Arduino 命令,我可能不会将这个电机模拟为挤出机D17,所以我认为模拟挤出机会更好,但现在我在猜测决定。

这是我对 pin.h 的修改:

#define E2_STEP_PIN 35
#define E2_DIR_PIN 37
#define E2_ENABLE_PIN 17

#define HEATER_2_PIN 17  

//#define TEMP_SENSOR_2 3 in Configuration.h

#define TEMP_2_PIN 3

// Marlin 0-indexes these pins, so "2" is actually for the "3"rd extruder

我要做的第一件事是使用 M302 S-80 进行冷挤压。其他(真正的)挤出机电机将在此命令后全部移动,所以我让那部分工作......

在 Repetier-Host 中,我只是选择了 Extruder 3 并试图通过它“推动灯丝”,但电机没有移动。我在 Kysan 1124090 上使用 A4988 步进驱动器。实际上,我用两个电机完成了整个过程,因为我不确定硬件本身是否会出现问题,所以对于另一组引脚,我使用的是 Suncor电机,它也没有响应,我也不知道为什么。

如果我可以运行单个 G 代码命令来让电机以一定速度运行,并将其排除在等式之外,那么调试将非常有帮助。它不必是“挤出机”的命令,而只是引脚输出的命令,例如M42 D35 S100(但我不知道仅用于测试电机连接的原始命令)。

2个回答

D35, D37,D17是 Arduino Mega 上的引脚标签。这些不对应于 Marlin 中的引脚号

我相信这D35实际上对应于马林鱼针49,这是您应该在固件中输入的数字。您可以在fastio_1280.h 中找到映射

Hardware Pin  : 02 03 06 07 01 05 15 16 17 18 23 24 25 26 64 63 13 12 46 45 44 43 78 77 76 75 74 73 72 71 60 59 58 57 56 55 54 53 50 70 52 51 42 41 40 39 38 37 36 35 22 21 20 19 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 04 08 09 10 11 14 27 28 29 30 31 32 33 34 47 48 49 61 62 65 66 67 68 69 79 80 81 98 99 100
Port          : E0 E1 E4 E5 G5 E3 H3 H4 H5 H6 B4 B5 B6 B7 J1 J0 H1 H0 D3 D2 D1 D0 A0 A1 A2 A3 A4 A5 A6 A7 C7 C6 C5 C4 C3 C2 C1 C0 D7 G2 G1 G0 L7 L6 L5 L4 L3 L2 L1 L0 B3 B2 B1 B0 F0 F1 F2 F3 F4 F5 F6 F7 K0 K1 K2 K3 K4 K5 K6 K7 E2 E6 E7 xx xx H2 H7 G3 G4 xx xx xx xx xx D4 D5 D6 xx xx J2 J3 J4 J5 J6 J7 xx xx xx xx xx
Logical Pin   : 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx

查看顶行的引脚号(例如 D35 对应于 35),然后查看底行以查找要在 Marlin 中使用的引脚号(在本例中为 49)。

  • 我使用 CNC 防护罩让它工作。仍然没有弄清楚 RAMPS 1.4 板。

  • 在 Aux-1 中使用 D1 和 D2 不起作用,因为它们用于与 LCD 的串行通信。因此,每次您通过 USB 发送命令时,它们都会被阻塞。我最终使用了端口 4、5 和 63,并且它运行良好(不需要像其他答案中那样的引脚映射)。

    #define E4_STEP_PIN    4 // D4
    #define E4_DIR_PIN     5//  D5
    #define E4_ENABLE_PIN  63// D63