Fuzzy Logic Servo Controller

SKU: srv-0100
Fuzzy Logic Servo Controller - top view
Fuzzy Logic Servo Controller - bottom view

This servo controller is based on the 16-bit Freescale 9S12XD family of dual core microcontrollers.  The main processor runs at 40MHz and requires only 6usec of processing time for a complete 5x5 fuzzy logic iteration.  Incremental optical encoder feedback is handled by the 80MHz RISC co-processor to ensure that high pulse rates do not affect the functioning of the main servo loop. The maximum event rate of the optical encoder software is 2^19 events per second. This rate is equivalent to a 5000 ppr encoder rotating at 6291rpm or a 1600 ppr encoder rotating at 19660 rpm.

The Programmers Guide is the API for designing embedded or PC applications to control a network of these servo controllers.  A .NET based test application is provided for immediate access to the controller via the USB to CAN Gateway device.


  • Closed loop brushed DC motor control
  • Selectable servo rate between 16Hz and 4KHz
  • CAN master/slave network  - max 127 nodes
  • CAN bitrate selectable for 125Kbit/sec, 500Kbit/sec or 1Mbit/s
  • 32 bit position and acceleration, 20 bit velocity (1/2 million encoder events/sec)
  • Trapezoidal and velocity profiling with position, velocity or acceleration modifiable in mid-motion.  Raw pwm and position modes.
  • Editable fuzzy input membership functions, output singletons and rules
  • Buffered servo statistics feedback for visualization and tuning (1500 iterations)
  • Quadrature optical encoder + index
  • 2 limit switches + IRQ emergency stop
  • ATD limit sensing for h-bridges that have current feedback
  • Network suspend power saving mode - wakeup via master CAN message or IRQ pin
  • Gpio pin that can be configured to toggle on network suspend - useful for power reduction of peripherals
  • API reference and .NET example code provided
  • LMD18200, Rohm 62xx, Simple-H and OSMC interfaces
  • Size: 1.25" x 1.5"
  • RoHS compliant
  • schematic