pdf-icon

Module13.2 ODrive

SKU:M036 M036-B

Description

Module13.2 ODrive is a high-performance servo motor driver module launched by M5Stack, based on the open-source motion control solution ODrive. It supports controlling a single three-phase servo motor with a peak drive current of up to 5A. It provides high-speed motor control capabilities along with an encoder signal interface, enabling high-precision motion control positioning. The module uses a UART communication interface and is compatible with the official ODrive configuration tool and protocol (through the host computer tool, different motor motion modes can be configured to make the motor operate more smoothly and stably).

Features

  • Single three-phase servo motor drive
  • Peak drive current of 5A
  • 12-24V DC power input interface (requires an adapter with an output current of up to 5A)
  • Communication interface: UART
  • Single-channel servo motor drive with encoder interface

Includes

  • Single module version

    • 1 x Module13.2 ODrive
    • 1 x 3.96-3P terminal
    • 1 x 3.96-2P terminal
    • 1 x 2.54-5P terminal
  • Motor kit version

    • 1 x Module13.2 ODrive
    • 1 x 3.96-3P terminal
    • 1 x 3.96-2P terminal
    • 1 x 2.54-5P terminal
    • 1 x Servo motor (detailed parameters see the specification table below)
    • 1 x Encoder adapter board

Applications

  • High-precision motion control
  • Servo motor drive

Specifications

Specification Parameter
Optional servo motor specs Phases: 3, Voltage: 24V-DC, Rated current: 4A, Rated power: 62W, Rated speed: 3000rpm
Motor driver chip DRV8301
Maximum drive current 5A
Interface type 3.96-2P (power), 3.96-3P (motor), 2.54-5P (encoder)
Input power 12-24V DC
Net weight 22.5g
Gross weight 42.3g
Product dimensions 54.2 x 54.2 x 13.2mm
Package dimensions 95 x 65 x 25mm

Schematics

PinMap

M5Core G13 G5 5V GND
Module13.2 ODrive RX TX 5V GND

Datasheets

Softwares

Arduino

Example Description
This example uses the ODrive module to control a servo motor for high-speed and precise rotation. Press button C to calibrate (do not touch the motor shaft during calibration), and press button A to control the motor rotation. Note: The motor parameter configuration in this example is only applicable to the motor model included in the M5 ODrive kit. When driving other types of motors, please configure the parameters according to the motor used.

ODriveTool

odrivetool is the configuration and debugging software for ODrive. This tutorial will demonstrate the installation and basic usage of odrivetool on a Linux platform.
  • Use the following command to install odrivetool v0.5.1, requiring python3.
pip3 install odrive==0.5.1.post0
  • Add ~/.local/bin to the system environment variables by executing the following command and inserting export PATH=$PATH:~/.local/bin at the end of the file.
vim ~/.bashrc
  • Run the tool by executing odrivetool in the command line. Connect the ODrive module to the computer and wait for odrivetool to recognize it. After successful connection, enter odrv0.vbus_voltage to test and obtain the driver board's power supply voltage.
$odrivertool

ODrive control utility v0.5.1.post0
Website: https://odriverobotics.com/
Docs: https://docs.odriverobotics.com/
Forums: https://discourse.odriverobotics.com/
Discord: https://discord.gg/k3ZZ3mS
Github: https://github.com/madcowswe/ODrive/

Please connect your ODrive.
You can also type help() or quit().

Connected to ODrive 306A396A3235 as odrv0

In [1]: odrv0.vbus_voltage
  • Common configuration commands.

//Configure motor current limit
odrv0.axis0.motor.config.current_lim [A].

//Configure motor speed limit
odrv0.axis0.controller.config.vel_limit

//Configure the resistance value of the power dissipation resistor
odrv0.config.brake_resistance

//Save configuration
odrv0.save_configuration()

Video