5 phase stepper driver conception thread

Hi,

I am currently trying to build a 5-phase new pentagon stepper motor driver to use in a project of mine.

The stepper is a VEXTA 0.75A/phase, wired as such:
NewPentagon

ATM, my very primitive circuit looks like this

The microcontroller used is an atmega2560.

I am trying to figure out if I could use a single shunt resistance (RSENSE) to monitor the current consumption and use PWM on the MOSTFETs gates to limit it and prevent overheating.

If so, my guess would be to calculate the current that the stepper should be consuming in the worst case.

For a 2-Phase stepper, 0.75A would be the maximum current for one winding while the other winding carries no current. " If both windings are active the sum of the squares of the two currents should be equal or less to the square of the rated current (quadrature drive). "

So for a 5-phase stepper, what would be the math behind this ?

I've read that the best option would be to monitor each winding separately using 5 shunt or just the winding inner resistance, but in my case, those are 1.1Ohms, which is probably too high to wire directly into the microcontroller. So should I just go with 5 shunt resistors ?

I plan to keep RSENSE anyway, because i would like to implement a potentiometer or user interface to set idle current, again to minimize heat and power consumption. So, I need to monitor it.

The mosfets on the picture are placeholders because proteus doesnt have the one i'm planning to use (FDS8949 by Fairchild).

Thank you for your help

edit: Here is the only information I have on the stepper. I am currently waiting for a mail response from oriental motor because there is little to no documentation on the internet.

Since you have a single power supply for the motor it should be easy to measure the total current, as you indicated in your circuit diagram. For shunt replacement it may be possible to use hall-sensor based current measuring approach (clamp-on ammeter).

It may become a bit tricky to combine the rotating signal pattern with current limiting PWM. Current limiting typically is built into the motor drivers.

Stepper motor current consumption depends on motor speed, with a maximum while standing still.

Which signal pattern do you intend to use with your motor?

It is in fact easy to monitor the total current, but if I do so with a single shunt, I need to know the maximum amount of current that can go through the whole stepper at once, which is why I'm trying to figure the math behind that.

If I can't, it will be wiser to measure the amount of current flowing in each coil individually to see when one of them is exceeding 0.75A

signal

The signal I will be sending out to each phase look like this with 1 being +Vcc et -1 being -Vcc (I drew that using python/matplotlib so its a bit sketchy but it shows the idea).
I'm using a 24VDC power supply as Vcc.

The maximum is limited by generated (minus dissipated) heat.

You can only measure the current going into or out of individual connectors, not the amount and sum of internal currents through the phase coils.

Check your phase diagram for current flow when the motor stands still. Numbering inlets from top (1) to bottom (5).
In the first step current runs into 1 and 2, out at 4. No current will flow between 1 and 2, but internally current will flow through 1-5-4 and 2-3-4. So we have 4 coils at 50% of the maximum = total current each. In the next step current flows through 2-1-5 and 2-3-4. And so on, with the same current and power dissipated in different sets of 4 coils.

That means that equal current (50% of total) flows all the time through 4 coils, no need for current monitoring of each individual coil or inlet.

Just measure the motor case temperature and don't exceed the motor rating.

Industrial steppers are often rated for continuous operation at case temperature 80 degrees C, some for 100 C. There may be an additional restriction on ambient temperature.

I used 2.5 brushed DC motor drivers for one of the Vexta 5 phase motors, as you don't need current limiting if you keep the motor power supply voltage low enough, and it worked fine. See GitHub - jremington/Five-phase-stepper-driver: Technical information on creating driver and code for five phase stepper motor

vexta pk523hpb-c12 usa_st_common_specs.pdf (194.1 KB)

vexta pk523hpb-c12 usa_st_pk_motor_only.pdf (2.1 MB)

The datasheet says they also offer drivers for the motors. Why not use their driver?

Very expensive ($200 last I checked).

Exactly, the end goal would be to create my own to reduce the cost of a system that needs one ATM.
It will be a long term project so as I said im still learning the basics ATM but being able to run the stepper would be a huge step.

Thanks a lot

I will look into this, thank you !

True, the driver is expensive. However, the motor is not cheap either - $815.

If you want to reduce the cost of the system why not use other motors and drivers?

The H50S is a lot more expensive than the C12 which is around 100$

(Would still be great if I could avoid burning it)

I am building a controller for a device that is built with this motor. Using another driver doesnt reduce the price as drastically as creating my own and incorporating it into the pcb

What is the winding resistance of your motor?

Is $50 too expensive for a current controlled driver?
I doubt you can make one yourself for less.
Leo..

It is 1.1Ω

I really want to try making one because its a great project, but i'll keep the link to this one if I fail, thank you.

I will run some first tests when my MOSFETS are delivered, i'll keep the thread updated, thank you to those who answered !

Excellent find, thanks!

Hi, I have updates:

I managed to run the stepper (clockwise and counterclockwise).

It worked fine the first time, but then one of the mosfets died and killed my arduino because I didnt protect with a diode lol.

But the problem right now is, i'm using a lab power supply set to 24V DC, and I set a C.C limit of 0,750. The problem is that the power supply immediately jumps to supplying ~1 volt to avoid going over 0.750A output, which seems strange.

It was like that even before the mosfet died.

Could a misswired mosfet cause the system to draw that much current ?

Or should I just add a power resistor before each phase to limit it.

The current limit of motors is up to the motor driver, not to the PSU.