cancel
Showing results for 
Search instead for 
Did you mean: 

Best Bus for connecting several STM32's

Crazzy French Dude ™
Associate II

Hello guys, I am a new B and have started the cours of leaning coding and CubeMX, but I would really use some of your enlightenment!

I've been playing around with a couple of 3D printer boards using Marlin Firmware to drive my Pick and Place Machine for a while now. But Marlin is not to good at supporting more than one nozzle and 3D printer boards are not really interesting for dedicated PnP machines using Open PnP software! So I have decided to build my own eco system using ST32H 's! The only downside is my knowledge in CubeMX and coding language, neither the less I am a very fast learner, so I came her to get some guidance for my project!

Unlike the all in one 3D printing motion controller boards, I plan my system modules like!

1 -The "Master Module" with USB in from the computer, SD Card for firmware updates, Ethernet, I2C, SPI and CAN FD! (Maybe using a STM32H745)

2 -X & Y Axis Stepper Motor Driver Module, receiving real time commands from the "Master Module" via the best Bus! (Maybe using a STM32H743)

3 -Z's Axis Stepper Motor Driver Module, receiving real time commands from the "Master Module" via the best Bus! (Maybe using a STM32H743)

4 -C's Axis Stepper Motor Driver Module, receiving real time commands from the "Master Module" via the best Bus! (Maybe using a STM32H743)

5 -Analog In Module for vacuum sensors (Maybe using a STM32H743)

6 -Digital Out Module for Actuators (Maybe using a STM32H743)

ETC...

I think by now you get the idea which leads to my 3 questions:

First "Are the 2 STM32's of my choice up to the task, if yes fine if not what choice would be better?"

And second "What would be the best Bus to use in such configuration, knowing that a minimum of wires are recommended for connection

to the whole gantry and head to reduce the moving weight?"

A good start is better than a quick start in my case, so I would really use your enlightening advices for my project while I get familiar with coding

and with this amazing tool CubeMX!!!!

Thanks Much

3 REPLIES 3
Mikhail Z
Senior II

What is the reason to use 6+ microcontrollers? STM32H7 are powerful enough to do everything with a single one.

Crazzy French Dude ™
Associate II

Hi Mikail Z and thanks for you time!

The main reason is weight and cabling complexity. Let alone Open PnP is processing hungry!

In a typical setup 1 Stm would suffice, 1 X Axis, 1Y Axis, 1 Shared Z axis, 2 C Axis, 2 Vacuum sensors, 2 Solenoid valves and Vacuum tubings.

Apart from X and Y all this usually hangs on the head!

So if it is a All In One Controller Board the number of wires will grow very fast, and since the head must move as freely and lightly as possible,

we can easily end up in a wire harness weight and stiffness problem.

The Basic setup discribed earlyer is a 2 Nozzles setup, and bares around 20 wires, my setup is a 8 Nozzles so you can imagine!

But if we delegate the tasks, and besides STMs are not expensive, we can have all the motor and solenoid drivers and the analog inputs directly on the head!

Driven only by Vcc and Gnd and 2 other wires (BUS) instead of approximately 70 in my case!

So therefor a CAN Bus by example would come in handy!!!

Crazzy French Dude ™
Associate II

At least 2 STM's would do, 1 for the main motion controller board for X and Y axis, and the other one on the head for the rest, the Z and C Axis, the sensors and solenoid, actuators etc drivers!