Driving a 3-wire BLDC Motor

Drive a 4-wire bipolar stepper motor or a pair of DC motors from your Arduino. [Product page]
Post Reply
bernfels
Posts: 19
Joined: Mon Jan 16, 2012 6:09 am
Location: Perth
Contact:

Driving a 3-wire BLDC Motor

Post by bernfels » Tue Nov 19, 2013 2:28 pm

To save me from re-inventing the wheel and/or exploding my shield, has anybody here used the H-Bridge shield to run a Y-connected BLDC (e.g. hard drive motor), using 3 of the half-bridges internal to the A4954?

Superficially, it ought to be possible if the back-emf signal is made available to the Arduino to detect zero-crossing of the undriven coil; or if Hall sensors are available/added to determine rotor position. (see e.g. Appnote AVR498)

My main concerns are the A4954's PWM braking, etc logic (i.e. is it too clever) and "crossing" current from one H-bridge to the other.

andrew
Freetronics Staff
Freetronics Staff
Posts: 978
Joined: Sun Jul 14, 2013 7:06 am
Location: Melbourne, Australia
Contact:

Re: Driving a 3-wire BLDC Motor

Post by andrew » Tue Nov 19, 2013 8:44 pm

Haven't heard of anyone doing it. However the braking is a constant feature of the A4954 on the HBRIDGE.

If it is any help, Allegro have a pre-driver part specifically for your motor type:
http://www.allegromicro.com/en/Products ... A4938.aspx

bernfels
Posts: 19
Joined: Mon Jan 16, 2012 6:09 am
Location: Perth
Contact:

Re: Driving a 3-wire BLDC Motor

Post by bernfels » Wed Nov 20, 2013 5:45 am

johnb wrote:Haven't heard of anyone doing it. However the braking is a constant feature of the A4954 on the HBRIDGE.

If it is any help, Allegro have a pre-driver part specifically for your motor type:
http://www.allegromicro.com/en/Products ... A4938.aspx
Thanks for the info.

Unfortunately, the Allegro A4938 seems to do too much and too little for the application which is having the output of the motor follow the rotation signal from an input (Hall) sensor.

Critically; the number of rotations must be the same with a very small slip permissible. Also important: the speed of the input varies from zero to up to about 3600 rpm though accuracy of speed is only necessary from about 300 rpm. But the number of rotations must still be reproduced accurately, even at low speed. The final application has a Hall sensor that monitors the output shaft built in on some installation; but its resolution isn't good enough for commutation; just as a check on the final number of rotations to match.

I'm tending towards an L293 or something simple/similar to turn to smoke during feasibility studies.

Post Reply