Running Four Brushless Motors With A Single Pi Pico

Sometimes, you have to drive four motors, and you need to do so with a certain level of control. You could throw a lot of parts at the problem, but you don’t necessarily have to. As [Shaun Crampton] demonstrates, you can run four brushless DC motors with a single Pi Pico.

[Shaun] set about developing a brushless motor controller from scratch with the Pico, relying on its PIO hardware and the TI DRV8313 — a handy three phase motor driver. Before he knew it, he was implementing field oriented control (FOC) in MicroPython, only to find that it was a little too slow for proper motor control work. He soon switched to C for the lower overheads, and was readily driving a brushless motor with his own code. Before long, he’d implemented torque limiting and PID speed control. He was even able to optimize things to the point where he had four motors hanging off a single Pi Pico, complete with Hall sensors for feedback.

The full story is well worth reading, as it goes from “Hello, World” all the way to the end of the project. If you’ve never experienced the joy of your own code getting a motor to spin, you might enjoy following in [Shaun’s] footsteps. Files are on GitHub for the curious.

We’ve seen a lot of motor controllers around here, many of which draw heavily from other projects online. It’s a great way to learn the basics of what is a very well established field. Meanwhile, if you’re cooking up your own project in this space, do drop us a line!

Source: https://hackaday.com/2024/05/17/running-four-brushless-motors-with-a-single-pi-pico/

Source: https://webfulnet.com/

Accessibility Dashboard

Accessibility settings have been reset

Help = available voice commands

Hide help = available voice commands

Scroll down = available voice commands

Scroll up = available voice commands

Go to top = available voice commands

Go to bottom = available voice commands

Tab = available voice commands

Tab back = available voice commands

Show numbers = available voice commands

Hide numbers = available voice commands

Clear input = available voice commands

Enter = available voice commands

Reload = available voice commands

Stop = available voice commands

Exit = available voice commands