| FORUM

FEDEVEL
Platform forum

Architecture Review of RP2040 board

Y_Vpm , 11-01-2024, 11:48 AM
Hello guys,

So I am planning to design a compact robotics project with potential applications in swarm robotics. It is made up of a custom PCB with RP2040 and upboard computer (raspberry pi). Here is the proposed architecture.

I am a little bit concerned about the power subsystem, I want to use a rechargeable 12V battery that could be swapped easily or even recharged directly on the robot without dismounting any components. (Maybe I have to design a custom battery pack with BMS - charging and protection ?)

I am planning to have a 12V/6.5V (for motors), 5V and 3.3V on the custom PCB; will it be convenient to separate the power rails by using independent buck converters or deriving the 3.3V from 5V using an LDO?

Also using a 4 layer board, do you recommend any stackup ?

Since the 5V will leave from the Custom PCB, will you recommend powering the raspberry pi using the header pins ? Or what are some things you recommend on the power system or overall project?

Your feedback or any suggestions inside or outside the box will mean a lot to me. Thanks in advance.
Sniper2 , 11-01-2024, 08:51 PM
BDC is a BLDC?
Sniper2 , 11-01-2024, 08:51 PM
if yes you can dim it from the ESC and then you dont theed a adjustable dcdc
Sniper2 , 11-01-2024, 08:51 PM
way less work
Sniper2 , 11-01-2024, 08:52 PM
@Y_Vpm
Sniper2 , 11-01-2024, 08:53 PM
or what is a VMOT?
Sniper2 , 11-01-2024, 08:54 PM
why USB between the 2 ? why not serial ?
Sniper2 , 11-01-2024, 08:54 PM
or something more robust?
Sniper2 , 11-01-2024, 08:58 PM
(Maybe I have to design a custom battery pack with BMS - charging and protection ?)

2 large diodes and 2 batt conectors and u are done
QDrives , 11-01-2024, 09:59 PM
Make your 5V power slightly adjustable as RPI requires just a bit more (power/current/voltage).
LDO for 3.3V - Is power consumption an issue? What about cost? You can save about 0.25W with SMPS.
As @Sniper2 already hinted to, most motors do not need to be supplied with a low(er) voltage if you use PWM to control them.
What kind of batteries?
Sniper2 , 11-01-2024, 10:01 PM
well the driver does the PWM
QDrives , 11-01-2024, 10:13 PM
Do they? What kind of driver are we talking about?
In most of the motor drives I have designed, PWM is generated by the MCU.
Sniper2 , 11-01-2024, 10:27 PM
esc
Sniper2 , 11-01-2024, 10:27 PM
it has its own mcu to generate all the gate signals
Sniper2 , 11-01-2024, 10:28 PM
and receives a pwm to the power % used to generate all the other PWMs
Sniper2 , 11-01-2024, 10:29 PM
some like TI or ST make BLDC driver chips that even include a small mcu to have a super integrated solution
Sniper2 , 11-01-2024, 10:29 PM
@QDrives
QDrives , 11-01-2024, 10:58 PM
That is not what I can make from the text nor picture. I know they exist and have worked with some.
Does it also have the mosfets included? If not, the better word is "controller".
Sniper2 , 11-01-2024, 10:59 PM
ESC is a system not a IC
Sniper2 , 11-01-2024, 10:59 PM
like when u sai BMS
Sniper2 , 11-01-2024, 11:00 PM
say*
Sniper2 , 11-01-2024, 11:00 PM
as as controller it is often a MCU
QDrives , 11-01-2024, 11:04 PM
But them like a piggy bag? If not, then why not split into controller, power stage and current sense? That makes it clear.
For a "system" use a different color or style.
Sniper2 , 11-01-2024, 11:06 PM
yea
Sniper2 , 11-01-2024, 11:06 PM
then again very abstract blocks can help
Sniper2 , 11-01-2024, 11:07 PM
ESCs are often sold as module with only power and a PWM going in
QDrives , 11-01-2024, 11:21 PM
And the motor itself is not on the board either is it (as it is draw that way)?
Sniper2 , 11-01-2024, 11:23 PM
good point but it can also be there if it is small
Y_Vpm , 11-02-2024, 10:37 AM
It is a Brushed DC motor
Y_Vpm , 11-02-2024, 10:38 AM
So I am planning to make the board configurable to work with either the 6.5 or 12 V motors on the pololu catalog
Y_Vpm , 11-02-2024, 10:39 AM
The USB is between pico and the RPi, which communication protocol do you suggest to be robust ?
Sniper2 , 11-02-2024, 10:39 AM
maybe UART serial or can bus?
Sniper2 , 11-02-2024, 10:40 AM
you can PWM those directly if i remember well
Y_Vpm , 11-02-2024, 10:44 AM
Power consumption might not be an issue, however the cost should be minimised as much as possible.

I’ll be using SMPS indeed. I was thinking of using Li-ion batteries for this application
Y_Vpm , 11-02-2024, 10:45 AM
Exactly will change the Color’s for more clarity
Y_Vpm , 11-02-2024, 10:46 AM
The motor is not on the board, it’s instead the motor connectors on the board, will modify it accordingly on the architecture
Y_Vpm , 11-02-2024, 10:49 AM
UART serial is a good idea. Cuz considering the software part, I want to use communication with other devices through two virtual usb serial ports. One dedicated to message based communication with the RPi (using ROSSerial protocol) and the second serial port is reserved for user space code, allowing the transmission of human redevable data for things like data collection or debugging.

Will that be possible with UART ?
Sniper2 , 11-02-2024, 10:52 AM
ldo is cheaper for low current and u can take 300mA from 5V RPI rail and get away with a cheap st223 LDO
Sniper2 , 11-02-2024, 10:53 AM
yes i am no coder but i still imagine easy ways to do the split so deffinetely possible
QDrives , 11-03-2024, 08:56 PM
What do you mean with "directly"?
With a brushed DC motor you need only 1 single PWM to drive them, whereas a BLDC motor requires 3 PWM signals. But "direct" is not a word I would use to describe this.
Sniper2 , 11-03-2024, 08:59 PM
1 OP said it is a BRUSHED motor so it is only 1 PWM
2 a BLDC needs 6 FETs for 6 PWMs since unless you do clever things with driver design and HW design you cant use inverted that easily
Sniper2 , 11-03-2024, 08:59 PM
directly as in to the FET gate
QDrives , 11-03-2024, 09:00 PM
For (low initial) cost you go for LDO.
For Li-ion batteries I would add a "BMS". https://www.youtube.com/watch?v=pdzQ-kgLbFw
QDrives , 11-03-2024, 09:05 PM
No, BLDC has 3 PWM signals. The only thing you may consider with the 6 MOSFETs is the dead-time. But it all systems it is simply 3 duty cycles, so 3 PWMs.
If you say that the number of FETs is the number of PWMs, than Brushed DC would need 4 PWMs for 4Q operation, 2 PWMs for 2Q and 1 for 1Q (1 mosfet and 1 diode).
In all cases you want a gate driver between the controller (like MCU) and mosfet (gate).
Use our interactive Discord forum to reply or ask new questions.
Discord invite
Discord forum link (after invitation)

Didn't find what you were looking for?