
08-13-2009, 09:18 PM
|
| | | Join Date: Mar 2004 Location: St. Louis, MO
Posts: 309
| |
Originally Posted by m37 Jon
as art is "semi retired" but still tinkering with mach
why don't you see if he will work on a driver for
your board?
mike |
I talked to art at (I think) the 2007 CNC Workshop at Roland Freistad's shop in Galesburg IL.
One of the big problems is that the ring zero environment that Art's driver runs in does not allow floating point to be used. I think that is a total hard requirement, and you couldn't finesse it in any manner. Windows device drivers should have no need of floating point.
The existing driver in EMC uses some floating point, but that could be changed. The problem is we would need to provide a PID servo control loop ALSO in this driver, and floating point computation would be a definite help in that. But, PID and general servo control can be done in fixed point, it was done that way for years in the "old days". Another concern is how to accomplish tuning of the servo loop. That requires a lot of connections between the driver and the user space environment. In EMC2, we have a real-time graphing program, modeled after a digital oscilloscope, called HalScope. I generally look at instantaneous encoder velocity and instantaneous following error at the servo sampling rate on this while making test moves. I also have a program that allows you to view and manipulate all the servo tuning parameters. So, you tewak a parameter, jog and watch the scope trace to see how you are doing.
I have no idea how much effort would be involved in getting this to run in Windows and with Mach.
Art certainly didn't seem to be chomping at the bit to implement this.
Jon
Last edited by jmelson; 08-13-2009 at 09:39 PM.
|