Skip to content

Latest commit

 

History

History
67 lines (46 loc) · 2.82 KB

README.md

File metadata and controls

67 lines (46 loc) · 2.82 KB

µMotor: a motor controller for BLDC and DC motors up to 250W

µMotor (or micro-motor) is a motor controller PCB and software made to control any BLDC and DC motor up to 250W.

Image of micro-motor-v2 PCB in a milled aluminium case

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):

Technical data

  • 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

Status

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).

Folder structure

kicad/pcb_name/

  • KiCad files of the PCBs

STM32CubeMX/

src/test_*/

  • Test software. Useful during PCB assembly

src/app/

  • Main Software

License

Software is licensed under GPLv3. Hardware (PCB files, ...) is licensed under CERN OHL v.1.2.