Jump to content
Ultimaker Community of 3D Printing Experts
Sign in to follow this  
jdudeo

Y axis motor only moves in one direction

Recommended Posts

So I just got my Ultimaker working again after a few months of downtime, but now I've got a new problem. When I start a print, everything seems to go fine, but part of the way through it seems to get disorientated and the Y axis goes towards the home position, eventually bumping into the edge, blissfully unaware of the front Y endstop being repeatedly pushed, knocking into the side of the machine repeatedly. It's not pleasant but this is what it looks like:

1000920

I then assembled and connected my Ulticontroller that I've had lying around for a while and when I try to manually move the Y axis it will only move towards home no matter what direction I try to move it in and again will ignore endstops.

If I try to manually move it from Cura over the USB connection it does the same erroneous behavior.

Keep in mind though it somehow still manages to get part of the way through prints with no problems..

Any ideas? Thanks in advance..

 

Share this post


Link to post
Share on other sites

There's a direction pin that goes from the arduino to the stepper driver. There could be something wrong with that signal or with the stepper driver. I think it's pretty much impossible to be anything wrong with the stepper itself in this case.

But another possibility - is it at all possible that one of the pulleys is slipping - make sure the 6 (yes 6) set screws on the 6 pulleys are all super tight and mark each pulley and rod with a permanent marker to make sure they didn't slip. This is very very common on a newly assembled UM.

Back to the electronics. Could it be that this happens when something warms up? Consider swapping the X and Y stepper drivers. There are 4 of them for the 4 steppers. They each have a black heatsink. Pull them off very carefully and slowly without bending any pins - best to pry one side a little, then the other and back and forth. And reinsert very carefully. With power off of course.

If the problem moves to your X axis after that then you know for sure it is the stepper driver. You could try lowering the current. Try googleing how to do that - there is a tiny little potentiometer that you can turn to lower the current but make sure you find which model you have as some have higher current when clockwise and other stepper drivers are the other way.

 

Share this post


Link to post
Share on other sites

Hey, sorry to bring up such an old thread.

I just had the time to try fixing this problem with the Y axis. As suggested I double checked that all pulleys were tight and then tried switching the X and Y steppers. The problem continued to be with the Y axis. I think it originated in the arduino because the stepper itself is actually turning the wrong way.

I'd be grateful for any ideas on how to fix this, I googled potentiometer but couldn't find anything on the board that looked like one. By the way I didn't see any black heatsinks on the stepper drivers.

What's strange is that sometimes it turns in the right direction and sometimes it doesn't, it also seems to get worse when the machine is on for longer but it's hard to verify that.

 

Share this post


Link to post
Share on other sites

90% chance it's the arduino then. There's almost zero chance it is the motor itself.

I would spend the $20 on ebay and get a new arduino mega2560 (get 2 for $40!). Load it up with Cura before swapping it with the "bad" arduino. But if you are good with electronics you could instead look at this circuit - maybe check the voltage - see if it is a bit low. The signal should be around 0V for one direction, and 5V for the other. If the voltage is more like 3V then it's probably the arduino.

A bad stepper driver can damage the arduino. There was a guy posting on this forum in the last few months who went through 3 arduinos until he finally replaced the stepper driver and then the *next* brand new arduino worked. The arduinos were permanently damaged (but only that one pin - X DIR for him).

This shows X DIR signal. Your problem is with Y DIR which is similar.

 

X driver

 

Share this post


Link to post
Share on other sites

Thinking about this some more - it could be a bad solder joint. I would look at the full schematic and look at the pins with a loupe (or reading glasses). And if any look bad reheat them with a solder iron. Or just do it even if they look good. The full schematic is here:

http://reprap.org/wiki/Ultimaker%27s_v1.5.7_PCB

There is a zip file at the top. It contains the "brd" file which is the layout. Also the "sch" file which is the schematic.

Both files can be opened by eagle software which is free:

http://www.cadsoftusa.com/download-eagle/

 

 

Share this post


Link to post
Share on other sites

It could also be related to the end switches... if it thinks one of them is being triggered, it will refuse to move in that direction. I'm not sure, but its possible that it will then ignore the other one, since it thinks it's hitting the other one, so the logic probably doesn't check the unlikely case that it's 'hitting' both together.

So check the rear Y end stop and see if the switching is flaky.

 

Share this post


Link to post
Share on other sites

So check the rear Y end stop and see if the switching is flaky.

 

Oh! Smart. That could be it also - the symptom is slightly different but almost impossible to see the difference (in both cases it only goes one way). But if you command one move at a time front,back,front,back and the DIR pin is backwards then it will move 4 times in same direction. But if limit switch stuck it will alternate moving and not moving. But only in one direction.

Anyway - check the wiring where it may be touching your pulley in the back and front corners of the machine. The pulley may have worn through the wiring and occasionally shorting out the limit switch.

As far as the arduinio is concerned it is socketed. No soldering necessary. Just pry it out very carefully and slowly alternating one side, then the other. Use a metal screwdriver or other metal blade that fits when rotated flat but doesn't fit when rotated the other way. Be very careful not to bend any pins and if you *do* straighten them immediately (before you forget) with needle nose pliers. This is very easy to do -- just take your time and be calm. Will only take a minute once you have the right tool(s).

The arduino can run powered ONLY with the USB if you desire to connect it up. You can install the firmware without installing it into your UM which might be wise. It might be best to power up your UM with an arduino aware that it is in a UM so that it doesn't set any voltages to anything. So that it doesn't pulse digital signals that shouldn't be pulsed.

 

Share this post


Link to post
Share on other sites

Ok well I tried switching stepper drivers also and the problem continued to be on the Y axis, so I guess it's not a problem with the drivers but with the board. I'll order a replacement and try that.

As far as it being a problem with the end switches I'm skeptical, since the problem occurs regardless of whether it's anywhere near the ends and if a switch was triggered wouldn't that just cause it to stop moving rather than go in the opposite direction?

Nevertheless thanks for the help with this.

 

Share this post


Link to post
Share on other sites

It could be the arduino also. Someone had a problem with their arduino that was causing one of the axes to only go one way. He probed the arduino pin and saw that it was the arduino at fault. His situation was different though in that it was very consistent and didn't require "warming up" before it started doing it.

 

Share this post


Link to post
Share on other sites

sorry for the really long delay with my response.

I ended up ordering a new Arduino and put that one in but the problem persisted. Is there a chance that the problem is with the green board that interfaces with the connections to the steppers and such? I can't think of any other cause, this problem has been really demotivating and my printer has just been sitting inactive for months..

 

Share this post


Link to post
Share on other sites

I thought you had already swapped the stepper driver boards between the axes to eliminate those? That's certainly something to try if you haven't. Have you tried checking your endswitches? I forget whether they are normally open and close on contact, or vice versa. But if you run a continuity tester on them, that will soon tell you. If the head is moving towards y=0, then I'd suspect the max-y switch triggering accidentally. Some of the wires run close to the pulleys, so it's possible that the pulleys have worn away at the wires.

 

Share this post


Link to post
Share on other sites

The problem is almost certainly:

1) A bad solder joint such that the DIR signal does not make it from the arduino to the stepper. The DIR signal tells the stepper which direction to go. It can only be high or low (5V or 0V). If this is a bad connection the stepper will only see a floating input and interpret that as always the same direction.

2) A limit switch is stuck.

Both of these are VERY EASY to test with a voltmeter. The limit switches are even tested as part of the Cura first time wizard - I would run that first.

#1 is easy to test also - run pronterface and move the axis in one direction several times. Look for the 5V or 0V coming from the arduino. Then reverse the direction and expect the opposite signal. After confirming this at the arduino probe the input to the stepper driver and expect the signal to make it there. If it doesn't than that "green board" you refer to has a bad solder join. There are only 2 solder joints so you just heat up those 2. If the signal instead is fine at the stepper driver than it is the stepper driver that is the problem (ignoring the DIR signal).

 

Share this post


Link to post
Share on other sites

ok thanks gr5 I will purchase a voltmeter and try that out, I seriously doubt it has to do with the limit switches but I'll double check those anyway and report back.

The main reason I'm doubtful about the limit switches is that as far as I know they could only stop the head from moving instead of sending it travelling the other way, the problem also occurs regardless of where the printhead is and as I said if it hits a limit switch while it's going the wrong way it will continue to travel in that direction.

Just to be specific, the green board I'm referring to is this:

https://www.ultimaker.com/products/electronics

I previously tried switching the stepper drivers with the problem remaining on the Y axis which is why I think it's the board itself not the drivers.

 

Share this post


Link to post
Share on other sites

If the Right X limit switch shorted then Marlin (the firmware) refuses to move the X axis to the right and will ignore all those moves. When you tell it to move left it will move left. When you tell it to move right it won't because it thinks the head hit the switch (even though it is nowhere near it).

The symptoms are similar to but different from the DIR signal broken. When the DIR signal is broken, if you tell the head to move it always moves, but always in the same direction. Very very similar symptom but slightly different.

So if you tell the head to move 10mm left, 10mm right, 10mm left, 10mm right then

DIR problem: head moves 40mm in one direction (4 10mm moves)

Limit problem: head moves 20mm in one direction (2 10mm moves)

edit: Changed "Y" to "X" axis. The same problem can occur for any of x,y or z axes if there is a bad signal.

 

Share this post


Link to post
Share on other sites

would it be possible to get some more hands-on help with this possibly over Skype or something? I've borrowed a voltmeter and opened everything up, figured out which pin is which with the EAGLE software but I don't know where I should touch with the voltmeter and if I'm ok taking the fan off etc...

 

Share this post


Link to post
Share on other sites

Can't skype today - too busy. Just have a few minutes then I go back downstairs.

Put the multimeter on DC Volts mode (DCV? it might show a sine wave for AC and two straight lines for DC - I hate icons - words are better).

You want to find any ground in the schematic and use that for the black wire. The touch the red wire to the "dir" signal in various places (near the arduino and near the stepper driver) while moving the Y back and forth. Maybe test the good axis first for a baseline so you know what to expect.

You probably need 2 people to do this - one to control the machine, one to probe. You should be controlling the UM through the USB because it's easier for tests like this - Cura print window lets you move an axis or pronterface:

http://koti.kapsi.fi/~kliment/printrun/

 

 

Share this post


Link to post
Share on other sites

Ok thanks, what about the fan, is it ok to run it without the fan attached?

 

Some parts will get hot and can get damaged - mostly just the part that sticks up into the air flow and the stepper drivers. Just touch the parts occasionally to check temperature or only keep them powered up for say 30 seconds at a time. They can get hot enough to burn your fingers before you need to shut them down - certainly if they are hot enough to boil water you waited a little too long to turn off power.

 

If I do find that the voltages are wrong, where am I looking to solder?

 

It depends what you find. If you find the voltage is good at the arduino but bad at the stepper driver than somewhere in between there is a problem - likely there are only 2 candid solder joints in between so I would just warm up each of them with a soldering iron (with power off). If you find the signal is bad at the arduino then I would remove the stepper driver to rule that out and then try again to see if the DIR signal is still stuck and if so then you need a new arduino.

That covers 2 possibilities. A third possibility is that the voltage will be fine all the way to the stepper driver but the stepper still always moves the same direction in which case the stepper driver is bad and you should swap it with another and the problem should move.

There's probably a 4th possibility because it seems like every time I think I've thought of all the possibilities there is another. But these 3 are the most likely. In fact a bad solder joint is the most likely because people have already seen this issue on many boards.

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

Terms of Use Privacy Policy