ON 20030206@12:33:56 PM at page: http://www.sxlist.com/techref/scenix/contest/starter.htm JSA-hotmail-EC3 John Paul Santos Aguiling I have agreed to maintain this page. ON 20030215@11:10:52 PM at page: http://www.sxlist.com/techref/scenix/contest/triple.htm JMN-EFP-786 James Newton edited the page. Difference: http://www.sxlist.com/techref/diff.asp?url=H:\techref\scenix\contest\triple.htm&version=0 ON 20030215@11:21:09 PM at page: http://www.sxlist.com/techref/scenix/contest/triple.htm JMN-EFP-786 James Newton edited the page. Difference: http://www.sxlist.com/techref/diff.asp?url=H:\techref\scenix\contest\triple.htm&version=1 ON 20030219@12:31:27 PM at page: http://www.sxlist.comscenix/contest/triple.htm JMN-EFP-786 James Newton published post 37671.4974189815 garrett@macetech.com
[SXList Contest: Idea]

A useful application of an SX microcontroller, and a wonderful tool for robotics hobbyists and home machinists, would be a self-contained CNC controller.

Typically, CNC controllers cost tens of thousands of dollars, require expensive setup and support contracts, and use proprietary code that cannot be user-modified. This makes it nearly impossible for anyone to produce accurate computer-machined parts, without the financial backing of a corporation.

A large community of homebuilt CNC'ers is growing. These hobbyists pull together CNC machines with surplus parts, homebrew software, and things from around the house. It's not overwhelmingly difficult to build a small router or engraver with acceptable accuracy, but the main problem has been controlling it. TurboCNC is one program that has gained a significant place in the hobbyist market, as it is free to use with a small fee for the sourcecode. However, it still requires a separate computer, and relies on the parallel port for output. In order to maintain the precise timing requirements of stepper motor controlling, TurboCNC will only run in DOS and relies on a purely text-based interface.

My proposal is this: implement a CNC controller with a single SX microcontroller. With microstepping drivers, the controller may need to output 20,000 or more step/direction pulses per second, to three or more stepper motor drives at once. The microcontroller should be configurable for lead screw pitch, step rate of the motors, accelerations, and other details. It should be able to accept standard G-Code (CNC motion description language) and perform the acceleration, deceleration, and interpolation as necessary.

If the SX chip can translate G-Code into realtime stepper control, the hardware requirements of a homebuilt CNC would be significantly reduced. A hobbyist could use an application on their desktop computer, which streams G-Code to the controller via serial port and provides a graphical backplot. The SX can be built into the same box as the stepper control circuits, and eliminate the need for a complete computer, monitor, and keyboard (or laptop computer). The control computer can be located some distance away from the CNC machine, to protect it from dust and metal chips. The control would also not be dependent on an old computer that may not have replacement parts available.

I think this idea is feasible, as a 486-50 running TurboCNC is capable of processing G-Code and controlling up to 8 motors. Without any overhead from the operating system, and with optimized code, an SX chip running 50-75 MIPS should be more than competent.

|Delete 'P-' before: '' but after: '