µMotor (or micro-motor) is a motor controller PCB and software made to control any BLDC and DC motor up to 250W.
The micro-motor is supplied with power and CAN bus via a single connector and can control the motor independently. In addition, a limit switch can be read out and the temperature of the motor can be monitored.
Communication is done via Can-Bus using CANopen protocol.
The software is written using the modm.io framework and librobots2.
For more information read the following blog posts about the project (in German):
- µMotor: Idee
- µMotor: Inbetriebnahme und Debugging
- µMotor 2 - Teil 1: Konzept
- µMotor 2 - Teil 2: Strommessung
- µMotor 2 - Teil 3: Microcontroller & Stromversorgung
- µMotor 2 - Teil 4: Strom- und Spannungsmessung mit ADC
- 3 phases (BLDC and DC motors)
- Approx. 10A per phase (with precise current measurement)
- 24V nominal operating voltage
- Adjustable cycle-by-cycle current limiting (short circuit protection)
- CAN bus
- CAN-FD supported
- CANopen protocoll (partial implemented)
- AB(I) incremental encoder connector
- Hall sensor connector
- Temperature sensor (NTC) connector
- Limit switch (GPIO) connector
- LEDs for status and diagnosis
- Configurable ID (from STM32 hardware ID)
- Easy to solder and assemble
PCBs micro-motor-v1 (rev1) and macro-motor are not supported anymore.
The second version micro-motor-v2 is basically functional, software improvements are in progress.
PCB micro-motor-v2.1 is similar to v2, but with added RC filters at encoder connector, added 1 µF capacitor to the STM32 VREFBUF output and changed DC/DC converter modules (caused by component shortage).
- KiCad files of the PCBs
- Pinout configuration of the STM32 microcontrollers done with STs CubeMX software
- Test software. Useful during PCB assembly
- Main Software
Software is licensed under GPLv3. Hardware (PCB files, ...) is licensed under CERN OHL v.1.2.