I am in the process of installing the motherboard to replace the original that died. It has been hit or miss so far. Currently I have it responding to movement commands from the controller (BTT TFT35 E3), however homing it doesn’t work at all. I think it is something wrong in the Marlin firmware, but at the moment I am lost. Any ideas or suggestions are appreciated.
Please expand on what you mean by “homing doesn’t work at all”.
Do you mean that none of the axes even move (could be an improperly set homing position) or do you mean the axes move but don’t stop when they reach the home position (problem detecting the limit switches)?
When using just movements everything moves as expected. If I home any axis it moves a little, for example the z axis moves up about 5 mm, even if I home it twice in a row. There must be something in Marlin that I have wrong.
I’ve never changed a motherboard, but I’ll take an educated guess…
By your description of its behaviour, I would venture to say that it already believes it is past it’s homing positions. Let me explain that…
Think of a number line from -5 to +5. 0 is “home”. If you tell it to go “home” and it starts at 4 you would expect it to keep deducting 1 until it reaches 0 then stop. Similarly, if it starts at -4 and you tell it to go “home” you would expect it to add 1 until it reaches 0.
Since almost all Cartesian (as opposed to Delta) printers have their home positions at the extreme limits of one corner, they would never expect to have a negative value, so it’s possible (I simply don’t know) that the firmware doesn’t know what to do with that and just stops.
The question is, what is “home”. Aside from being where the heart is, it should be the point where the limit switch is triggered, but I’m guessing you may have a software limit switch enabled. That’s a counter within the firmware that, if the step count reaches it, is considered the equivalent of a limit switch and causes the firmware to stop moving the applicable axis.
So, let’s assume you have a soft limits enabled but haven’t assigned them a value. I’m guessing they’ll default to 0. If that’s the case, when you try to home the printer, the firmware will move the print head and check it’s location.
The printer just booted up so it’s internal counters will be reset to 0
It moves -1 toward “home” and checks the count (now -1)
It compares that to the soft limit which is enabled but set to 0
And so now it thinks it has passed the “home” position and stops.
One test for this would be to manually move the print head to it’s physical home position and turn on the printer. Since it’s already physically where it thinks home is, it should behave normally.
Thanks for the help!
It turned out that the logic in the firmware was backwards and I finally managed to find and correct it.
This project has been one of one step forward and two back at times. Perseverance became key as the brain was lacking at times. This was my first go at something like this. I am waiting for a few more parts, but I am hopeful that a can try printing early next week.