Arduino Based Tool Sensor plate.

dwall174

Registered
Registered
Joined
Dec 10, 2019
Messages
160
Has anyone made a zeroing sensor to control a relay when a cutter touches a metal plate?

I'm in the planning stages of building a motorized router lift & I'm curious if there's something that can be used to stop a 24V DC gearmotor once the cutter touches a flat brass plate?

I'm planning to use a i Gauging EZ View for the readout, So once I know the bit is level to the top-plate I can just zero out the display.

Something as simple as This Touch Sensor controlling a relay may work?

However something like the Arduino & Sensor used in this YouTube Video along with a relay may work a little better since you can adjust the sensitivity?

Doug
 
You will have to take into consideration the inertia of the gear motor and the switching time of the relay. Both of these will cause an overshoot. In addition, there is likely to be some variability in the overshoot.

My OEM Tormach homing sensor was a mechanical ramp and microswitch. It would approach the limit switch at a slow rate and back off about .05" on triggering. Because of the consistent approach speed the overshoot, and thus the final position, was fairly consistent but still varied by as much as +/-.003".

Your problem is somewhat different in that you are looking to determine when the tool touches the work. Tool height setters are generally spring loaded so the overshoot can occur. The position at the moment of first contact is captured and used to set the tool length.

A possible solution for you would be to use a tool height setter atop your work surface. Use the signal from the tool height setter to determine the distance to your surface, taking into account the height of the tool height setter.
 
You will have to take into consideration the inertia of the gear motor and the switching time of the relay. Both of these will cause an overshoot. In addition, there is likely to be some variability in the overshoot.
Yeah I also figured that there would be some type of overshoot/overtravel involved which is why I'm also planning to add a variable speed controller to the motor. Running at a really slow lift rate it should minimize the over travel.

I know a touch sensor can be made using a servo motor & controller as seen HERE (About 8:00 in video) But I'm not planning to be anywhere near that fancy!
I'll just be using a standard 24 volt 120RPM DC gearmotor to control the router lift. With the current PWM speed & direction controller I have, I can get the motor turning really slow.

HERE'S More information on the digital controls of the router table mentioned above, There's a couple of links to the actual coding & programing of the set-up, But that's pretty much all useless to me. Something fairly simple like THIS SENSOR set-up I could probably figure out, But getting anymore into the coding & programing I'll be lost.


Your problem is somewhat different in that you are looking to determine when the tool touches the work. Tool height setters are generally spring loaded so the overshoot can occur. The position at the moment of first contact is captured and used to set the tool length.
If I was able to get a constant amount of overtravel at a given speed of the lift, I could probably figure that distance into the design of the touch plate?

Doug
 
Last edited:
Take a look a Tormach's touch probe. It is capable of probing from + and - x and y directions as well as z. It comes up to a surface at a medium speed and when it hits the surface it backs off and comes in a a slow rate. The probe is capable of deflecting in all five directions to accommodate the overshoot. There are lower cost versions of the Touch probe available.

While it is most likely overkill for your needs, it may give you some useful ideas. A single axis wouldn't be too difficult as a DIY project. A stepper motor rather than a gear motor would give you accurate positional as well as velocity control.
 
Take a look a Tormach's touch probe.
What I'm planning on is more like a "Touch Off Plate" like this one.

43803-01-1000.jpg

However all of the CNC touch plates & touch probes connect through the CNC's control panel & run off of the built-in programs.
A single axis wouldn't be too difficult as a DIY project.
Yeah a simple touch plate that just lit up a led or sounded a buzzer while raising the lift manually would be easy, But getting it to shut off the motor once the bit touches the plate is what I'm trying to figure out.

Doug
 
I would need to know more about your existing and/or planned system for specific recommendations. If you already have a computer controlled system, it shouldn't be too difficult. If you can light an LED or switch a relay, you can shut off the motor.

I manually locate the zero on my CNC. I have a digital dial indicator with 1/2" travel and reading to .0001". My indicator zero is set at the middle of travel and I advance slowly until it zeroes and zero my DRO. It works because I use Tormach's TTS system which provides precise. repeatable mounting of tooling and the ability to measure tool offsets external to the mill.

Prior to the CNC mill, I used the typical method of setting tool lengths on the machine with each tool change. In one particular job, I was dealing with several dozen tool changes with some tools being as small as .009" in diameter. What I did was set up a relay contact at a convenient point on the table and when I touched the contact with my tool, it lit an LED and I set my DRO zero. My DRO had 199 available subdatum points as well as the absolute/incremental option. My absolute zero the relay contact. I would load a new tool and touch off on the contact and reset my absolute zero. Since the incremental and subdatum readings are relative to the absolute setting, this adjusted my work zero for the new tool. The relay contact was flexible enough that I could overshoot without jeopardizing my sensitive tools.

In your case, the contact could reverse or switch a motor off. I would highly recommend using a stepper. There are already stepper driver sketches for the Arduino as well as shields. A stepper motor for this application needn't robust. One could easily be salvaged from a computer hard drive or purchased on eBay for a dew dollars. I would ste up the sketch t approach the motor at moderate speed, back off until contact was broken and the reestablish contactat a very slow speed. If you hacked into the iGaging DRO, you could probably set the zero at that point.
 
If you already have a computer controlled system, it shouldn't be too difficult.
Yeah nothing that fancy & no computer controls, Just a basic forward/reverse & speed controller.
71Da4yijinL._AC_SL1500_.jpg


The controller does have a digital readout that displays the percentage of speed reduction, So it should be easy to set it at the same rate of travel each time.

Doug
 
I would highly recommend using a stepper. There are already stepper driver sketches for the Arduino as well as shields.
Yeah you are probably right! But I have no experience with them or the Arduino!

Another possibility might be a gearmotor with a built in encoder?

I probably should just pick-up one of those Arduino starter kits & get a better idea of what's actually all involved in the coding process.
Once I figure out the basics of the coding it may not seem too confusing to me.

I would need to know more about your existing and/or planned system for specific recommendations.
This project is still in the planning stages & eventually I'll probably post it in the Woodworking Projects forum., But to give you an idea of what I'm trying to do I'll try to explain it a little for you.

Basically what I'm looking to do is use two small scissor jacks moving together to lift a router motor.

My 1st. hurdle to figure out was a way to keep the motor (crank assembly) stationary & still keep the center-line of the scissor jack moving in a fixed position. With most automotive style scissor jacks the crank assembly moves up & down with the jack, And with a platform style scissor lift the scissor section actually moves/slides off center from it's starting center-line position.

What I came up with is to use the screw assembly from a wooden hand clamp like this.
03F0714-14-inch-x-7-inch-x-10-1-4-inch-dubuque-wooden-handscrew-each-f-01-r.jpg
03F0724-2-1-4-inch-dubuque-handscrew-kit-4-inch-jaw-each-f-01.jpg

The screw is threaded R/H on one side & L/H on the other side, The threads are 7/16 -14 Acme thread & move equally in or out depending on the direction the screw is turned. This allowed me to position the screw assembly at the bottom of the scissor assembly & also let me keep the crank/screw in a fixed position. This also allows the center-line of the scissor lift to remain in a fixed vertical position.

To guide the router motor I'll be using two 5/8" dia. steel rods that will travel in a housing originally used for a plunge router.

Attached are a few pictures of my latest design stage, Besides the electrical controls I also need to figure out how I want to make the base plate. The bottom plate will also tie into the type of motor & drive system used to control both scissor jacks at the same time.

Doug
 

Attachments

  • IMG_7508.JPG
    IMG_7508.JPG
    101.8 KB · Views: 14
  • IMG_7509.JPG
    IMG_7509.JPG
    91 KB · Views: 16
  • IMG_7514.JPG
    IMG_7514.JPG
    98.7 KB · Views: 14
Searching around a little more I found a video that uses a stand alone 5-pad capacitive touch sensor AT42QT1070
This would probably work for me & I wouldn't need the Arduino.

 
Has anyone made a zeroing sensor to control a relay when a cutter touches a metal plate?

I'm in the planning stages of building a motorized router lift & I'm curious if there's something that can be used to stop a 24V DC gearmotor once the cutter touches a flat brass plate?

I'm planning to use a i Gauging EZ View for the readout, So once I know the bit is level to the top-plate I can just zero out the display.

Something as simple as This Touch Sensor controlling a relay may work?

However something like the Arduino & Sensor used in this YouTube Video along with a relay may work a little better since you can adjust the sensitivity?

Doug
You might want to take a look at this for some ideas. It's meant for a slightly different purpose (a visual/audible touch detector) but it's pretty simple and doesn't even need an Arduino.
 
Back
Top