BLDC Control ODrive-for-ARC

Mickey666Maus

Germany
robot video thumbnail
robot video thumbnail
robot video thumbnail

This is the setup for my Tarot 6S 4108 KV:380 BLDC motor to be used like any other servo in ARC...

It is just MY PERSONAL setup and meant to get you started, please READ THE manual over at the official Odrive website! https://docs.odriverobotics.com/

First you will need to install and configure your Odrive Software... I am running Linux, please check the installation guide for Windows found at the official Odrive website if you are running Windows! This will just be needed for the first time setup. After the setup you will use an Arduino connected to a Windows PC running ARC!

https://github.com/SwannSchilling/ODrive-for-ARC/blob/main/setup

You should see your BLDC motor moving, after being put to closed loop and receiving the odrv0.axis0.controller.pos_setpoint command...

Next you will have to upload this code to your Arduino Uno https://github.com/SwannSchilling/ODrive-for-ARC/blob/main/ODriveArcArduinoTest.ino

In ARC just add a servo control to your project, and connect to the Arduino! https://synthiam.com/Community/Tutorials/Connecting-Arduino-to-ARC-17526 The Arduino sketch will receive those servo positions and send them to the ODrive...

All non-power I/O is 3.3V output and 5V tolerant on input, on ODrive v3.3 and newer.

This tutorial is just meant to be a starting point, please mess around with my settings and share your experience, so we will get a better understanding on how this whole setup can be utilized!!:)

User-inserted image

By — Last update

ARC Pro

Upgrade to ARC Pro

Discover the limitless potential of robot programming with Synthiam ARC Pro – where innovation and creativity meet seamlessly.

#17  

That is funny, I think I watched most of Skyentifics videos, but cannot remember that one...post it if you can find it! Good you are having the MJBots dev kit, I will definetely also get one, to see the differences!

James B has so much stuff out there that I might have missed a few, but his and Skyentifics are really awesome channels...

PRO
USA
#18   — Edited

Sure it starts...@ 7:30... This is the MJ Dev Kit.

#19  

Ah, coooool this one is the newest...I did not check into it because I don't have the kit, but I will just watch it now to be up to date!:)

PRO
USA
#20  

FYI to all, don't forget the Chinese New Year is coming up...be sure to order all your testing stuff before then or you'll be waiting a long time for it.

#23  

Hi Mickey, Did you ever make a video of the gearbox in action? I am curious what the vibrations are like at higher speeds.

PRO
Synthiam
#24  

In the firmware for the set servo position, don’t you want to map 180 not 100? Because ARC will by default send 180 servo position degrees


odrive.SetPosition(0, map(pos, 0, 100, 0, 180000));

Should be...


odrive.SetPosition(0, map(pos, 1, 180, 0, 180000));

also, that code will only move one osdrive and no pwm servos. If you simply add an IF condition to make d0 the o drive, the rest could still be pwm servos.