Repeatability, homing sensors, and is auto-squaring slaved B axis always best

tmtoronto

TMToronto
From the forum posts and documentation I understand that if I slave my B axis to the Y axis, the B axis requires its own separate homing sensor - I plan to do this.

I understand that this auto-squaring is a particularly beneficial feature for larger CNCs where gantries may be prone (using belts, etc ...) to become out of square.

I have a new CNC, less than 1mX1m cutting area, that uses ball screws and linear bearings on hardened tubular rails. Each Y axis has its own motors - all are stepper motors.

My first question concerns using the sensors to correctly set up the auto-squaring of slaved Y/B axes.

When I set up my homing, my plan was to push my X axis forward until the linear bearings reach their ends of travel in order to create a starting position reference (assuming I mounted all rails correctly/accurately, the linear bearings are set equally in their blocks, and all axes are square).

Then, I would jog the X axis back past the Y axis sensors.

Next I set up the homing of the Y axis sensor. I am a bit unsure what to do next. My plan was to jog the X axis using the smallest increment until the y axis sensor triggers, then I would carefully adjust the B axis sensor so that it just triggers at this exact same location/time. Is this best practice for ensuring both sensors of slaved axes are as square as possible?

My second question is, for the size and type of linear motion of my CNC, will auto-squaring be the best method to get accuracy and repeatability of the homing? (I understand that there are a myriad of other factors that impact a CNCs accuracy and repeatability)

Or, in my case would it be best to use a hardware slaving solution, where drives are connected in parallel?

If I understand correctly, the auto-squaring method will rely heavily on my set up and implementation of the Y and B sensors, as well as how well they perform.

I would appreciate it if those with experience can let me know if my above thinking and plans are correct, as well as what your thoughts are on which homing method might offer the best results for my set-up.

Tom
 

zombieengineer

ZombieEngineer
@tmtoronto

You have raised multiple questions - need some clarification to understand your implementation:
Quote from TMToronto on July 9, 2021, 11:40 pm

My first question concerns using the sensors to correctly set up the auto-squaring of slaved Y/B axes.

When I set up my homing, my plan was to push my X axis forward until the linear bearings reach their ends of travel in order to create a starting position reference (assuming I mounted all rails correctly/accurately, the linear bearings are set equally in their blocks, and all axes are square).

My understanding is you would configure MASSO to home the Y & B axis as the first step of the homing sequence (tick the Y & B axis in the Seq 1 row). You would have a homing sensor for both the Y and B axis such that when they have activated your gantry is now square. MASSO will pull drive the Y & B axis towards the limit switches simultaneously stopping whichever axis first triggers its respective limit switch allowing the remaining axis to catch up and therefore square the axis (the final stop may not be until the pull-off has been completed.
Then, I would jog the X axis back past the Y axis sensors.

This is where I start getting confused. Do you need the Y & B axis moved to a different location so you can perform the X axis homing?

Is this is the case then you need to enter appropriate pull-off and home position values. Note the "home position" is the axis position after the pull-off movement has completed.

Axis slaving is only valid when processing G-Codes, for operations such as axis homing they are treated as independent axis.
 

Attachments

  • MASSO_Homing.png
    MASSO_Homing.png
    14.2 KB · Views: 40

zombieengineer

ZombieEngineer
Did some investigation of "homing switch repeatability"
  • Optical interrupter switches are typically in the <0.01" range (seen several claiming 0.01 mm which is ?0.0005")
  • Inductive proximity switches do not quote repeatability due to magnetic properties of the target being beyond the manufacturers control
    • Hysteresis is typically quoted as being 10% of the sensing distance
    • Repeatability is likely to be a function of hysteresis (some fraction of the hysteresis number, use 25% as a guide until further information can be found)
    • Strangely this indicates a less sensitive inductive proximity switch has a tighter repeatable position accuracy



Reality Check - How much error on the homing sensors can we tolerate?

I vaguely remember that people at a glance can tell if something is square proving the error is less than 0.5 . The tan of an angle approximates the angle (measured in radians) for very small angles (this simplifies the explanation without having to break out a scientific calculator).

Firstly convert 1 to radians = 1 x ? / 180 = 0.01745

Tan is effectively the slope (rise over run) - for your setup where the axis is 1 meter long the deflection for a 1 error in square = 1000 mm x 0.01745 = 17.45 mm. If you can get the switch repeatability to be better than 1.7mm then your gantry will have an error of 0.1 .

Do you have some method of verifying your axis squareness better than 0.1 angular accuracy?
 

breezy

Moderator
@tmtoronto

Tom,

After Zombie's brilliant maths, I'll just say use Pythagoras Theorem (3,4,5 triangle) from a point near homing position place a mark then move the Y +600mm place mark there, return to starting point, now move X +800mm place a mark there, now measure the distance between the two marks it should 1000mm. If it is too long then move your B sensor in the + direction, if too short move in the - direction.

I managed to adjust the Bicton Men's Shed 1500 x 1500 router to less than 0.5mm on the diagonal and this was repeatable. I'll let Zombie work out the angle of error that I had. This was using generic ROKO sensors.

As for homing sequence, Z first, X & Y+B second. You can split X & Y+B into separate moves, that is up to you.

Regards,

Arie.
 

cncnutz

CNCnutz
Staff member
Hi Tom

If it helps here is a video I made on squaring up a gantry using basic mathematics.
Instead of moving the motor shaft as I show in the video just move one of the sensors and rehome the machine then retest until it shows that it is square.
Cheers Peter

 

tmtoronto

TMToronto
@breezy and @cncnutz - thank you as well for the additional information and suggestions (I saw your responses after I finished writing to ZombieEngineer)

@zombieengineer

Thank you for taking the time to answer my questions and share your insights.

Then, I would jog the X axis back past the Y axis sensors.

I will try to explain this - it is not in reference to pull-off/homing settings, as I believe I understand those.

Before I set up anything and before homing, I would pull my x axis to the front until both sides make reference/make contact with the Y axis mounting blocks. This will make sure the X/Y axes are square ( assuming I set the CNC up square in the first place). My thinking of 'jogging it back' was that the motors if properly in step would now move the X axis back an equal distance from these earlier reference points. Continuing, without setting up homing yet, I thought I would now place my sensor and trigger to the location I believe works best (giving enough room to avoid crashes during deceleration), then incrementally I would jog the X axis forward until the exact step that triggers the sensor. I would use the set up screen to look for low to high state change.

At this point I am assuming for the auto-squaring to work accurately, I now need to make sure the the B axis sensor is set to trigger at the exact step/position as the one I just calibrated for the Y axis.
In the end, I should have both sensors trigger at the same time, and the X axis will be square (it will have maintained the same distance from the mounting blocks on the Y and B axes.

It would be at this point that I thought I would be ready to actually set up the homing, as the axes will be triggered at the exact spot I want on Y and B sides.



I do take to heart your point about accuracy, and have read sources, such as the following from a 'Gecko' document:

A step motor is a mechanical device that is manufactured to a certain tolerance. Typically a standard motor has a tolerance of +/- 5% non accumulative error regarding the location of any given step. This means that any step on a typical 200 step per revolution motor will be within a 0.18-degree error range. Stated otherwise, the motor can accurately resolve 2000 radial locations. Coincidentally this is the resolution of a 10 micro-step drive.

I have no illusions of the accuracy and repeatability I can achieve, or really need, with the equipment I have and the work I plan to do. It is just in my nature to try to understand and follow best (realistic?) practices when it comes to building my controller and setting up my CNC.

As for measurements, instruments, and accuracy verification - I will just say that until I can afford better measuring tools, I hope all evidence points to a high degree of 'unverified' accuracy and repeatability vs 'clear and obvious' signs of the opposite.

Tom
 

zombieengineer

ZombieEngineer
Quote from Breezy on July 10, 2021, 11:56 am

I managed to adjust the Bicton Men's Shed 1500 x 1500 router to less than 0.5mm on the diagonal and this was repeatable. I'll let Zombie work out the angle of error that I had.

@breezy - I should drop by MBS one of these days and put a face to the name.

An error of 0.5 mm on the diagonal of a 600:800:1000 triangle works out to be 0.06 (I needed a spreadsheet to figure that one out!).

The purpose of the "reality check" discussion / calculations was to get people to consider what is required to measure / validate the "squareness" of their system. Measuring the hypotenuse to within 1 mm total error is a challenge (e.g. How exact is the location of your mark at each end? "measure with micrometer, mark with chalk, cut with axe").
 

breezy

Moderator
@zombieengineer

Actually on the BMS I used 900, 1200, 1500 so it <0.5mm in 1500.

To make the marks I placed a pointed rod in the spindle and slowly lowered it into the MDF baseboard and marked the spot with a marker pen. Then with the help of another shed member we measured the diagonal and we were within the thickness of the major mark on the tape measure and said that's close enough.

The shed committee decided that there were not enough members interested in using the CNC router and they wanted to use the space it occupied for another purpose, so they sold it to the Gosnells Men's Shed.

From your past comments I think I'm "just" down the road from you in Coogee.

Regards,

Arie.
 

zombieengineer

ZombieEngineer
@breezy

0.5 mm on a 1500 mm diagonal is 0.04 . In my books 0.04 is "close enough" for a router.

I am in Beeliar which is two suburbs east (the suburb of Lake Coogee is in between). Mayor road in Coogee is literally "just down the road" as it continues into Beeliar drive.

The most productive equipment in a Mens' Shed are some seats, mugs and a kettle. Many of the attendees will remember life before the internet and therefore computer skills are something they acquired later in life. I deal with similar issues with training simulators for chemical plant operators where the instructors are chosen based on their many years of extensive hands on experience, not necessarily their ability to use a computer (they run rings around me being able to start these plants up in an orderly and controlled fashion).
 

breezy

Moderator
@zombieengineer

We digress, I started my working life as a Instrument Mechanic at Alcoa Kwinana and then at Western Mining Nickel Rockingham, until I woke up and joined Telstra for the next 28 years.

At the time the most modern piece of equipment was a huge diode matrix with timers to control the batching operation of the nickel extraction autoclaves. Only problem was the valves that controlled the discharge would seize up or start leaking/not sealing, autoclave pressure was 400PSI with a Hydrogen atmosphere for the chemical reaction.
 

tmtoronto

TMToronto
I wanted to provide an update of my progress to date.

I successfully installed my homing sensors and they are working correctly - I have the Y and B axis slaved and the sensors synchronized to trigger as closely as possible. Next, homing and soft limits were set.

Masso software, and support videos (thank you CNCNutz), made setting up homing and soft limits straight forward.

For all my subsequent testing I used a CNC pen holder I had designed and 3D printed, then fitted with a sewing needle as a test tip. I taped small squares of cardboard to various test locations, and lowered the Z axis until the needle made a hole in the cardboard. Measurements between needle holes were made with a metal ruler and tape measure with 1 mm increments (I am saving up for a precision linear scale).

I set up a work offset, and repeatedly jogged between various start positions, and home and the work offset. Happily the needle lowered into the exact hole in the cardboard every time at each location (I felt confident after about 5-6 replications).

I tested my X and Y axes for square and found them to be out by 1 mm (using 600mmx450mmx750mm triangle reference points). Before working to resolve this, I thought it would be best to first calibrate my X and Y axes. I went through the calibration process two times each for the X and Y axes until my distance readings were as accurate as possible using my measuring tools. After rehoming, and resetting my 600m and 450mm needle reference holes, I was now showing square.

My CNC has a cutting area just under 900mm square, and using my needle and cardboard testing procedure, I repeatedly got accurate linear measures in all directions including those up to its maximum travel limits.

I ran my first gcode, using my pen holder to trace a 2D logo I designed, and all worked perfectly. I am looking forward next to setting up my router and cutting wood and aluminum chips.

Part of the reason for this update is to be able to once again share my praise and thanks for the support from forum members, as well as to highlight the ease of use of the Masso software and hardware. This was especially important for someone like myself who is new to CNC work.
 
Top