Close
0%
0%

Dagor Brushless Motor Controller

Brushless motor controller for velocity and position control with wireless communication.

Public Chat
Similar projects worth following
Arduino-based Brushless Motor Controller for robotics actuators with wireless or serial (UART) communication.

This controller is based on my previous design, the board includes an on-board ESP32, a buck regulator, a DRV8305 MOSFET driver, three current sensing resistors, a magnetic encoder and a temperature sensor. I have tested wireless communication with the ESP32 through ESPNOW and it seems to work reliable and more-than-fast enough without affecting the control sample-time. With ESPNOW you could potentially create a full robot without any single cable aside from power.

Old design: https://hackaday.io/project/173519-janus-brushless-controller-2001

The code is completely open-source and Arduino based. The bulk of the code will be based on the SimpleFOC arduino library, since it has worked perfectly in the past and is constantly being upgraded and updated.

  • 1 × ESP32 Wroom module
  • 1 × DRV8305 Smart MOSFET Gate Driver
  • 3 × TPH1R403NL Discrete Semiconductors / Power Transistors and MOSFETs
  • 1 × AS5147 Magnetic Encoder
  • 1 × LMR14010A 4-40V 1A Buck regulator

View all 7 components

View all 10 project logs

Enjoy this project?

Share

Discussions

h3nrikmail wrote 8 hours ago point

Very nice project! Can you approximate, how many erpm are possible with an esp32 and the simplefoc library? How fast can the brushless Motor turn?

  Are you sure? yes | no

Xasc wrote 12 hours ago point

Nice, how big current can it hold?

  Are you sure? yes | no

j fer wrote 5 days ago point

Really cool project, bravo :)
For a wire mode, the best option is to use an i2c network with the qwiic connector?

  Are you sure? yes | no

David Gonzalez wrote 5 days ago point

Totally a possibility. There is no i2c slave implementation for the ESP32 in the arduino core as of right now. There's a few workarounds, but I'm not sure how well these behave as I haven't tested them myself.

  Are you sure? yes | no

j fer wrote 5 days ago point

I was wondering if a quadruped robot with 12 actuators would be manageable with a Raspberry pi and the ESPNOW protocol. 
https://hackaday.io/project/161896-linux-espnow

  Are you sure? yes | no

David Gonzalez wrote 5 days ago point

I'm wondering the same. That link you sent me is part of the Solo 8 robot and I believe they don't use ESP-NOW for each individual motor. Id didn't know about the raspberry implementation, thanks for sharing :)

  Are you sure? yes | no

M. Ploegmakers wrote 10/17/2020 at 08:00 point

Well done! Maybe have a look at SwarmDrive, an open source ESP32 based motor driver development board. You can have a look at the code, perhaps it will help you out. See swarmdrive.nickstick.nl

  Are you sure? yes | no

David Gonzalez wrote 10/17/2020 at 18:43 point

Will take a look!

  Are you sure? yes | no

bozkurt13 wrote 10/09/2020 at 15:16 point

PBC'yi paylaşacak mısın?

  Are you sure? yes | no

zhuangfengzi wrote 09/27/2020 at 01:11 point

Well done! I want to be one too! Can you share your PCB?

Waiting for the goods, more your first version! Looking forward to it!

thank!

  Are you sure? yes | no

Owen Williams wrote 08/28/2020 at 09:02 point

I want one.  When do you think yours will arrive? I've read about espnow, wonder how the latency will compare with can bus. E.g for balancing applications it probably needs to be <5ms.

I'd love to study your design files. I've been following your janus and didn't realise you've moved on to dagor. 

Is this a jlpcb? What parts will you need to solder?

  Are you sure? yes | no

Simon Merrett wrote 08/28/2020 at 22:18 point

@Owen Williams off the top of my head I recall ESP-NOW taking under 1ms each way. But I could be confusing that timing with NRF24 which is around the same order of magnitude.

  Are you sure? yes | no

David Gonzalez wrote 08/29/2020 at 19:11 point

I haven't done a proper latency test, but I believe for small payloads it should be around 3-4 ms, which in my opinion is totally acceptable for most applications.

  Are you sure? yes | no

Paul Gould wrote 08/30/2020 at 01:57 point

You are correct. It varies between 0.5ms and 1ms for small payloads.

  Are you sure? yes | no

David Gonzalez wrote 08/29/2020 at 19:13 point

I think I will have them on my hand by next Friday. I will have to solder the ESP32, the encoder, buttons and an inductor; I already have all these parts here. I'll try to make sure you get one soon enough :)

  Are you sure? yes | no

Aaron wrote 08/06/2020 at 09:11 point

Nice,so tiny

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates