Quasi-Direct Drive Actuator
Quasi-Direct Drive Actuator:
Main Features:
Planetary Gearbox - 6:1 Gear Ratio
FOC BLDC motor controller
Helical Gears - Good for Higher Torque Applications
Eaglepower BLDC 90 KV motor
Single Stage - Compact Design
104 mm OD, 52.5 mm Width, 526 grams (with motor)
QDD Base
20% infill, Organic Supports
6:1 Gear Ratio
Top View of Planetary Gearset
Eaglepower BLDC Motor
90KV
Build Goals:
The goal is to build a QDD Actuator that's as slim as possible while still providing a sufficient amount of torque to be used in a robotic dog application. Additionally, I want the actuator to be as simple as possible with minimal moving parts and as little complexity as possible.
Planetary Gearset Design Parameters:
Gear Ratio: 6:1
Ring Gear: R = 40 teeth
Sun Gear: S = 8 teeth
Planetary Gear: P = 16
Number of Planets: 3
Proper Meshing: 16 (Proper Meshing is ensured)
Backlash applied to only the planetary gears: 0.1 mm; Ring and Sun have 0 backlash
Source: YouTube - Dust4K
16 Tooth Helical Gear Settings
Base
Base + BLDC
40 Tooth Ring Gear
8 Tooth Sun Gear
Lower Carrier
16 Teeth Planetary Gears
Output Rotor
Top Cover
Next Steps:
Controlling the Actuator using an ESC with FOC and an encoder - position, velocity, and bounciness control
Building out a single leg of the robot dog
BLDC FOC Controller Options:
Keeping in mind that the Eaglepower BLDC motor I used is rated for 22A continuous current, with a peak of 120A,
ODESC V4.2 - Most Viable: 70A Continuous, 120A Peak, Encoder Support, CAN Support, Low Cost of around $50, uses ODrive tool
ODrive S1 - Feature Rich, but Expensive, built in encoder, 40A Continuous, $149.99
SimpleFOC Shield - Only viable for 5A Max. There is a SimpleFOC Power Shield rated for 30A, but not easily purchasable on Amazon or Ebay.
MJ Robots Moteus r4 - 22A Continuous, 100A Peak, Encoder Support, CAN Support, $79.99
DRV8302 Board - 15A Continuous, 27A Peak, Cheap: $35.51
Flipsky FSESC6.7 - 70A
Phiget VINT - 20 A Continuous, Built in Hall-Effect Sensor
Setting up ODrive:
Make sure you're looking at the right ODrive Documentation version. Mine was Odrive 3.6
Download Python or Anaconda (Follow ODrive website documentation).
In command prompt use command pip install --upgrade odrive
run odrive tool with command odrivetool
If you get a "could not open usb" error, download the application Zadig -> Options -> List all devices -> ODrive 3.6 Native Interface -> replace with libusb
Pole Pairs: Number of permanent magnets in the rotor: 40
Torque Constant: 8.27/ Kv = 8.27/90 = 0.092 or set to 1 to command torque in units of Amps
Encoder Configuration: My encoder AS5048A is 14 bit -> 16.384 PPR -> CPR = 4(PPR) = 4(16384) = 65536