Haptic Control using ESP-Now in a Brushless Actuator Controller
Вставка
- Опубліковано 9 лют 2025
- / gouldpa00
Custom Brushless Actuator Controller with Arduino Compatible ESP-32 WROOM Board, on-board magnetic encoder, CAN and OLED.
Inspired by Skyentific, MJBOTS and SimpleFOC
hackaday.io/pr...
github.com/gou...
Motor: (old) Multistar Elite 5008 330KV but prefer GARTT ML5010
Boards by #JLCPCB, Populated by hand
It is not quite ready for sale. It needs few hardware changes, code clean up and making a Arduino Board library and Actuator Library.
Great project!
Thanks, it was mostly your idea.
Finally UA-cam is pushing your videos in my feed😁
Awesome results! I‘ve just read your blogs on Hackaday. Real nice to see a project progress so well.
Have you tried using a sinus look up table for an efficient clark and park transform?
I'm already using a look-up table for the current sinusoidal control. I've searched though various FOC code and haven't found a good one to port over (yet). If you've found some code that already does this then please link it in.
Thanks
Paul Gould Sadly I don‘t have a good foc library for you. But if you decide to write your own you can use this excellent presentation from TI (ua-cam.com/video/VI7pdKrchM0/v-deo.html starting at around min 12). Clarke transform boils down to an addition and division, and Park transform to a few sin, multiplications and additions. Reverse transforms are similar.
But I’ve implemented the code for the space vector modulation to run on a STM32 Arduino core if it‘s to any use to you.
I checked the channel after weeks. Saw that the last video was uploaded 2 months ago. 6 minutes later came the new video notification. Talk about timing
I've been working on PCBs, software and a the big claw project. Not much to show there.
Looks awesome!
Thanks, The boards are running well but I still have a lot of work to do.
Really great work ! Can you make a video especially about the conception of such a driver please ?
I think that is something I can describe better on the hackaday.io page.
Nice work!
Thanks.
It's fun to see so many riffs on the same idea!
It looks like there is a fair amount of lag between the two servos... how much of that is the fact that you're just open-looping the, as you put it "saddle mode" commutation and how much of it is latency in communication?
Re FOC: Is fixed point an option for getting your transforms fast enough to run on the esp32?
The Lag is due to the P-term being very small. If I increase P it also seams to increase D a lot (even though I set D to 0).
I'm just using the equation
error = (own_pos - other_pos)/2
The comms time is about 2-3ms ESP-NOW is quite efficient.
Yes, Fixed Point FOC would be nice but first I have to get the ADC working well. I'm only 1/2 loving the ESP-32. All of the comms seems to works very well (even IRQ driven stuff) and community tested, but everything else has bugs/omissions in the libraries.
With all that being said, it works well enough for my hobby projects.
Great! Is it possible to buy some boards?
It is not quite ready for sale. It needs few hardware changes, code clean up and making a Arduino Board library and Actuator Library.
I love it. would you ever try to increase the voltage (50v or more) and current?
I have though about it. For the voltage I would need to change the Mosfet Driver, Mosfets and Voltage Regulator. For the Current I would need more FETs and a better design and cooling. It would be a much bigger board.
@@PaulGouldRobotics It would definitely be with it. You would be able to sell far more if you had different versions like the ODrive has 24v and a 56v. It would be nice if it had CAN bus also that should be cheap to add.
@@Build_the_Future It already got CAN bus, with two connectors. Going to a higher voltage/current increases the cost a fair bit.
@@PaulGouldRobotics I would pay more for sure.
I love your videos btw.
As would I. 48 volts for me
very Nice project , How do you control de motor?
It is operating similar to a RC servo but each motor can control the other motor. Haptic or telepresence or force feedback.
Awesome work. Do you a rough estimate for the price of the components?
With MA702 Encoder, CAN TXR, and connectors, the raw Component cost is US$32 (10off, Mouser, Digikey & LCSC) and US$2 for the 4 layer board. Cheaper components are possible, I first chose the parts I know to make sure it works.
@@PaulGouldRobotics That is fantastic news and cheaper than I was hoping for. Do you think you could get JLC (or another supplier) to do the PCB board and place components? Really looking forward to your progress!
any part of this project is open-source?
The Schematic (PDF) is on the hackaday.io page with a link to messy code in Git. I'll open source most of it. I might end up selling the PCB.
@@PaulGouldRobotics can you leave the github link here, I can't find it in your page
@@hamidsk2573 In the description.
there is no link , just a couple of snip code
@@hamidsk2573 The actual code used is "BLDC_ESP32_now.ino" (just re-uploaded). It is messy. This is why I need to learn how to put it all in a library.
Make good art!