After a long break, during which my mother almost died of a menningoccocal infection, followed by pnumonia, I'm resuming work on my machine. I've been busy modeling small speed boats and jet units the hard way.
I'd put off ordering some low gate drive voltage mosfets, but finally got some from Farnell, soldered them to my PCB, and I've been familiarising myself with the build environment and my SW again... it's been that long !
I've got the 5 servo channels able to swing slightly more than 90 degrees, in 40 steps. I may tweak that later, but I'm controlling most things from one busy interrupt, with stepper drive updates staggered over sequential interrupts, to reduce average interrupt processing time.
Last week, it occured to me that the brushless motors I've been having so much fun with recently in my mini RC jetboats, should also work off my CNC PCB, so I tried one, the brushless ESC reciever connector goes on my board where a servo would plug in, separate power, and it works ! I'm not too surprised, but it opens up a lot of extra, and simple expansion possibilities. Firstly, brushless motors are available from around 10 watts up to around 10KW. They are a three phase motor primarily designed for the RC hobby industry, but the variety available, the efficiency, and the reliability make them very useful in general.
To get one running on my board, I select an off the shelf (from hong kong anyway) speed controller and motor, select my power source, connect up to my board, and I have control !
They are rated on "kv", of which the "k" is a misnomer, for example, a 750kv motor will run approx 750 rpm per volt, i.e. on 12 volts, 9000 rpm.
Dentist drills are now using them... you can get them over 10000kv, i.e. 120,000 rpm
However, the ease of assembly of multi pole motors (like stepper motors) means that for many applications, you don't need gears.
It it feasible to use a brushless RC motor for a screw thread drive ?
I don't think so, not unless you are trying to span a very large distance very rapidly, and don't need precision. The electronic speed controllers often have a "brake" function, that would be useful, but there would be a lag between the servo control signals, and the motor's response. Some of them are pretty good, I have a 3500kv motor outrunner (magnets inside an out-running-bell) that gets up to speed so fast, that it was twisting my first mini jetboat upside down in the air the moment it left the water. That wasn't from torque effect of a prop (It was a custom jet with stator counteracting engine torque), but of the motor accelerating the rotor to full speed in a fraction of a second. However, there will be applications using them, and with encoder feedback, they will do the job in less demanding applications. However, I'm thinking shorter term at the moment, and I think a brushless motor would make a great milling motor.
I'll still be a little slow for a while, and I'm going to ignore my SD card functionality for a while and used either USB serial or normal serial for loading the G-code (when I get that far!)
The "Mass storage device" software is a nasty piece of code that takes over large sections of a micro's OS and C library files, and the ST hardware implementation is... not simple.