Hacker News new | ask | show | jobs
by TFortunato 3331 days ago
I'm on a cell phone, so I'll be brief, but can add more detail later. I've been doing motor drivers and embedded work (software and electronics) for robotics for a while, and did work on motor driver ICs before that, so this is kind of my wheelhouse! Briefly: I can tell you that the electronics and software are only a few parts of the overall equation here.

Yes, this does look like (from the demo video results), a decent driver design, however quality of the motor DOES matter, and will eventually become a limiting factor if you are lookig for high precision or high power, as you start to run into things like torque digging, motor heating, etc. There are also little things in the driver design that can bite you if you aren't careful, but I'd need to look at the schematics to comment.

I'm not trying to crap on the project or designer. There was clearly some thought and care put into this! I just don't want people to expect magic, or to think that the only difference between an industrial servo and a hobbyist motor is the electronics. That said, you can get VERY far with good electronics and control software!

A hobbyist project will probably do just fine with something like this (or a motor driver reference design from the chip manufacturers), and by the time they run into limits of those designs and hobbyist motors, they'll probably have a pretty good idea of where they need to go as a next step!

I'll take a closer look at this design later, and update if anyone is interested.

1 comments

Please :-)

Here are the documentation links to get you started:

Hardware: https://github.com/madcowswe/ODriveHardware/

v3.2 schematic: https://github.com/madcowswe/ODriveHardware/blob/master/v3/v...

Firmware: https://github.com/madcowswe/ODriveFirmware

PC config and analysis support: https://github.com/madcowswe/ODrive

FPGA: https://github.com/madcowswe/ODriveFPGA "... the FPGA logic and software that runs on the FPGA based ODrive. This is not currently in development, but may be resumed at some later date."

    ----
The hardware is based on a STM32F405RGT6[1] driving two TI DRV8301 brushless motor controller chips[2] and a bunch of MOSFETs to handle the power switching. I/O is a USB, CAN with driver chip, and SPI unbuffered on headers.

[1] High-performance foundation line, ARM Cortex-M4 core with DSP and FPU, 1 Mbyte Flash, 168 MHz CPU, ART Accelerator http://www.st.com/en/microcontrollers/stm32f405rg.html

[2] DRV8301 Three-Phase Gate Driver With Dual Current Shunt Amplifiers and Buck Regulator http://www.ti.com/lit/ds/symlink/drv8301.pdf

Sorry for being off-topic. I just want to say, "STM32F405RGT6" is possibly the most hardcore product/model name ever. Just beautiful.
It packs a lot of information in. STM32F4 is ST Micro's range of high-performance ARM Cortex-M4 microcontrollers with FPU, STM32F405 is a particular family of devices in that range differing mainly in package and memory size, R specifies that it's the 64-pin variant, G indicates that it's the version with 1024KB of flash, T is the LQFP package, and 6 is for -40 to 85 °C temperature range. Most of this is shared across the entire STM32 range of devices.
There are usually a dozen variants of the same microcontroller design just with different peripherals, amount of memory, packaging..

You could just as well say STM32 or STM32F4 and that is pretty much 99.9% of the information you need to know :)