using a vibration / noise sensor as edge finder in a CNC machine

I have a desktop CNC machine which has just the basic functionalities like controlling the speeds and position with a somewhat reasonable accuracy / precision. I also have an edge finder which I can use to measure things and theoretically set the origin of the coordinate systems. However when I switch tools and replace the edge finder with the spindle I have something like a 0.3mm error. It means the milling tool either cuts more or less than what was intended.

So I'm thinking of measuring acoustic noise or mechanical vibrations on the vase to detect when the milling tool actually touches the part and compensate for those errors. For example consider the set up below:

I want to have a acoustic sensor (e.g. microphone) or a vibration sensor (e.g. accelerometer?) on the vise and then see the noise on a computer. I know Arduino and serial communication reasonably well, but I don't know what sort of sensors I can use for this purpose and how they should be wired. Thanks for your support in advance.

P.S.1. I have also posted this question here and here on Reddit.

P.S.2. I am gonna check if I can do it myself. So here I asked a more specific question about vibration monitoring.

P.S.3. So for those who end up here, I'm still pursuing this idea as it seems the most viable option for me. Here I have asked for good microphones to record the acoustic noise. And here I managed to plot an spectrogram of an audio file recorded with my cellphone. And eventually found Friture Free, Open Source Software to get spectrorogram and FFT of auditory inputs in real time.

• If you machine has speed control it propably has current measurement circuit. Instead of sensing sound or vibrations you could watch for current raising. – ufok Apr 3 at 9:49
• hmm, That's actually a good idea too. The issue is I can't mess with the electronics at this moment. And I'm not sure how much current fluctuation is there. The acoustic noise I can easily hear so it must be easy to measure I guess. – Foad Apr 3 at 9:56
• Have you measure the backlash of your machine? – Chris Stratton Apr 4 at 19:10
• Chris is right. Your only error should be the bearing, and tension slack which can depends on interference force when mill works on target. This has a lot to do with feed velocity on force thus slack error or backlash or in this photo drill bending – Sunnyskyguy EE75 Apr 4 at 19:29
• Seems to me more like you should get to the bottom of where exactly your error is coming from, or it will bite you in the future. If there is backlash, the head is not properly trammed, twist in the ways, excessive runout etc. there will be other accuracy issues. In other words, this seems like a symptom of something that should be addressed if you care about accuracy. You should be getting at least 10x better using a decent edge finder and with some care. – Spehro Pefhany Apr 5 at 1:43

Wire the PVDF strip into the analog in port of the Arduino (one side into A0, one side into ground). Then you could record a normal vibration spectrum when it's not being contacted as well as a vibration spectrum when you know it's being contacted using the int value = analogRead(A0); function and do a comparison.