Soak test code for X-Axis

Hi

When I run this code on my FB Genesis 1.7, the X2 motor drops out on a regular basis.
The code just moves the X axis back and forth 100 times. Mine fails around 7 to 8 times.

It even fails if there is no load - as in I have disconnect the drive belts the X2 motor still stops driving.

Can someone please run this code and let me know if you get X2 motor dropout.

local cycles = 100

-- Perform the soak test for the specified number of cycles
for i = 1, cycles do
  move_absolute(500, 0, 0)
    move_absolute(800, 0, 0)
  
  -- Report the current cycle count
  toast("Completed cycle " .. i .. " of " .. cycles)
end

-- Move to the final position 0,0,0
move_absolute(0, 0, 0)

-- Ask the user to verify there are no movement errors and the head is at 0,0,0
send_message("info", "Please verify there are no movement errors in the log and visually confirm the head is at 0,0,0.", "toast")

I’m glad I’m not the only one who noticed this issue. I always assumed it was an issue with the connector and was planning on replacing it. I ran this code for 20 iterations and had 4 cutouts on the x2 axis - I didn’t have the patience to watch it 100 times and I figured this was enough evidence.

Thank you so much for running the test. I thinking it is a software issue but I have no hard evidence at the moment, but I will get there.

I have purchased an oscilloscope and will be connecting up to the drive lines to see what is going on. I am hoping with more data, we will get to understand the issue.

I do hope other people run the test as more evidence will be useful

No worries, I’m just glad I’m not the only one with this issue. I’ve got an oscilloscope as well (although I’d have to figure out how to use it) so if you want any tests replicated then let me know.

2 Likes

I have captured a trace direct from the circuit board stepper motor output. It makes for an interesting study as there is a visible pattern.

In the attached video you can watch the X2 motor (Top line) and the X1 motor (bottom line) run, stop and change directions - according to the script.

What is interesting is that some of the time (when it is working properly) the motors stopping in synchronisation as you expect. When it fails, you can see the X2 motor drive line go high - before the signal stops on X1 then X1 reverses direction and X2 is stalled. X2 does eventually power up again.

There is a very visible repeatable pattern. This does not look like a hardware issue. It is too repeatable for random.

What is even more interesting is the duty cycle of the failures.

It fails for 5 seconds every 20 seconds.

For those without an oscilloscope, you would be able to watch this by loosening the belts, over the X1 and X2 motor so they can spin freely. X2 simply just stop spinning.

@roryaronson I think this is something that could do with your assistance.

1 Like