I am a noob and I have built an OX CNC. I’ve connected up a Chinese 400watt 12000 RPM spindle to it and all appears to work fine. The spindle is controlled via a pot connected to the BLDC Motor Controller and I would like to add a display showing the spindle speed. I understand there is a way to control the speed via software, but I’m quite happy with the way it is. The pot is connected to terminals marked GROUND, VR & +5V. Connecting a voltmeter between VR and GROUND and rotating the pot I get a variable voltage from 0 to 5V. My initial thoughts are to make an arduino voltmeter and configure it such that 5V (full speed) would display 12000 RPM, and as the voltage dropped so would the RPM reading. This assumes a perfectly linear pot. I don’t really think that it needs to be 100% accurate though. The other connections on there are 3 W, V & U from the spindle HALL+, HA, HB, HC & HALL- again from the spindle. Is using the 0 to 5V pot feed a good way forward or are there other ways to achieve this.
Those hall connections sound promising. Do you have any documentation for them?
Hi no other info apart from the HA, HB and HC are hall feedback signals.
Well, it sounds as though there are several hall sensors there that are intended to allow you to measure the speed of rotation. It would be nice to know what voltage they operate at though.
For mine (still in dev) I used a cheap chinese hall module.
had it hooked up to a 16x2 LCD. on an 18,000 RPM spindle 500W
There are a lot of projects out there for a tacho that use both Hall and IR and for most of them the same code will work with either sensor as they are simply a high/low signal. Did not connect the analog side.
I am leaning towards IR here as it means no additions to the spindle itself other than a small piece of tape.
My first attempt involved a really tiny screw mounted on the top fan for the hall version and even that added to the noise of the spindle.
I have yet to try some metallic tape to see if that is better but I suspect that may be the better route.
The recovery times of either device IMHO need to be suitable for above the max RPM and the hall gave the best results with the IR being just slightly off but close enough for me.
Bob.
wildbill:
Those hall connections sound promising. Do you have any documentation for them?
Standard commutating hall-switches for a 3-phase brushless motor, they will be 5V logic signals, and each will give N pulses per rotation where N is the number of pole-pairs in the motor, typically N = 1 or 2.
Don’t know much about logic signals. Is there any way to measure them?
Just checked with a multimeter. With the spindle running at full speed there is 4.98v to 5v between Hall+ and Hall-.
Between Hall- and HA at full speed it reads 2.35v, but increases to 2.5v as I slow the spindle down. When I turn the control completely down the spindle stops and the voltage goes to 4.98 -5v
Ken
It sounds like you are using a 5V Arduino.
If so, connect Hall- to Arduino ground and Hall A to a pin. Write something that digitalReads that pin using the state change example as a guide. Count rising edges over some time interval using millis and do some experiments to translate that value into RPM.
Once you have this proved out, you will probably find it better to use interrupts to take care of doing the count.
A multimeter will generally not be able to count PULSES so I would discount using that approach.
Bob.