Hello,
well i have been doing this with arduino nano and atxmeg64 where arduino nano was doing as it should be and xmega was used to captured step/dir to run dc servo motors i have tested both grbl and tiny-g2 it works without any problem
further if you think that you will be able to run three servo motors in any mega series then just forget it ........ it will not give you performance needed to control servo motors and run a cnc mill i have used xmega and it uses hardware quadrature decoders while using event system and a timer/counter ........ here you will be trapped again that these timer/counters are 16-bit and it will give you 16-bit value as encoder position and for step/dir signal xmega up/down direction using event system wont works in real hardware its still wrong description in datasheet dont use and adc channel in xmega its way bad then mega series but there is a one good thing that xmega are less sensitive to ESD/EMI/RFI noise i dont know that do you either encountered with these noises
GRBL runing on arduino nano will consume almost +90% processing power while xmega give you double the processing power atmega328p i have not tested tingy/tiny-g2 processing power consumption so i have no idea how it works
well i have calculated all things and now it is possiable to run grbl on xmega while controlling three axis servo motors and one spindle control using pid @ 1Khz rate and soon i will be launching new controller with feedrate/rev Gcode setting options where it will be first to xmega series project which will support threading/tapping options and almost a complete cnc controller sorry to say it will not be open source project but
it will be a prove that in old days it was possiable to run cnc on 8-bit processors with almost all options like moderate cnc have where that had less than of 2 mips processing power and these days they are not able to run stepper motor control and all processing power is used even thats 16-mips grbl /32 mips tinyg /72 32-bit mips tinyg2
reality is that no one wants to let you know that how to do it better way to control cnc machine i myself dont want to do so because it took me more than 16 years to reach at this point what i can do is to gave you clue which i have already given you
to see how it works
pid running at 1khz so minimum step which can be executed in one second is =1000
in per/min steps will be =1000x60=60000
now if one step =0.01 mm
then
feed rate wold be =60000/100= 600mm/min
and this is where most cnc works during finish cut i mean 600mm/min or even slower to get more surface finish
getting 10 micron accuracy is very difficult on diy cnc hardware we used cnc machine to build a cnc hardware and used linear rail baring slide with precision ball screws and then we will be able to see 5 micron accuracy
so at this speed you are one to one with stepper controller at lower speed you are also one to one its just like same as acting like stepper motor .. at above speed you will get little bit degradation in machining and in most cases its like under 5% at most higher speed i did some test on higher speed for pcb milling with fine tracing of 8 mills width and did not noticed any visual defect
you can see that how these (tinyg/grbl) is running and you will find that they calculate 0.01mm cricle accuracy in general setting thats the professional machine also does in real time and who needs more than this much .
so i will say you its good approach to use servo motors instead of steppers motors where you will get good speed/load performance and wont fear to lose any step th
well about both control tinyg/grbl they are meant to control stepper motors you want to run servos then write your own motion planner thats what i ended up and going to do it in few days sad things the none of each party is interested to help me to modify there motion planner to make it compatible with cloosed loop servo motor control in that way it was possible to keep it open source
hope my info about servo performance will help you to go with more better way then using stepper motors
regards
Shams