Loading
3D_PP

Alfawise U10 Dual Z limit switch upgrade ( Removing horizontal alignment flaw on Z )

by 3D_PP Dec 12, 2018
Download All Files

Thing Apps Enabled

Please Login to Comment

Finally i've made it. With some difficulties regarding the firmware and the wiring (lots of errors while compiling, the colours of the cables where different etc) i am now able to control both sides of the z-axis. But i'm not really happy with this because of problems with leveling the bed. Following your instructions, i ran into some issues:

Start printing your testfile, stop the print, the display shows 0.2 for z-axis which should be correct. I put a papersheet under the nozzle above each screw, suddenly the z-axis become powerless and "fall down" a bit. So i go into the menue and dial "home z", and the z-axis is getting rigid. But now the nozzle touches the bed. Press "home z" again, the axis lift a bit, went down again and stops shortly above the bed, so that there is approximately 0.1mm. Press "home z" again, and the nozzle touches the bed again and so on.... So this is a problem with the firmware, i think? Or the drivers? I am not able to level the bed, because after a short while (maybe one or two minutes) the z-steppers become powerless after i stop the printing to level the bed. The drivers (a4988) are set to 0.86V exactly, as you pointed out. Too much? If the issue is firmware based - where can i set a longer delay until the steppers went de-energized?

Even if i managed to level the bed - it is not level anymore when i start printing and stop it after a short while. Also the filament (tried different ones from cheap to more expensive) did not stick to the bed.

Formerly i've got the latest TH3D-Firmware flashed, which worked fine so far (the original firmware is a mess, especially the "bed level"-function which is useless), but has no support for dual-z-axis. Maybe important to mention, that with the original firmware the z-offset is set to -1.0mm initially?

Question: If i press "home z", the display shows "0" for z. If i start printing, the display shows "0.2". With the TH3D-firmware i do the leveling after "homing all axis" and "disable motors" or just "level bed". In both casest the display shows "0" iirc. What is the right way?

I hope you got some answers to help me get the machine running. Thanks in advance

Mike (from Germany)

Hi Mike,

First of all 0.86V is not to high, it is just enough to run the motors smooth.
The problem you have with the current dropping from the stepper drivers is the same as i had.
That is why i changed them out for normal a4988 drivers and with that i also changed the 2 stepper motors on the z-axis.
I found that the motors delivered on the printer could not do the job and reacted very strange after i wired them to single driven motors.
You can read in the description what stepper motors i am using with this dual Z setup.

The motors will need to hold the current when you press stop after you start with the test print.
Then the nozzle should be on 0.2 mm, from there you go level the bed.
When you do the auto home the display should tell you the Z is on 0 and there should be no room between the nozzle and the bed to place the 0.1 mm paper in between.

In a normal situation the leveling should be done after homing all axis, but sins the marlin delivered by this printer is such a big mess, it is hard to find what they all have changed to get this printer working.

Another thing what you can check is the following inside the script:

Configuration_h

// Disables axis stepper immediately when it's not being used.
// WARNING: When motors turn off there is a chance of losing position accuracy!
'#define DISABLE_X false
'#define DISABLE_Y false
'#define DISABLE_Z false

If those are set to yes, the current will drop immediately after the printer is done.

The other thing you can check:

Configuration_adv.h

// Default stepper release if idle. Set to 0 to deactivate.
// Steppers will shut down DEFAULT_STEPPER_DEACTIVE_TIME seconds after the last move when DISABLEINACTIVE? is true.
// Time can be set by M18 and M84.
'#define DEFAULT_STEPPER_DEACTIVE_TIME 120
'#define DISABLE_INACTIVE_X true
'#define DISABLE_INACTIVE_Y true
'#define DISABLE_INACTIVE_Z true // set to false if the nozzle will fall down on your printed part when print has finished.
'#define DISABLE_INACTIVE_E true

Don't use the ' in front of #

In this section the 2 min delay is defined.
Either set '#define DISABLE_INACTIVE_Z False' to exclude the Z-axis
or if you want them to stay all on, set the timer '#define DEFAULT_STEPPER_DEACTIVE_TIME 0'
In that case all steppers will keep the current active

When you have leveled the bed and the print is still not sticking, then you can start fine tuning it via the control box.
Press the knob, go into Control, then into Motion.
There you can fine tune the Z Offset, mine is dialed in on -05.00.
After you set the Z Offset, press the knob again so it saves that setting into the eprom.
That way it will always be the same offset.

Hope this helps you out to get your printer running.

Hi Mike,

First of all 0.86V is not to high, it is just enough to run the motors smooth.
The problem you have with the current dropping from the stepper drivers is the same as i had.
That is why i changed them out for normal a4988 drivers and with that i also changed the 2 stepper motors on the z-axis.
I found that the motors delivered on the printer could not do the job and reacted very strange after i wired them to single driven motors.
You can read in the description what stepper motors i am using with this dual Z setup.

The motors will need to hold the current when you press stop after you start with the test print.
Then the nozzle should be on 0.2 mm, from there you go level the bed.
When you do the auto home the display should tell you the Z is on 0 and there should be no room between the nozzle and the bed to place the 0.1 mm paper in between.

In a normal situation the leveling should be done after homing all axis, but sins the marlin delivered by this printer is such a big mess, it is hard to find what they all have changed to get this printer working.

Another thing what you can check is the following inside the script:

Configuration_h

// Disables axis stepper immediately when it's not being used.
// WARNING: When motors turn off there is a chance of losing position accuracy!
'#define DISABLE_X false
'#define DISABLE_Y false
'#define DISABLE_Z false

If those are set to yes, the current will drop immediately after the printer is done.

The other thing you can check:

Configuration_adv.h

// Default stepper release if idle. Set to 0 to deactivate.
// Steppers will shut down DEFAULT_STEPPER_DEACTIVE_TIME seconds after the last move when DISABLEINACTIVE? is true.
// Time can be set by M18 and M84.
'#define DEFAULT_STEPPER_DEACTIVE_TIME 120
'#define DISABLE_INACTIVE_X true
'#define DISABLE_INACTIVE_Y true
'#define DISABLE_INACTIVE_Z true // set to false if the nozzle will fall down on your printed part when print has finished.
'#define DISABLE_INACTIVE_E true

Don't use the ' in front of #

In this section the 2 min delay is defined.
Either set '#define DISABLE_INACTIVE_Z False' to exclude the Z-axis
or if you want them to stay all on, set the timer '#define DEFAULT_STEPPER_DEACTIVE_TIME 0'
In that case all steppers will keep the current active

When you have leveled the bed and the print is still not sticking, then you can start fine tuning it via the control box.
Press the knob, go into Control, then into Motion.
There you can fine tune the Z Offset, mine is dialed in on -05.00.
After you set the Z Offset, press the knob again so it saves that setting into the eprom.
That way it will always be the same offset.

Hope this helps you out to get your printer running.

Hi 3D PP and thanks for your reply.

It is a bit weird: I move the prinhead via the knob to a certain point on the bed (let's say x40, y70) so that the level-screw is directly under the printhead. Then i do "home z". Everytime i press the knob, the gap between screen und head changes, but this is predictable. So i press the button first, the gap is around 1mm. Next tip on the knob result in a smaller gap. So there are mainly 2 positions where the head is switching between, and in both positions the display shows "0". So, i choose the smaller gap. Display shows "0". Then i go to "move axis - z" and move the axis +0.2, which of course is shown on the display. Then i place a paper underneath and level the bed until i feel a soft tension. Then i press "home z" again, and the gap will be bigger, so that the paper shows no tension at all. Again "home z", and the gap gets smaller, but the paper is not tight - what should happen if the display shows "0" . Instead the gap is really close to the position if i move the head up to 0.2mm (usually i use a feeler gauge 0.1mm instead of paper, but it makes no difference). Exact the same result as i start a print and stop it immediately, as described in your tutorial (set the g-codes to hold the current of z-axis in the slicer).

So i don't know wether the steps are not properly executed or the software is buggy. I used the latest firmware provided by gearbest, not the one which is on the sd-card.

In between i used the firmware from TH3D, which worked well and had no issues. Sadly this firmware doesn't provide dual-z-support....

I will try now to change the firmware along your suggestions and if this won't work, i'll get some new steppermotors. But i fear that it has to do with the firmware, not the hardware.

In addition to this problems i have also an issue with the bed itself: it is formed like a bowl. If i level the outer ring, the middle will never fit. If i level the center of the screen, the nozzle scratches the bed at the border of the screen.

But one after another.... ;)

Thank you so much for your help. I've got the printer since Oktober last year, produced some really good models but most of the time i am fiddling with leveling the bed or configure the slicer-setup. That leads me to your dual-z-solution, but sadly also into new difficulties. But this way i will learn the most... ;)

Took me a while to get rid of the "flagged for moderation"- thing...weird.

Okay, i've got news: Now i used the software provided on the sd-card. Nearly the same behaviour. Then i found this:
Z2_USE_ENDSTOP XMAX

and changed it to ZMAX. Now the second switch works properly. Don't know why it was "XMAX"...

Next entry i've found in Configuration_adv.h/Additional Features:

'#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.'

After i removed the "Z" - bingo! Stepper holds position after stopping the print. Now i was able to level the bed as good as could be (the problem with the uneven screen persists of course - i got a bowl-shaped bed). But your testprint sticks to the bed during the first two layers, then, while crossing, ripps the print off of the bed. This could be an issue with my nozzle, because of a broken heatbreak and overextruding filament from time to time. I've ordered a new Hotend and hope that this will fix the problem.

So far, so good. Thank you very much for your help and your work - bed leveling is a lot easier now!

I'll be back as soon as i get my new hotend.

Greets Mike

Hi Mike,

It does me good to hear that you finally managed to get a proper alignment of your Z axis.
That is where it is all about with this upgrade.

For the bowl shaped bed:
Did you check the rollers on the Y axis?
Try to get the rollers to run as smooth as possible without any play.
I had a similar issue with the Y (lol, what did i have not with this printer)
I ended up to remove the entire Y setup, including the aluminium extrusions.
After i done that, i placed some concentric nuts on the outside rollers (both sides) and started to rebuild the entire section again.
First of all aliening the extrusions on the inner rollers, moving the bed up and down so that it was as straight running as possible.
Then i started to adjust the outer rollers so that all rollers run smooth without feeling friction (feels like you hit a break).
That made the aluminium plate lay as flat as possible.
After that i checked the heat bed on flatness and adjusted it accordingly and placed it back.
Placed the glass plate on it, using clamps on the front and rear (careful on the rear where the heat bed wires are placed)
and all was running way better on this printer.

You should check that section, it might help you to get a more and better flatness on the glass.

Hi 3D_PP, thanks for your reply. I checked the Y-axis immediately after i get the printer, because nearly all screws are not proper tightened. There is absolutely no play in the Y-axis, but of course in the plate itself due to the springs that fixed the heating bed on the gantry (i know there is a fix on Thingiverse, but one step after another).

Could you please provide a link to the concentric nuts? I've read about 'em before, but don't now exactly what to buy. At the Moment i can't do anything because of the broken hotend. I hope this will be delivered within the next days. I will be back then.

Thank you very much and happy easter

Mike

I don't have the link anymore from what store i bought them.
Just do a simple search (for example) on AliExpress for "Excentric Nut M5".
The search most likely will show "eccentric nut" in 3d-printer parts.
Easy to find.

Comments deleted.