I'd like to add an extra motor to my board and I'm not sure where I went wrong. The motor will be used to spin a rotating wheel/carriage of potential hot ends to switch to. Because it's just a motor it doesn't need a heatrod or a temperature sensor.
I had just a MKS_BASE 1.0 board, so I purchased a RAMPS 1.4 board from Ebay to be its extender.
(( **Warning ** this board is cheap because it was improperly produced and is a fire hazard: https://reprap.org/wiki/RAMPS_1.4 . I recommend using a CNC shield instead ))
This red board is meant to fit an Arduino Mega, but I figure I can use the extra pins on the MKS_BASE1.0 and connect them with jumper wire to the RAMPS 1.4 board. It made sense in case I want to add other things to the original MKS_BASE 1.0 board (like more hot end heater cartridges).
I connected the 5V and one GND pin from my MKS_BASE 1.0. I also connected some of the SERVOS pins from the MKS_BASE 1.0: D37 is the 'Dir', D35 is the 'Step', and D17 is the 'Enable'. I also connected the 12V power supply to the RAMPS 1.4 board too.
When it came time to modify Marlin everything was a bit annoying because although Marlin makes it easy to add more extruders, adding just motors is a little more difficult. I had to change the number of extruders to be 3 (from dual extrusion to dual extrusion + extra motor), enable an extra temperature pin (which i am leaving empty) and also modify the pins.h file.
I probably wouldn't have had simulate this motor as an extruder if I knew the raw Arduino commands for spinning a motor using calls to D37
, D35
, and D17
, so I figured simulating an extruder would be better, but now I'm second-guessing that decision.
Here's my modification to pins.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
First thing I have to do is allow for cold extrusions by using M302 S-80. The other (real) extruder motors will all move after this command, so I have that part working.. .
In Repetier-Host I am just selecting Extruder 3 and trying to "push filament" through it but the motor isn't moving. I'm using an A4988 stepper driver on a Kysan 1124090. Actually, I did this whole process with two motors because I wasn't sure whether the hardware itself would be an issue, so with another set of pins I'm using a Suncor Motor and it also doesn't respond and I also don't know why.
It would be really helpful to debug if I could run a single G-code command just to get the motor running at a speed, and take that out of the equation. it doesn't have to be a command to an "extruder" but just a command to a pin out, like M42 D35 S100
(but I don't know the raw command for just testing a motor's connections).