Maslow4 - after calibrating, sled won't move when jogged

After successfully calibrating the sled, updating the YAML, rebooting and power cycling the controller, the sled will not move when jogged but appears to think it did.

Bar, picking up where we left off, I may have been wrong to say the z-axis exhibited the same behavior. I thought it did on previous tests but right now the z-axis does move but it will not move X or Y.

Here is a video I made that starts with me power cycling the controller, then attempting to move the sled. Z-axis works up and down, X and Y turns on the fan, motors whine, UI updates X/Y positions when arrow pressed, but machine still doesn’t move on command.

https://share.icloud.com/photos/086jcRbFZfekWd0B_OdQVfA2g

1 Like

For clarity, here is the full output since the machine booted up and I attempted to jog it. Is there any option to turn on more verbose logging?

Serial Messages
[GC:G0 G54 G17 G21 G90 G94 M5 M9 T0 F0 S0]
$/axes/x/max_travel_mm=2438.400
$/axes/x/homing/mpos_mm=0.000
$/axes/x/homing/positive_direction=true
$/axes/y/max_travel_mm=1219.200
$/axes/y/homing/mpos_mm=0.000
$/axes/y/homing/positive_direction=true
[MSG:INFO: Channel auto report interval set to 50 ms]
[GC:G0 G54 G17 G21 G90 G94 M5 M9 T0 F0 S0]
[MSG:INFO: Caution: Unlocked]
[MSG:ERR: Position error on Bottom Right axis exceeded 1mm, error is -1213.559mm]
[MSG:ERR: Position error on Top Right axis exceeded 1mm, error is -1187.716mm]
[MSG:ERR: Position error on Top Left axis exceeded 1mm, error is -1206.727mm]
[MSG:ERR: Position error on Bottom Left axis exceeded 1mm, error is -1200.260mm]
[MSG:ERR: Position error on Bottom Right axis exceeded 1mm, error is -1213.574mm]
[MSG:ERR: Position error on Top Right axis exceeded 1mm, error is -1187.719mm]
[MSG:ERR: Position error on Top Left axis exceeded 1mm, error is -1206.729mm]
[MSG:ERR: Position error on Bottom Left axis exceeded 1mm, error is -1200.252mm]
[MSG:ERR: Position error on Bottom Right axis exceeded 1mm, error is -1214.030mm]
[MSG:ERR: Position error on Top Right axis exceeded 1mm, error is -1188.023mm]
[MSG:ERR: Position error on Top Left axis exceeded 1mm, error is -1206.990mm]
[MSG:ERR: Position error on Bottom Left axis exceeded 1mm, error is -1200.637mm]
[MSG:ERR: Position error on Bottom Right axis exceeded 1mm, error is -1213.548mm]
[MSG:ERR: Position error on Top Right axis exceeded 1mm, error is -1187.695mm]
[MSG:ERR: Position error on Top Left axis exceeded 1mm, error is -1206.727mm]
[MSG:ERR: Position error on Bottom Left axis exceeded 1mm, error is -1200.249mm]
[MSG:ERR: Position error on Bottom Right axis exceeded 1mm, error is -1209.430mm]
[MSG:ERR: Position error on Top Right axis exceeded 1mm, error is -1191.844mm]
[MSG:ERR: Position error on Top Left axis exceeded 1mm, error is -1202.579mm]
[MSG:ERR: Position error on Bottom Left axis exceeded 1mm, error is -1204.380mm]
[MSG:ERR: Position error on Bottom Right axis exceeded 1mm, error is -1154.561mm]
[MSG:ERR: Position error on Top Right axis exceeded 1mm, error is -1248.273mm]
[MSG:ERR: Position error on Top Left axis exceeded 1mm, error is -1147.292mm]
[MSG:ERR: Position error on Bottom Left axis exceeded 1mm, error is -1260.577mm]
[MSG:ERR: Position error on Bottom Right axis exceeded 1mm, error is -1128.390mm]
[MSG:ERR: Position error on Top Right axis exceeded 1mm, error is -1275.970mm]
[MSG:ERR: Position error on Top Left axis exceeded 1mm, error is -1120.907mm]
[MSG:ERR: Position error on Bottom Left axis exceeded 1mm, error is -1288.164mm]
[MSG:ERR: Position error on Bottom Right axis exceeded 1mm, error is -1128.483mm]
[MSG:ERR: Position error on Top Right axis exceeded 1mm, error is -1276.022mm]
[MSG:ERR: Position error on Top Left axis exceeded 1mm, error is -1120.951mm]
[MSG:ERR: Position error on Bottom Left axis exceeded 1mm, error is -1288.228mm]
[MSG:ERR: Position error on Bottom Right axis exceeded 1mm, error is -1128.855mm]
[MSG:ERR: Position error on Top Right axis exceeded 1mm, error is -1276.243mm]
[MSG:ERR: Position error on Top Left axis exceeded 1mm, error is -1121.151mm]
[MSG:ERR: Position error on Bottom Left axis exceeded 1mm, error is -1288.476mm]
[MSG:ERR: Position error on Bottom Right axis exceeded 1mm, error is -1128.379mm]
[MSG:ERR: Position error on Top Right axis exceeded 1mm, error is -1275.970mm]
[MSG:ERR: Position error on Top Left axis exceeded 1mm, error is -1120.907mm]
[MSG:ERR: Position error on Bottom Left axis exceeded 1mm, error is -1288.164mm]
[MSG:ERR: Position error on Bottom Right axis exceeded 1mm, error is -1164.425mm]
[MSG:ERR: Position error on Top Right axis exceeded 1mm, error is -1307.665mm]
[MSG:ERR: Position error on Top Left axis exceeded 1mm, error is -1086.719mm]
[MSG:ERR: Position error on Bottom Left axis exceeded 1mm, error is -1258.022mm]

And the full contents of the YAML file. Running 0.66 firmware.

board: Maslow
name: Maslow S3 Board

# Is the maslow on vertical (true) or horizontal (false)
Maslow_vertical: false

# Define the distance from the anchor points to the corners of the calibration grid in mm
Maslow_calibration_offset_X: 500
Maslow_calibration_offset_Y: 500

# Defines the number of points in the calibration grid (X by Y), maximum is 10x10
Maslow_calibration_size_X: 10
Maslow_calibration_size_Y: 9

#####################################################################
# Define the frame
#
# By convention we have defined the bottom left to be (0,0) and the bottom right to be (__,0) but any values are valid.
# Bottom, top, left, right are defined with relation to the power cord being down looking from the top of the machine.
# All values in millimeters!

# Top left corner of frame. nominally  0, height
Maslow_tlX: 2.487602479647865
Maslow_tlY: 1515.257773837392

# Top right corner of frame. nominally width, height.
Maslow_trX: 2241.20259375192
Maslow_trY: 1497.8661289230233

# Bottom left. Nominally 0,0
Maslow_blX: 0
Maslow_blY: 0

# Bottom right. Nominally width,0
Maslow_brX: 2246.7944857704247
Maslow_brY: 0

# Z axis values 
# These define the height of the anchor points in relation to each of the arms. You do not need to change these typically
Maslow_tlZ: 144
Maslow_trZ: 97
Maslow_blZ: 75
Maslow_brZ: 117

# Sets how hard should Maslow pull on the belts to retract before considering them to be all the way in.
# Maximum value is 4,000. Arbitrary units.
Maslow_Retract_Current_Threshold: 1500
# Sets how hard should Maslow pull on the belts during the calibration process.
Maslow_Calibration_Current_Threshold: 1300


####################
# Below here should not need to change, these are related to how fluidcnc connects to the board.

spi:
  miso_pin: gpio.13
  mosi_pin: gpio.11
  sck_pin: gpio.12

sdcard:
  card_detect_pin: NO_PIN
  cs_pin: gpio.10

stepping:
  engine: RMT
  idle_ms: 240

uart1:
  txd_pin: gpio.1
  rxd_pin: gpio.2
  baud: 115200
  mode: 8N1

axes:
  x:
    max_rate_mm_per_min: 2000
    acceleration_mm_per_sec2: 25
    max_travel_mm: 2438.4
    homing:
      cycle: -1

    motor0:
      dc_servo:

  y:
    max_rate_mm_per_min: 2000
    acceleration_mm_per_sec2: 25
    max_travel_mm: 1219.2
    homing:
      cycle: -1

  z:
    steps_per_mm: 100
    max_rate_mm_per_min: 400
    acceleration_mm_per_sec2: 10
    max_travel_mm: 100

    homing:
      cycle: -1

    motor0:
      tmc_2209:
        uart_num: 1
        addr: 0
        cs_pin: NO_PIN
        r_sense_ohms: 0.110
        run_amps: 1.000
        hold_amps: 0.500
        microsteps: 0
        stallguard: 0
        stallguard_debug: false
        toff_disable: 0
        toff_stealthchop: 5
        toff_coolstep: 3
        run_mode: StealthChop
        homing_mode: StealthChop
        use_enable: true
        direction_pin: gpio.16
        step_pin: gpio.15

    motor1:
      tmc_2209:
        uart_num: 1
        addr: 1
        cs_pin: NO_PIN
        r_sense_ohms: 0.110
        run_amps: 1.000
        hold_amps: 0.500
        microsteps: 0
        stallguard: 0
        stallguard_debug: false
        toff_disable: 0
        toff_stealthchop: 5
        toff_coolstep: 3
        run_mode: StealthChop
        homing_mode: StealthChop
        use_enable: true
        direction_pin: gpio.38
        step_pin: gpio.46

There are only two areas I changed from default: 1) updated the values from the calibration run, and 2) changed the “Maslow_Retract_Current_Threshold” from 1300 to 1500 because I had one belt stopping short consistently when retracting.

1 Like

I am no-longer stumped :grinning:

When the machine is powered off and back on it needs to go through the cycle of Retract All → Extend All → Take Slack to learn where it is. Basically it doesn’t know if it’s been off for one second or a week so it needs to re-learn the length of each belt.

Until it goes through that cycle it will let you move the Z-axis but not the XY axis for safety

There 100% needs to be a warning message that will let you know that. I will add one right now

Hmm it’s actually a little tricky because we want to be able to move the z-axis in that state without a warning message popping up, but if we try to move XY we want a warning. It’s a little tricky to differentiate between them. I’m going to think on how to do it right, but you 100% identified an issue that needs to be more clear.

OK, I"m going to try that again. But when I first ran into the problem, I did go through the entire sequence.

I do have a problem that seems similar to what is above in this thread. The conversation above hasn’t helped me identify what might be wrong, though.

I did the calibration, disconnected the belts, updated the YAML file, uploaded it (along with the firmware and index.html updates), updated the firmware, restarted Fluid.nc and then cycled power. I then did a Retract followed by Extend, attached the belts and Take Slack to tighten everything up. I then tried to jog the machine with the arrows but all that happened is the fan would turn on for a second, the motors would whine for a second, then nothing else. (The job was for 100mm)

1 Like

I think that there might be a way that can happen. I have a feeling that if at the Extend All step you pull the belts out so that there is enough to reach the anchor points…but not all the way until they stop that it might happen. When the belts are fully extended (IE stop extending further on their own) that’s when we trigger the system to let jog work normally.

We’re definitely going to need to think through how to make that more clear / better / user friendly

1 Like

That was absolutely it. I was fooled in thinking it had extended as far as it wanted because when I was close to the anchor point I’d let off on the tension and the machine would pause.

Perhaps a clarification in the user guide that you have to continue applying tension until the machine won’t let any more out? The only place it is mentioned is during calibration and even after reading it I assumed that when the machine stopped it was done (even though I eased up on the tension).

1 Like

An entirely reasonable thing to think. Thanks for bringing that up, I’ll work on making that more clear. I think that we need to go further than just having it in the user guide. There should be something visual in the UI to indicate what’s going on.

1 Like

allow normal movement after the ‘take up slack’ button is pressed, not based on
the extend getting to a specific length.

David Lang

1 Like

@bar - bringing this up again. I’ve run into the same problem again but I’m sure I’ve down the full Extend on all 4 belts and did the Take Slack. But again it will not Jog. I really can’t figure out what is going on.

This started after I was doing a carve and a bit broke so I had to do a Stop. After changing the bit, I started the machine up again, did the retract/extend/slack steps then reloaded the project. The machine was positioned no where near “home” but the UI shows its current position accurately versus Home. When I pressed Play, the z axis moved up and down as the gcode called for, the UI indicated the machine was moving, but it wasn’t actually moving.

I tried this cycle twice and both times it didn’t move. I’ll try again later (a bit frustrated at the moment) to see if I can gather any more information.

By the way, is there any way to stop a job in the middle and restart? I can’t find any way to do it without killing the machine with emergency stop.

And how can I get the machine to move to the Home location? When I hit the Home button inside the arrows, nothing happens.

1 Like

When you have a chance, give 0.66.3 a try it will hopefully give us more information on what is going on and it will 100% fix the Home Button issue (someone pointed that one out yesterday and it was an easy fix).

I’m not sure that it will fix the not moving issue, but it will give us more descriptive error messages which should help shed some light on what is happening.