Basic motor control (DC, stepper) examples.
Failed to load latest commit information.
app_DC_motor Use LCD module for the common modules Nov 17, 2011
doc Adding more doc info and checking in the compiled PDF Nov 18, 2011
.cproject Clean up ready for componentization Oct 31, 2011
LICENSE.txt Initial Commit Aug 24, 2011
README.rst Added proper hall effect sensing to remove noise Nov 4, 2011
sw_basic_motor_examples.pdf Adding more doc info and checking in the compiled PDF Nov 18, 2011


Basic Motor Control Examples

Stable release:Unreleased
Status: Work in Progress
Description:Examples for basic control of stepper and DC motors

Key Features

  • DC Motor:
    • Support for multiple motors
    • Basic speed control using PWM library
    • PID control using quadrature encoder for constant speed
  • Stepper Motor:
    • Microstepping
    • Current monitoring with ADC
    • Chopping (open loop / closed loop)
    • Decay Modes - Alternating or fixed

To Do

Known Issues

  • The XMOS motor control board is designed for 24V motors. To run the 12V brushed DC and 12V stepper motors, the undervoltage section of the power board needs to be modified to prevent it from stopping the FETs. The resistor R99, found near the centre of the power board, should be replaced by a 68K resistor. This will convert the undervoltage protection to 11.7V. Alternatively, removing resistor R100 will disable the undervoltage completely.

Required Repositories

  • sc_pwm
  • xcommon

Required Hardware

  • XP-DSC-BLDC development kit
  • Bipolar stepper motor
  • DC motor with quadrature encoder


Problems can be reported using the issues tab in github.