Home        Store        Docs        Blog

A BlueROV2 sized Field Oriented Control motor controller (with connectors for easy maintenance)

I’ve been away for a couple months, so someone may have already done this. But I thought it was a cool idea. I’ve had an idea of doing something like this for a while now, and finally I just got the prototype built and tested. This is a fully field oriented controller, meaning it has phase current sensors and a bunch of software and is always in current control mode, so you never need to worry about blowing a motor or controller from getting stuck in seaweed. That, and a few other features:

  • Current mode control for smooth operation and stall detection
  • A 25A PCB fuse so it doesn’t catch fire if the worst happens
  • Excellent FOC low speed operation for smooth control thanks to the much-loved VESC open source motor control software
  • 48V input, to keep the battery current low and wire gauge small
  • 30A peak motor current per phase (not continuous!)
  • CAN bus operation for telemetry, vastly reduced wire count, and easy integration with Ardusub
  • Current monitoring so you can see when the motor bearings are starting to fail
  • Industrial connectors for easy connect and disconnect when its maintenance time
  • Can fit 8 of them in the 4" electronics tube
  • Easy motor parameter detection via VESC-Tool

Edit: Here is a power test of the controller to the current rating of the T200


That’s a good-looking board! What kind of connectors are those?

Thank you! They are industrial .2in (5.08mm) terminal block connectors. These ones are from Weidmuller.

Congratulation, very nice job !
And very useful too since ESC is a key element for ROV reliability.
Do you plan to sell or spread it in any way ?

Looks very nice. Is it controlled via CAN as Well? Will it be open source?

Thank you. I would definitely sell it or spread it if other people want it.

The software is VESC (open source), with a few customizations. VESC includes UAVCAN, as does Ardupilot. There is a hardware can transceiver on the board, and pixhawk has a can port as well.

Supposedly Ardusub is part of ardupilot and works with CAN now. I need to check that I can direct the motor commands to the CAN bus without having to mess with the code much.