Z- axis - 2 bad boards? 2 bad motors? Or something funky?

So this is all a bit funky, but possibly i’m just unlucky and got 2 bad boards (one from the latest KS, one purchased as a spare).

Drop box link:

What those videos show:

  • One Z-motor (the port closest the usb) intermittently doesn’t work. When it doesn’t work it either:
    • Doesn’t start turning when the other motor does
    • Doesn’t start turning when the other does but starts part way through the movement.
    • As yet i’ve don’t think i’ve seen one stop partway through, and there is decent torque when it runs.

There’s four videos - 2 with the Maslow fully built, and 2 with the motors bare (quite useful for testing) like this:

In both cases, swapping the cables between ports swaps which motor exhibits this behaviour.

So far, so ‘it’s a bad board’.

Thing is, this happens with both boards I have - the spare board I tested with shows the same behaviour, and is straight out of its bag from posting. So maybe i’m unlucky and got two bad boards, or both motors have issues, or there’s something funkier going on here?

My original board is running 1.06, and I believe the recently received board is running 1.04:

@bar (or anyone else) - have you seen behaviour like this before?

I wonder if the motors could somehow be being driven so they are just hitting the edge of spec (I believe steppers can be finicky?), and whether there’s some way to test that - if we assumed we’re over/under voltage/current, can I tweak any settings slightly to test?

Probably not relevant, but I am in the UK so the power supply is running in 240V mode - shouldn’t matter but worth noting.

Looking at what’s in the Malsow.yaml, we have:

z: 
    steps_per_mm: 100.000000
    max_rate_mm_per_min: 400.000000
    acceleration_mm_per_sec2: 10.000000
    max_travel_mm: 100.000000
    soft_limits: false
    homing: 
      cycle: -1
      allow_single_axis: true
      positive_direction: true
      mpos_mm: 0.000000
      feed_mm_per_min: 50.000000
      seek_mm_per_min: 200.000000
      settle_ms: 250
      seek_scaler: 1.100000
      feed_scaler: 1.100000

    motor0: 
      limit_neg_pin: NO_PIN
      limit_pos_pin: NO_PIN
      limit_all_pin: NO_PIN
      hard_limits: false
      pulloff_mm: 1.000000
      tmc_2209: 
        uart_num: 1
        step_pin: gpio.15
        direction_pin: gpio.16
        disable_pin: NO_PIN
        r_sense_ohms: 0.110000
        run_amps: 1.000000
        hold_amps: 0.500000
        microsteps: 1
        toff_disable: 0
        toff_stealthchop: 5
        use_enable: true
        addr: 0
        run_mode: StealthChop
        homing_mode: StealthChop
        stallguard: 0
        stallguard_debug: false
        toff_coolstep: 3

    motor1: 
      limit_neg_pin: NO_PIN
      limit_pos_pin: NO_PIN
      limit_all_pin: NO_PIN
      hard_limits: false
      pulloff_mm: 1.000000
      tmc_2209: 
        uart_num: 1
        step_pin: gpio.46
        direction_pin: gpio.38
        disable_pin: NO_PIN
        r_sense_ohms: 0.110000
        run_amps: 1.000000
        hold_amps: 0.500000
        microsteps: 1
        toff_disable: 0
        toff_stealthchop: 5
        use_enable: true
        addr: 1
        run_mode: StealthChop
        homing_mode: StealthChop
        stallguard: 0
        stallguard_debug: false
        toff_coolstep: 3

That appear to relate to the Z motors - i’m happy to tweak and test things and see what happens - I had wondered about boosting/lowering run_amps or hold_amps for the motor in question (not sure which motor is 0 which is 1)? Or maybe max_rate_mm_per_min or acceleration_mm_per_sec2 ?

1 Like

I haven’t seen that exact behavior before, but from watching the videos it seems like you did a really good job of testing, and it does seem like both boards are behaving the same way.

I think that these are worth messing with, but I’m going to DM you a code for a new board and let’s get that in the mail right away since you are in the UK and it will take a few days to get there. Order two this time so we can be 100% sure :grinning_face:

1 Like

{insert Bill Murray voice} Important safety tip!
Many stepper drivers do not like to be plugged or unplugged while powered… Wait for the lights to go off before swapping.

2 Likes

I’m going to put this here because the big caveat to some behaviour i’m seeing is until I get replacement boards I have been seeing if I can get away with using a Y cable for the Z motors and running off the working port of a board:

And, interestingly, It definitely works on the sat on the bench, just manually raising or lowering.

It might work in real use, but given i’m about to talk about something not working, I certainly am not going to make any statements one way or another.

I am curious how out of spec doing this is, or is there enough headroom in the circuits that it’s expected to work?

3 Likes

Ok, so what have I been seeing (accepting caveat of who knows what effect driving both Z’s off one port has)?

I set myself up a calibration image:

900_900

(It’s an SVG and interestingly krabzcam got the inside/outside wrong for the circles - i assume it’s doing it off normals or something so could be how I created it).

I only had it do one layer, and the generated code is:
900_900.nc (6.3 KB)

The order it cuts is:

Now, it repeatedly failed when trying to do move (3):
Maslow-serial.log (3).txt (24.0 KB)

The BR belt went slack, then would stop, final few messages from above:

[MSG:WARN: Position error on Bottom Right axis exceeded 15mm while running. Error is 15.263mm Counter: 3]
[MSG:WARN: Previous error was 15.263mm]
[MSG:WARN: Position error on Bottom Right axis exceeded 15mm while running. Error is 15.025mm Counter: 4]
[MSG:WARN: Previous error was 15.025mm]
[MSG:WARN: Position error on Bottom Right axis exceeded 15mm while running. Error is 15.113mm Counter: 5]
[MSG:WARN: Previous error was 15.113mm]
[MSG:WARN: Position error on Bottom Right axis exceeded 15mm while running. Error is 15.219mm Counter: 6]
[MSG:WARN: Previous error was 15.219mm]
[MSG:ERR: Emergency stop! Stopping all motors]
[MSG:WARN: The machine will not respond until turned off and back on again]
[MSG:INFO: Reset during file job at line: 49]
[MSG:ERR: Position error > 15mm while running. E-Stop triggered.]

The relevant bit of the gcode:

I51.85212539 J-51.85214489 X600.01873767 Y373.27911215 F600
G0 Z3
G0 X300.34852112 Y672.94932869
G0 Z0
G1 Z-1.5 F400
G2 I-0.08965265 J-73.42065099 X352.17515646 Y651.4449475 F600

The I is the end of the circle, I believe it fails in G0 X300.34852112 Y672.94932869 (which seems perfectly valid).

Other possibly relevant stuff:

  • Was running router and vacuum (more on this later).
  • It was repeatable - it happened in the same place 3 times.

So, I took apart the Maslow and:

  • BR spool wasn’t binding
  • The magnet appears to be well seated.
  • I swapped BR with TL.

Now, it starts to get interesting.

With:

  • The router and vacuum off.
  • Raised 10mm from home (so the bit didn’t catch).
    It successfully traced the whole file.

BUT, with:

  • The router and vacuum on.
  • The normal height (so bit cutting)

It failed doing 4 (ignore the curve, it was straight, that’s to make it clear on the diagram):

Which looks very much like 3 but in the opposite direction. Annoyingly, I didn’t have much testing time today, so I haven’t repeated yet.

Maslow-serial.log (5).txt (11.5 KB)

[MSG:WARN: Position error on Bottom Left axis exceeded 15mm while running. Error is 15.208mm Counter: 3]
[MSG:WARN: Previous error was 15.208mm]
[MSG:WARN: Position error on Bottom Left axis exceeded 15mm while running. Error is 15.305mm Counter: 4]
[MSG:WARN: Previous error was 15.305mm]
[MSG:WARN: Position error on Bottom Left axis exceeded 15mm while running. Error is 15.008mm Counter: 5]
[MSG:WARN: Previous error was 15.008mm]
[MSG:WARN: Position error on Bottom Left axis exceeded 15mm while running. Error is 15.112mm Counter: 6]
[MSG:WARN: Previous error was 15.112mm]
[MSG:ERR: Emergency stop! Stopping all motors]
[MSG:WARN: The machine will not respond until turned off and back on again]
[MSG:INFO: Reset during file job at line: 61]
[MSG:ERR: Position error > 15mm while running. E-Stop triggered.]

Again it was the same arm (now swapped to TL) that went slack, but interesting it was BL axis showing the error.

Another thing I noticed - when it did the successful pass, when moved back to home, it was out of position:

0.23 seems not super significant, I am not sure about 0.96 - though I guess 1mm off vertically after travelling all that distance is probably fine.

Next steps

Any thought’s appreciated, but equally, given it’s on a suspect board, this might be resolved by a board swap, so it just becomes an interesting data point in that case.

So avenue’s for investigation:

  • New board - do I still see it.
  • Router on, but no vacuum / no bit (ie, is it interference from the router and/or extra load of cutting when running a Y cable).
  • Router on, vacuum on, no bit (as above with vacuum).
  • swap magnet and/or sensor board between arms.
  • swap magnet and/or sensor board for new.
  • swap motor between arms.
  • swap motor for new

In the order I think is most likely. Not sure what order i’ll investigate, depends when I get the new boards vs having time to play with the Maslow.

One thing I do need to work out though is if I can source the magnets locally? Are they readily available? I have spare rollers and a spare sensor board, but I don’t have spare magnets (or a spare motor).

I did wonder if the magnet could also be shimmed to sit nearer to to sensor as a test too.

1 Like

It would be interesting to see if swapping the motor order say TR/BR and see if it changes where it fails. Nice testing/analysis by the way.

1 Like

is this 4.0 or 4.1? on the 4.0 encoder boards there was a pin that should have
been grounded that wasn’t. This lead to some sensitivity to static electricity
confusing the encoder cheip (direction change)

Bar did some testing with such a setup and found that a conductive vacuum hose
eliminated the problem.

David Lang

1 Like

4.1, so theoretically that shouldn’t be an issue, but interference does seem a good candidate - there are all kinds of things where maybe my setup could be approaching tolerances - not least the fact i’m UK / 240V so the router and PSU will be operating slighty different to the majority of users for example.

Thanks - debugging accounts for a large chunk of my professional career, but also I just like problem solving :grin:

There’s definitely an element of rubber ducking to writing it all out - I have realised that when I have time to disassemble / reassemble the Maslow, I can swap the magnet rollers between two arms, and the motors between two different arms, and in one go I should get a couple of tests done. And swapping the motor order as you say!

1 Like

This actually should work. I had an earlier version of the board which worked this way. The stepper drivers are kind of fancy and do some back EMF detection to detect missed steps and things like that and those features don’t work quite right with two motors on the same driver. You can bump up the current in the settings to give them more torque

1 Like

Ah, I did wonder given it was a popular thing to do with 3D printers back in the day.

What headroom is there for bumping up the current - can it go to 2A, or is it more like 1.5A (or less)?

1 Like

The drivers are rated for 2A so you should have some headroom. There are separate current settings for when the motor is moving and when it’s holding position which can help with thermal management too since most of the time the motors aren’t moving

2 Likes

Is this issue solved?
I updated to version 1.07 and ran calibration. Now I am getting no response from the connecter nearest the USB port (I tried swapping the motor plugs to confirm that the motors where working)

Thanks

Update for me, not sure what changed but I left my Maslow powered on while reading this thread and opened the controller from my laptop instead of my phone. When I opened the controller on my phone again (after closing the tab on my laptop) it now works great!

Hi !
I recently finished assembling my maslow cnc. I was on the first steps, retracting the strapps was okay, and then I tested the z motors and the one closest to router cord it didn´t work. I see here some of you have exchangue the motors so I did it but I realized 2 motors are working okay. Maybe should be the board where the motor cable connect to it.

should I install something before testing?

i was controlling the machine through my cellphone

Is there any other recomendation to test and find the issue?

dicnga91@gmail.com

1 Like

Neat!

Which motor(s) were misbehaving, the Stepper Motor(s), or the DC Motor(s)?

Stepper Motor

DC Motor

The stepper motor (Z axis)

1 Like

Purely talking about me - I have received (today) the spares I need to (theoretically) resolve it - but will likely be a day or two before I get the chance to try.

That’s quite interesting - I would caution though, mine is intermittent, so keep an eye on it :slight_smile:

1 Like

Yeah, I will!

1 Like

I’d order a spare if it’s intermittent. That way you have it if you need it. I will DM you both a code for a free one right now.

So my update is (touch wood) a replacement board does seem to have resolved my Z issues, so it does look like I had two bad boards, these new ones look like they might be from a different batch too?

I tried one of the old boards with the new steppers - still saw the issue.
I tried a new board with the new motors - no issue.
I tried a new board with the old motors - no issue.
And i’ve managed to do some cuts since.

It’s always difficult to prove a negative with an intermittent issue, but it certainly seems fixed.

In terms of what the issue is - it did occur to me that in my testing the fan and both of the motors power on at the same time - I wondered if that could be a contributor. I did try running with no fan connected, but I don’t know if there is a better way to disable the fan to check that?

I have the components to bench test that without taking apart my machine if there is?

Equally, do we have details of the specific components that could need re-soldering / reflowing? I might at some point have access via a friend to some proper gear - would be good to see if I can make a board work just to be sure.

The other stuff around a loose belt and e-stopping seems separate to this, but I have made minor progress, so i’ll split that out into another thread.

1 Like