A quick evaluation of 3-Phase- and Stepper- Motor Controllers points out the fact that a Stepper Motor only need an extra half bridge driver. Taking our current PCB layout this adds ca 5mm width on the 3-phase driver, so it makes sense combining the two. This also means that I add current sensor and BEMF sensor on all half bridges.
I was a bit undecided on MCU, but adding 2.- USD to use STM32F405RG makes sense in this case. It makes the more advanced software algorithms easier and gives us sufficient space to deal with everything on the MCU.
The challenge I need to find a solution to is the 4th half bridge and how to connect this. 1,2 and 3 connects to Timer1 using the 3-phase interface, but I need to look into the 4th. It is the syncronisation of High and Low with PWM signals that concerns me, but it is possible that I can use Ch1 on Timer8 as the 4th channel.
Some extra features needed are temperature sensors, end stop detectors, encoder and hall support. But, I will look into that later – for now we need to continue and order a Driver breakout for testing.
A short Inventory list:
- 4 x Half Bridge using 8 PWM signals
- 4 x current sensors using 4 ADC signals
- 4 x BEMF sensors using 4 ADC signals
- 1 x temperature sensor using 1 ADC
- 1 x Hall sensor using 3 PWM Input signals
- 1 x Encoder using 1 ADC or PWM Input.
- 2 x end stop using 2 GPIO
- 1 x UART (3 GPIO)
- Status Leds
- And maybe Ethernet …
We are up in 30ich signals on the MCU so a 64 pin should be ok. This will however be a very flexible Controller if we can put it together like this. In fact I am consider making this as 2(3) versions.
- A driver breakout
- A stand-alone board adding Ethernet option.
- A RPI Hat
This will be fun and some hard work!