MarlinFirmware / Marlin

Marlin is an optimized firmware for RepRap 3D printers based on the Arduino platform. Many commercial 3D printers come with Marlin installed. Check with your vendor if you need source code for your specific machine.
https://marlinfw.org
GNU General Public License v3.0
16.17k stars 19.21k forks source link

Step for second extruder #2031

Closed freezone23 closed 8 years ago

freezone23 commented 9 years ago

I do not understand where is error. I have two identical extruders (MK8). when I say to repetier extrude 10mm, 80mm comes out (the first extruder is ok).

is there anyone who can help me?

thanks

nophead commented 9 years ago

Are your microstep jumpers set correctly?

freezone23 commented 9 years ago

I have all integrated into MKS BASE 1.2.... I can not understand!!!

nophead commented 9 years ago

Try swapping the pin definitions for E0 and E1. If the fault remains with the extruder connected to E1 then it is a hardware fault. If it switches to E0 then a firmware problem.

freezone23 commented 9 years ago

please, can you tell me how and what to do ??? please ...

freezone23 commented 9 years ago

from:

#define E0_STEP_PIN        26
#define E0_DIR_PIN         28
#define E0_ENABLE_PIN      24

#define E1_STEP_PIN        36
#define E1_DIR_PIN         34
#define E1_ENABLE_PIN      30

to:

#define E1_STEP_PIN        26
#define E1_DIR_PIN         28
#define E1_ENABLE_PIN      24

#define E0_STEP_PIN        36
#define E0_DIR_PIN         34
#define E0_ENABLE_PIN      30

right???

nophead commented 9 years ago

Yes if those are the pins for your board.

freezone23 commented 9 years ago

first of all thanks for your help...... Now the fault is on E0.

It depends on what?

nophead commented 9 years ago

When you say E0 do you mean the extruder connector to the E0 port but now responding when the second extruder is told to move?

freezone23 commented 9 years ago

now the extruder E0 is connected on port E1...

nophead commented 9 years ago

So the port E1 is faulty, most likely the pins of the chip that select the microsteps are not soldered correctly. As the board is not open source it hard to say what they should be connected to but if you look up the datasheet for the the stepper driver look at the MS0,MS1,MS2 pins. They should all be grounded for X16 mode but it looks like you are in halfstep mode.

freezone23 commented 9 years ago

thank you very much ... I'll try with a new card in days before closing the issue.

thanks again ciao

p.s. you think I can get over it with a soldering?

nophead commented 9 years ago

That depends on you soldering skills.

The first thing to do is find the loose pins by gently pushing them sideways with a knife blade. If they move they are not soldered. If you do find one that moves then you need to press it down with a fine tip soldering iron and possibly apply a very small amount of solder.

freezone23 commented 9 years ago

ok nophead,,, thank you for all

freezone23 commented 9 years ago

sorry but I change the card with a new....

please re-open, the issue still persists ....

thinkyhead commented 9 years ago

I wonder if this is related at all to #1793

nophead commented 9 years ago

If swapping the pins causes the extruders to swap, but the fault remains on port E1 then that port must be faulty. It goes 8 times faster when stepped with the same number of pulses. I can't see how it can be firmware.

thinkyhead commented 9 years ago

I assumed that @freezone23 meant he had changed the stepper driver board (or controller board) and was seeing some results confirming that it wasn't the driver board. But yes, it could still be the socket on the main board or… something else.

freezone23 commented 9 years ago

Hi Chris, It is something incomprehensible to me.

I assure you that it has replaced the card with a new one.

They can not be faulty all ....

there must be something that escapes us...

I should give it a try with a RAMPS? (the problem are the connectors between the two cards)

or try if you give me the link with a new firmware tested ... thanks always to support

freezone23 commented 9 years ago

please tell me a link for a firmware tested for 2 extruders ....

thinkyhead commented 9 years ago

By "card" I assume you mean you have replaced the entire controller board? And yet, you still see the same problem with the new board…? So, what kind of board is it?

nophead commented 9 years ago

@thinkyhead, This is an all in one integrated board (closed source), the stepper drivers are soldered on Allegro chips so can't be swapped. However swapping the signals going to them proves one behaves differently to the other, so the hardware is faulty.

@freezone23, I assume you have tested two, which is not the same as all.

nophead commented 9 years ago

@freezone23, You could also configure the firmware for one extruder on the second port as Marlin definitely works with one extruder.

freezone23 commented 9 years ago

I tried 2 MKS Base ...

I said if try a RAMPS even if they change the types of connectors

right now I tested the configuration with an extruder changing the PIN connecting it to the port E1 ....

the problem does not change ... this test could be significant ...so ???

nophead commented 9 years ago

My conclusion is port E1 has the wrong microstep configuration on both boards. Is there any other possible explanation?

freezone23 commented 9 years ago

Dear nophead, you're right! I tested all over again with a RAMPS and everything works properly ....

certainly it is difficult to accept but it is. I however think it's a matter of PIN ...

freezone23 commented 9 years ago

I think it was just luck ... by following these guidelines: http://reprap.org/wiki/MKS_BASE_1.0

I forced the following lines at the end of the file pins_RAMPS_13.h: (without losing too much time)

#define HEATER_1_PIN 7
#define FAN_PIN 9

the engine now works correctly .... besides recovering a connector (E0, E1, FAN, BED)

So there is something in the previous statements which prevented proper operation.

obviously not the correct way to make changes to a file so important but I would like someone to take charge of the necessary changes to make.

Chris really thank you for the time you gave me ...

thinkyhead commented 9 years ago

@freezone23 Are those the only differences that you needed to apply to pins_RAMPS_13.h to get the MKS working as it should? If so, I will add formal support for the MKS board to boards.h and add a pins_MKS_BASE.h file with these overrides.

thinkyhead commented 9 years ago

2039 / https://github.com/MarlinFirmware/Marlin/pull/2039/files

With these changes you can just use:

#define MOTHERBOARD BOARD_MKS_BASE
freezone23 commented 9 years ago

They are the only changes made. for the type of motherboard = 34, I get E0, E1, FAN AND BED.

thinkyhead commented 9 years ago

@freezone23 Great. Then #2039 is all set, and you can use BOARD_MKS_BASE now.

nophead commented 9 years ago

The only explanation I can think of is that some of the unused I/O pins are connected to the stepper driver microstep configuration pins. Hard to say without a schematic or documentation but I don't see any other way the fan and heater pin assignments can change how far the extruder moves.

github-actions[bot] commented 2 years ago

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.