RiceCNC is an integrated hardware/software system for controlling Computer Numeric Control (CNC) milling machines using stepper motors for axes positioning. Several motor controller interfaces are supported including industry standard step/direction, discrete, quadrature and now ST Microelectronics “dSpin” SPI.
The system uses an intermediate motion control µP board relieving the host computer of real-time pulse generation. Two 32 bit micro-controller boards are supported: the 120 mhz TI EX-TM4C1294XL “Tiva C Series Connected LaunchPad” and the 80 mhz TI EX-TM4C123GXL “Tiva C Series LaunchPad”. Embedded firmware for both boards is included in the application package. The EX-TM4C1294XL adds memory and ethernet connection capability. It is recommended for new users and is available from the manufacturer for $19.99 including shipping, USB and ethernet cables. The boards can generate output signals compatible with most currently available motor driver boards.
The firmware performs position interpolations for any combination of linear and multi-dimensional cubic Bezier curves for up to nine axes. The host application automatically converts circular paths to cubic Bezier curves. The system also supports spindle speed control.
The app includes jogging in either program and machine coordinate spaces from either mouse or trackpad inputs. Motors can also be set for constant velocity running. Interactive linear, circular, drill cycle and pocket milling coordinated movement perform simple machining operations.
For more complex and repeatable operations, the app supports CNC programs using a subset of the RS-274 (G-Code) dialect with many extensions for program control, cubic bezier curves and readability.
In addition to offsets for fixture, tool length and program coordinates, the application supports coordinate transformations of scaling, skewing, polar and rotations in multi-dimensional coordinates space.