Maslow 4 - position errors after calibration

Ok… so the machine has been on and off the frame about 10 times. This is really really hard.

Yes you need good wifi - that’s fixed so I got through Calibrations and got a new yaml file uploaded.

What am I missing about the sequence of event actions?
I hit calibration - it runs over all the points and ends with computing:

Calibration values:
Maslow_tlX: -11.565755203097158
Maslow_tlY: 2329.895699852861
Maslow_trX: 2993.137988739042
Maslow_trY: 2338.822475188169
Maslow_blX: 0
Maslow_blY: 0
Maslow_brX: 3011.7175693313006
Maslow_brY: 0

Seems ok? So I take it off the frame and retract/ extent the belts, put it back on the frame, and hit ‘take top slack’

I then upload the new yaml file and restart Fluid NC.

Then unlock and try to move and it outputs the errors of like 1000mm (see below) How do you recover? When are the belt position saved, are they ever? We can’t be taking the machine off the frame every single problem. Sorry to rant but I’m really frustrated at this point.

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]
error:8
[MSG:INFO: Caution: Unlocked]
[MSG:ERR: Position error on Bottom Right axis exceeded 1mm, error is -1754.627mm]
[MSG:ERR: Position error on Top Right axis exceeded 1mm, error is -1749.787mm]
[MSG:ERR: Position error on Top Left axis exceeded 1mm, error is -1745.916mm]
[MSG:ERR: Position error on Bottom Left axis exceeded 1mm, error is -1764.477mm]
[MSG:ERR: Position error on Bottom Right axis exceeded 1mm, error is -1742.970mm]
[MSG:ERR: Position error on Top Right axis exceeded 1mm, error is -1761.446mm]
[MSG:ERR: Position error on Top Left axis exceeded 1mm, error is -1734.295mm]
[MSG:ERR: Position error on Bottom Left axis exceeded 1mm, error is -1776.189mm]
[MSG:ERR: Position error on Bottom Right axis exceeded 1mm, error is -1678.596mm]
[MSG:ERR: Position error on Top Right axis exceeded 1mm, error is -1827.439mm]
[MSG:ERR: Position error on Top Left axis exceeded 1mm, error is -1670.139mm]
[MSG:ERR: Position error on Bottom Left axis exceeded 1mm, error is -1842.454mm]

I think that this is the key. We want to swap the order of these actions. IE we need to update the new .yaml file BEFORE restarting, retract / extend the belts…put it on the frame.

I couldn’t agree more. I think that making that experience less frustrating is a top priority. It’s very brittle / easy for something to go wrong at the moment and there are a lot of steps so the probability of something going wrong in one of them is pretty high.

YES - That sequence is a must! So I’m jogging it around and wondering if this means I need to do a calibration with a lot more points.

MSG:ERR: Position error on Top Left axis exceeded 1mm, error is 1.005mm]
[MSG:ERR: Position error on Top Left axis exceeded 1mm, error is 1.020mm]
[MSG:ERR: Position error on Top Left axis exceeded 1mm, error is 1.010mm]
[MSG:ERR: Position error on Top Left axis exceeded 1mm, error is 1.003mm]

I had done 15 when I wasn’t sure it was going to work.

Also it seems the hardest for belt retraction to get them all tight when it is way out at the lower corners. If it doesn’t get a couple measurement points tight what happens?

thanks!

and does the home button work?

Great question. Nope that means everything is working perfectly. I haven’t tuned the PID controller so when you command a sudden change with the arrow buttons the controller will overshoot or undershoot and it creates that warning. I thought about turning it off because it would confuse people, but I decided that hiding the issue isn’t the answer and we just need to spend some time tuning the PID controller to fix it.

At the moment that is totally normal and you can ignore those.

If anyone is interested in working on tuning the PID controller it’s a great place to get started because it doesn’t require any knowledge about programming, just a lot of adjusting the numbers and testing. Lots and lots and lots of testing.

It will average them so the more points you have the less one bad point will skew the data. Another long term project is going to be figuring out where we want to locate the calibration points. A grid is the simplest answer, but probably not the best.

I have no idea :grimacing: I completely forgot that button exists. I will test it today and fix it if it doesn’t because that should be a quick fix. Great catch!

Edit: I just took a quick look at the code and the home button does not call a function so it’s pretty safe to say that it does not do anything at all at the moment. I will make it work.

Great info. I was just jogging it around 20 inches and not cutting anything.

I thought I would get smart and try a 90 point calibration.

One observation - the amount of belt extended during the move point to point seems like a standard amount at first. This works well when moving between points 5-10 inches apart. When trying a grid, of say 10, the moves are big and the belt extension can miss a beat and therefore not have enough out causing a loose upper belt. Tendingthe belts helps but it is sneaky and with no way to redo a point can force a go back to start scenario. You could have it do some math on the distance between points and auto extend that much, thereby relying less on the auto tension sensing feed. I’m guessing

nest issue!

[MSG:INFO: Measured waypoint 26]
[MSG:INFO: Measured waypoint 27]
[MSG:ERR: Motor current on Bottom Right axis exceeded threshold of 4000mA, current is 4022mA]
[MSG:ERR: PANIC! Stopping all motors]

Belt isn’t stuck, it’s hanging loose / extended and the left is too
I

1 Like

I’m working on a fix for exactly this right now :grinning:

1 Like

Oh great - it did happen once or twice before but with all that wifi connection uncertainty I wan’t sure what to make of it. It definitely killed the very first 90 point calibration try and now this one

1 Like

Bar - first I must say how impressed I am with the engineering that went into designing this machine! Once you get time to breath, I suspect a lot of people would be fascinated to understand the math behind everything to understand better how the calibration process and operation works.

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 job 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)

When I look at the output, this is what it is reporting…

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:ERR: Position error on Bottom Right axis exceeded 1mm, error is -1119.405mm]
[MSG:ERR: Position error on Top Right axis exceeded 1mm, error is -1409.295mm]
[MSG:ERR: Position error on Top Left axis exceeded 1mm, error is -985.605mm]
[MSG:ERR: Position error on Bottom Left axis exceeded 1mm, error is -1322.591mm]
[MSG:ERR: Position error on Bottom Right axis exceeded 1mm, error is -1098.890mm]
[MSG:ERR: Position error on Top Right axis exceeded 1mm, error is -1433.205mm]
[MSG:ERR: Position error on Top Left axis exceeded 1mm, error is -962.570mm]
[MSG:ERR: Position error on Bottom Left axis exceeded 1mm, error is -1347.989mm]
Index.html Version: 0.66
[MSG:INFO: Firmware Version: 0.66]
[MSG:INFO: Motor detected on Top Left]
[MSG:INFO: Encoder connected on Top Left]
[MSG:INFO: Motor detected on Top Right]
[MSG:INFO: Encoder connected on Top Right]
[MSG:INFO: Motor detected on Bottom Left]
[MSG:INFO: Encoder connected on Bottom Left]
[MSG:INFO: Motor detected on Bottom Right]
[MSG:INFO: Encoder connected on Bottom Right]

At this point I’m not sure what to try. Any suggested next steps to figure this out?

By the way, I’ve repeated this sequence twice and ended up with the same issue.

1 Like

It sounds like you did everything perfectly. I just followed the same steps to make sure and the series of steps that you followed is correct.

Let’s try moving the z-axis up and down and see if that responds differently?

What do you see in the ? spot when you are jogging the machine?

Fixed (thanks to you :grinning: )

Here’s a fixed version if you don’t want to wait for the next release.

index.html.gz (153.9 KB)

The Z-axis behaves the same way (fan runs, steppers whine but no movement).

When I use the arrows to move the machine, the button switches from Idle to Jog and the Y value to the left increments down (from 0 to -100 in my test because I asked for a “down” of 100mm). HOWEVER, the machine never moves.

1 Like

If it helps, here is a link to a short video I just recorded that captures what I do, the screen updates, and what the machine does (or doesn’t do).

https://share.icloud.com/photos/055GrC58sg6ZJ8S5x3aBfSKeQ

1 Like

Well I am completely stumped

The fan comes on, the status changes to jog, the numbers increment, I think that I could even hear the stepper motors for the z-axis power up so the machine is 100% aware that it should be moving…it’s just not actually moving.

My instinct is that this has got to be some sort of a settings thing? Maybe it’s decided to move in microns or something so we can’t tell that it’s moving?

I can 100% hear the stepper motors powering up…I just know that once we figure this out it’s going to be one of those things that’s obvious in hindsight but frustratingly hard to spot

Could it be something really lame like the precision of the numbers in the YAML file messing it up? (I’m embarrassed to even suggest it.)

I’m using the OOTB YAML except I pasted in the values generated by the calibration process verbatim.

#####################################################################
# 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
1 Like

Maybe, but I’ve 100% also pasted them in verbatim.

Let’s try the total basics and power everything off → power on → Click on the red alarm button and it should change to green → then try moving the z-axis up and down

@Bob_Craig Maybe let’s start a new thread? I think this is different from what @anesbitt is working on and we’re kinda co-opting his thread

1 Like

If the belts are not tight at the end of a calibration point, the system thinks
the belts need to be longer than they really do, so this will add to the error
in the system. Bar says they are averaged, which helps reduce the impact of any
one point, but it’s only reducing it, not eliminating it.

having it pull a bit harder for the calibration will probably help this.

David Lang