<p>My best guess based on the answers and comments so far is that there is a minor firmware bug and some poorly initialised state. This occurs at start-up, or after a print has finished, but only once (till presumably the idle state is reached again).</p>

<p>See the image below, captured after the power went off during a print. Heated the extruder, and did Z -10, got this. Both x and Y moved, but in about a 10:1 ratio. The length of the track is about 10mm. Interestingly, during this movement, there was no Z movement.</p>

<p><a href="https://i.sstatic.net/2L8d3.jpg" rel="nofollow noreferrer"><img src="https://i.sstatic.net/2L8d3.jpg" alt="Movement frozen into print"></a></p>

CC BY-SA 3.0
2017-09-25T18:27:15.957Z
2017-09-25T18:27:15.957Z
Sean Houlihane
<p>This is easily explained - it's the stepper motors getting powered up. Stepper motors even if not moving are constantly powered up and actively hold the position they are in exactly at the stepping point where they are.</p>

<p>If you power down the machine or if the board disables the stepper drivers to save energy or because the power is offline then the stepper motors can get in between steps. When powering on then the movement is  quite noticeable on some cheaper motors where the inrushing current can kick the motor over multiple steps before it locks down into position.</p>

<p>You can test this, try to move one of the axis manually by hand (not too fast to not damage the board by providing it too much current) if the printer is powered of it does move pretty easily. Then power the printer on, it should still move pretty easily by hand. Now execute one move command on the axis via the printer board. Afterwards you should not be able to move the axis by hand anymore (or at least not without unnecessarily excessive force).</p>

CC BY-SA 3.0
2017-07-19T14:05:22.120Z
Dubious. The 'odd' behavour is not skipping a few steps, its many mm of travel along the axes, and persists for several seconds. I've not determined if it only occurs when the steppers transition from disabled to move.
Sean Houlihane
CC BY-SA 3.0
2017-07-19T14:10:01.160Z
Well one of the stepper motor cables in my CTC failed a while ago and had a bad connection. It bumped the axis about 10cm along when it got powered up and then printed "normally" except for some erratic movement sometimes until the cable totally failed. With new cables this only is about 1mm tops on the cheap motors and only noticeable as a slight shake and no move on my prusa with high quality motors. But it's definitely there every time the steppers engage.
bardiir
CC BY-SA 3.0
2017-07-19T14:16:15.387Z
But persisting over multiple seconds is strange, it should only be one shake and subsequently slowing down movement.
bardiir
CC BY-SA 3.0
2017-07-20T01:28:58.307Z
Why would "cheaper motors" suffer more from inrush current than expensive motors? They're just some coils of wire, and given the same resistance/reactance you're going to get the same inrush current.
Tom van der Zanden
CC BY-SA 3.0
2017-07-24T08:21:43.087Z
My guess is cheaper material on the coils, higher resistance and a slower buildup of the magnetic field. On the other hand it could as well be the cheaper stepper drivers that are overcurrenting or the wires not beeing beefy enough to handle the inrush on the cheaper machine, so you're correct, it's not necessarily the motors themselves. But nonetheless on the cheaper built machine the movement from enabling steppers is extremely more pronounced.
bardiir
CC BY-SA 3.0
2017-07-19T13:58:09.263Z
2017-07-19T13:58:09.263Z
bardiir
<p>I don't know details of your printer, the motor drivers, the firmware, or the wiring harness.  I only have looked photos at the ANET-A8.</p>

<p>Your question has ruled out a complex-axis movement caused by auto-leveling.</p>

<p>Printers that are not based on simple cartesian actuators, such as delta or core-xy machines use multiple actuators to make what results in a simple, single axis head movement.  Your printer is not based on one of these mechanisms, but if the printer were temporarily misconfigured, it may move unexpectedly.</p>

<p>On the hardware side, some stepper drivers work with "step" and "direction" inputs.  If there is a problem with signal integrity on these signals as referenced to the stepper driver's ground, you may be introducing an unintended step pulse.  Stepper drivers typically use pulse-width-modulation (PWM) to set the power through each of the two motor windings (coils), and generate noise that depends on too many factors to list.  Check that you have a direct ground wire from the stepper drivers to the controller board.  If the drivers are integral with the controller board, one would hope the PCB was well designed.</p>

<p>It is possible the motion is caused by some force causing unpowered stepper motors to move, although most unpowered motors will still have a bit of detent torque resisting motion.  This would require that Z-axis movement was causing some force on the other axes.  For the ANET-A8, the filament could apply side-to-side force to the extruder when moved up or down, but it is difficult to see how it could cause front-to-back movement of the bed.  </p>

<p>Your code may allow you to set the idle motor current as well as the active current.  If so, you could try setting the idle current at, say, 80% of the idle current.  Your motors will be hotter when idle, but should not overheat.</p>

CC BY-SA 3.0
2017-08-22T18:57:20.617Z
The idea of a bad mode configuration out of reset seems plausible. It's not a problem, just an oddity...
Sean Houlihane
CC BY-SA 3.0
2017-08-21T21:43:58.827Z
2017-08-21T21:43:58.827Z
cmm
<p>Sometimes I notice that if I manually command a single axis movement (typically Z, when I want better access to the extruder), I observe that several channels move together (and they maybe move slower than I expect). After one 'coupled' movement, subsequent commands have the result I'm expecting.</p>

<p>What happens is as well as the Z-axis moving up, the bed moves forward, and the extruder moves to the right. I have no auto-leveling or anything else non-standard on this printer (dual Z steppers, X, Y, extruder, bed, extruder heat).</p>

<p>It even happens if I simply extrude some of the time (e.g. changing filament after warming up, retract gave me some X movement)</p>

<p>Printer is an ANET-A8, I'm using mainly OctoPrint, but I think I've also observed this with other PC software manual controls.</p>

<p>It doesn't happen often enough for me to have identified any pattern - maybe it only happens if I've not homed first after turning the printer on, but I suspect not.</p>

<p>It's not so much of a problem, as just a question for interest. Also not sure how to tag.</p>

CC BY-SA 3.0
2017-06-13T08:13:49.737Z
What do you mean by "several channels move together"? The X and Y axes also move when you move Z? Are you perhaps seeing the effects of auto-bed leveling?
Tom van der Zanden
CC BY-SA 3.0
2017-06-13T08:25:41.137Z
How are you "manually moving" your printer? Are you using some control software or writing in actual G-code commands?
Tormod Haugene
CC BY-SA 3.0
2017-06-13T08:29:58.653Z
control software, I've not tried using gcode directly since it's not been trivial to reproduce.
Sean Houlihane
CC BY-SA 3.0
2017-06-13T12:18:19.410Z
If it is truly only the very first command, my guess is that the micro doesn't boot up with clean buffers, so the first "execute the stack" command reads whatever cruft is in there.  After that all the motor command stacks are properly reset.
Carl Witthoft
<software>
Lack of isolation between axes
Sean Houlihane
# Lack of isolation between axes

(Asked by: username_0 on 2017-06-13)

Sometimes I notice that if I manually command a single axis movement (typically Z, when I want better access to the extruder), I observe that several channels move together (and they maybe move slower than I expect). After one 'coupled' movement, subsequent commands have the result I'm expecting.

What happens is as well as the Z-axis moving up, the bed moves forward, and the extruder moves to the right. I have no auto-leveling or anything else non-standard on this printer (dual Z steppers, X, Y, extruder, bed, extruder heat).

It even happens if I simply extrude some of the time (e.g. changing filament after warming up, retract gave me some X movement)

Printer is an ANET-A8, I'm using mainly OctoPrint, but I think I've also observed this with other PC software manual controls.

It doesn't happen often enough for me to have identified any pattern - maybe it only happens if I've not homed first after turning the printer on, but I suspect not.

It's not so much of a problem, as just a question for interest. Also not sure how to tag.

**Tags:** software

> **Comments:**
> **username_1**: What do you mean by "several channels move together"? The X and Y axes also move when you move Z? Are you perhaps seeing the effects of auto-bed leveling?  
> **username_2**: How are you "manually moving" your printer? Are you using some control software or writing in actual G-code commands?  
> **username_0**: control software, I've not tried using gcode directly since it's not been trivial to reproduce.  
> **username_3**: If it is truly only the very first command, my guess is that the micro doesn't boot up with clean buffers, so the first "execute the stack" command reads whatever cruft is in there.  After that all the motor command stacks are properly reset.  

---

## 3 answers

### Answer by username_0 on 2017-09-25. Score: 1 | Accepted answer

My best guess based on the answers and comments so far is that there is a minor firmware bug and some poorly initialised state. This occurs at start-up, or after a print has finished, but only once (till presumably the idle state is reached again).

See the image below, captured after the power went off during a print. Heated the extruder, and did Z -10, got this. Both x and Y moved, but in about a 10:1 ratio. The length of the track is about 10mm. Interestingly, during this movement, there was no Z movement.

[![Movement frozen into print](https://i.sstatic.net/2L8d3.jpg)](https://i.sstatic.net/2L8d3.jpg)


---

### Answer by username_4 on 2017-07-19. Score: 2

This is easily explained - it's the stepper motors getting powered up. Stepper motors even if not moving are constantly powered up and actively hold the position they are in exactly at the stepping point where they are.

If you power down the machine or if the board disables the stepper drivers to save energy or because the power is offline then the stepper motors can get in between steps. When powering on then the movement is quite noticeable on some cheaper motors where the inrushing current can kick the motor over multiple steps before it locks down into position.

You can test this, try to move one of the axis manually by hand (not too fast to not damage the board by providing it too much current) if the printer is powered of it does move pretty easily. Then power the printer on, it should still move pretty easily by hand. Now execute one move command on the axis via the printer board. Afterwards you should not be able to move the axis by hand anymore (or at least not without unnecessarily excessive force).

> **Comments:**
> **username_0**: Dubious. The 'odd' behavour is not skipping a few steps, its many mm of travel along the axes, and persists for several seconds. I've not determined if it only occurs when the steppers transition from disabled to move.  
> **username_4**: Well one of the stepper motor cables in my CTC failed a while ago and had a bad connection. It bumped the axis about 10cm along when it got powered up and then printed "normally" except for some erratic movement sometimes until the cable totally failed. With new cables this only is about 1mm tops on the cheap motors and only noticeable as a slight shake and no move on my prusa with high quality motors. But it's definitely there every time the steppers engage.  
> **username_4**: But persisting over multiple seconds is strange, it should only be one shake and subsequently slowing down movement.  
> **username_1**: Why would "cheaper motors" suffer more from inrush current than expensive motors? They're just some coils of wire, and given the same resistance/reactance you're going to get the same inrush current.  
> **username_4**: My guess is cheaper material on the coils, higher resistance and a slower buildup of the magnetic field. On the other hand it could as well be the cheaper stepper drivers that are overcurrenting or the wires not beeing beefy enough to handle the inrush on the cheaper machine, so you're correct, it's not necessarily the motors themselves. But nonetheless on the cheaper built machine the movement from enabling steppers is extremely more pronounced.  

---

### Answer by username_5 on 2017-08-21. Score: 2

I don't know details of your printer, the motor drivers, the firmware, or the wiring harness. I only have looked photos at the ANET-A8.

Your question has ruled out a complex-axis movement caused by auto-leveling.

Printers that are not based on simple cartesian actuators, such as delta or core-xy machines use multiple actuators to make what results in a simple, single axis head movement. Your printer is not based on one of these mechanisms, but if the printer were temporarily misconfigured, it may move unexpectedly.

On the hardware side, some stepper drivers work with "step" and "direction" inputs. If there is a problem with signal integrity on these signals as referenced to the stepper driver's ground, you may be introducing an unintended step pulse. Stepper drivers typically use pulse-width-modulation (PWM) to set the power through each of the two motor windings (coils), and generate noise that depends on too many factors to list. Check that you have a direct ground wire from the stepper drivers to the controller board. If the drivers are integral with the controller board, one would hope the PCB was well designed.

It is possible the motion is caused by some force causing unpowered stepper motors to move, although most unpowered motors will still have a bit of detent torque resisting motion. This would require that Z-axis movement was causing some force on the other axes. For the ANET-A8, the filament could apply side-to-side force to the extruder when moved up or down, but it is difficult to see how it could cause front-to-back movement of the bed.

Your code may allow you to set the idle motor current as well as the active current. If so, you could try setting the idle current at, say, 80% of the idle current. Your motors will be hotter when idle, but should not overheat.

> **Comments:**
> **username_0**: The idea of a bad mode configuration out of reset seems plausible. It's not a problem, just an oddity...  

---

