office (314) 521-8808
fax (314) 521-4908

  US toll-free (877) 230-5270


Peter Norberg Consulting, Inc.

NCRouter2D and NCRouter4D Firmwares (BETA RELEASE)

The NCRouter2D series of firmware (as implemented by the dsPicNCRouter2D, BC2D20NCRouter and BC4E20NCRouter BETA firmwares) are designed to allow our dsPic series of controllers to operate dual-axis stepper motor systems, wherein the intent is to control the pair of motors as one unit. It supports "perfect line" drawing, wherein the firmware controls the relative X,Y (or W, X, Y Z, if operating 4 axes) stepping rates needed to cause straight (linear) motion between specified pairs of X,Y addresses. Additionally, the code provides a powerful arc/circle (actually, a polygon) drawing tool, which permits easy drawing of arcs, circles and polygon figures.  The arc system supports degree measurements down to 1/1,000,000 of a degree, and is accurate to +/- 1 step with radii of up to 100,000,000 steps.

In order to perform the linked-motor operations, the firmware makes the assumption that one "step" on the X motor generates the same distance of motion as one "step" on the Y motor. It also supports gear system "backlash", as may be required when the direction of rotation is changed.

The NCRouter2D/NCRouter4D firmware series shares many of the features of the GenStepperBC2D20PotRouter dual-motor controller and BC4E20PotRouter four-motor firmwares. The current control of the motors is identical, as is the general method of sending numeric parameters for commands. Many of the commands which configure the system are also identical (such as setting the step rate); however, the fundamental control theory is different. The NCRouter2D firmware explicitly controls both motors at the same time, from a single command (such as Goto or Arc), with automatic step-rate ratioing in order to generate straight lines; while GenStepper explicitly controls the two motors independently, so that one motor may be performing a "slew" operation, while the other is executing a "goto".  

The motion control is queue oriented: that is to say, it maintains a moderate size queue of pending actions (at least 50 elements are available), and allows queue elements to "chain" into each other (to allow complex motion without having to stop and restart the motors).

Short Feature Summary

  • Two or four stepper motors are to be controlled at one time.
  • Limit switches may be used to automatically request stop of motion if either motor reaches a limit in either direction.
  • An additional separate TTL input may be used to request an 'instant stop' of motion if triggers, as an emergency abort action.
  • Rates of 1 to 51,200 microsteps per second are supported on the 2 axis systems, 40,960 for 4 axis systems.
  • Ramping of the motors follows a simple trapezoidal profile; however, the ramp rate is effectively unlimited (i.e., you can go from the start rate to the target rate in one step cycle).
  • Motor coordinates are maintained as 32 bit signed values, and thus have a range of -2,147,483,647 through +2,147,483,647.
  • Both GoTo and Arc (actually, multi-line-segment) actions are fully supported.
  • Arc vertex locations are calculated to a precision of about 1:100,000,000
  • Arc angles may be specified down to 1/1,000,000th of a degree.
  • A TTL "busy" signal is available, which can be used to see if the motors are still moving. This information is also available from the serial connection.
  • Complete control of the motors, including total monitoring of current conditions, is available through serial interface system.
  • Any number of motors may be run off of one serial line, when used in conjunction with one or more SerRoute controllers.
  • The 5.04 beta update for the two motor systems now supports reading of phase-encoders for the X and Y motors (note that there is no feedback control; the reading is report only, and is not used to automatically adjust the motor position).

Click here if you need to download the current version Adobe Acrobat Reader from Adobe's site.

Click here if you prefer to use Foxit Reader as is available from the Foxit Software site.