W

CNC Z-probe with a (small) microswitch

by
WalterSKW
Follow
Follow
Remix Model
CNC Z-probe with a (small) microswitch 3d model
CNC Z-probe with a (small) microswitch 3d model
2D
3D
Makes
Be the first to upload a Make
This model is restricted by licensing terms. 

Model originally uploaded to Thingiverse at https://www.thingiverse.com/thing:3091555.

This is a Z-probe for a CNC router. Basically I had issues with those cheap touchplates as I tended to forget to connect the wire to the bit... So this is a design based on the microswitch one can find in the endstops for 3D-printers. See the picture for the model. (I you are looking for a model with a 'normal' microswitch : have a look here) I mounted 2 RED LEDs (in series with a 100 ohm resistor / Not needed on a Stepcraft machine - I removed the resistor). Connection is in parallel with the switch. RED leds because of the lower forward voltage (~1,6V). If you want another color like blue you should use only one LED (Blue : ~3,3V) The switch is connected with the C and the NC contacts. I used piece of spare 8mm steel rod between the switch and the bit. To flatten the ends, I used my pillar drilling machine and a piece of sandpaper.

Printed with a 0,4mm nozzle and 0,2mm layers in clear PETG.

The height correction is approx 30mm (depending on the piece of steel rod you use) The repetitivity is excellent. 10 probes gave 10 identical values.

Some video's https://youtu.be/VvNJ-5EQj_M https://youtu.be/08NVT6iv0V0 https://youtu.be/A3sQ0L70QQg https://youtu.be/MQkDcnywv6I

Can be checked with a macro I wrote for UCCNC :

// ----- // Purpose : Check probe for repeatability // Author : WHu // ----- // Date Version Remarks // 20180825 1.0 Base

// ----- // // double Zmin = -100; //Max.Z depth double Feedrate = 200; //Feedrate for probing double retractheight = 20; //The retract height double MinimumZ= 1000000; // Min measured Z height double MaximumZ= -1000000; // Max measured Z Height double AverageZ= 0; // Average Z height double MaxDev=0; // Max registered deviation double Deviation=0; // intermediate value, actual deviation double MeasuredZ=0; // Actual measured Z height int i=0; // loop counter // for(i=0; i<10;i++) { exec.Code("G31 Z" + Zmin + "F" + Feedrate); // Start probing while(exec.IsMoving()){} // Wait until movement stopped exec.Wait(1000); // Safety wait for the UC100 syncronisation MeasuredZ=exec.GetZmachpos(); // read actual Z-height AverageZ= AverageZ + MeasuredZ; // Add to average if (MeasuredZ<MinimumZ) MinimumZ=MeasuredZ; // New minimum value ? if (MeasuredZ>MaximumZ) MaximumZ=MeasuredZ; // New maximum value ? Deviation= Math.Abs(AverageZ/(i+1) - MeasuredZ); if (Deviation > MaxDev) MaxDev = Deviation; // Uncomment line below to show the intermediate value //MessageBox.Show("Probe[" + (i+1) + "]: "+ MeasuredZ+"\nMin value :"+MinimumZ+"\nMax value :"+MaximumZ+"\nMax Deviation :"+MaxDev);

double Zup = exec.GetZmachpos() + retractheight;//Calculate the new coordinate for the retract of Z axis exec.Code("G00 G53 Z" + Zup); //Retract the Z-axis while(exec.IsMoving()){} // Wait until movement stopped

} if(MaxDev<0.001) MaxDev=0; // Absurd to show these values. Even 0.001 is just a gimmick for the Stepcraft ... MessageBox.Show("Average value :"+AverageZ/10+"\nMin value :"+MinimumZ+"\nMax value :"+MaximumZ+"\nMax Deviation :"+MaxDev);


0 Likes2 DownloadsOctober 16, 2021


0 Likes2 DownloadsOctober 16, 2021
This model is restricted by licensing terms.