EmbeddedRelated.com
Forums
Memfault Beyond the Launch

Stepper Motor Driver (LPC21xx, etc.)

Started by Kevin Townsend September 16, 2008
I was wondering if anyone knows of any publicly available stepper motor
drivers or code for the LPC21xx (LPC2148 in my case)? I have a 4 wire
bi-polar stepper that I would like to control, and was hoping to find a
decent ARM7 example to at least start from since I've never tried to
use a stepper motor before.

Has anyone here tried reliably driving three stepper motors using an
LPC2148 or similar device, that could offer some insight or experience
on it?

Kevin.

An Engineer's Guide to the LPC2100 Series

Kevin Townsend wrote:
> I was wondering if anyone knows of any publicly available stepper motor
> drivers or code for the LPC21xx (LPC2148 in my case)? I have a 4 wire
> bi-polar stepper that I would like to control, and was hoping to find a
> decent ARM7 example to at least start from since I've never tried to
> use a stepper motor before.
>
> Has anyone here tried reliably driving three stepper motors using an
> LPC2148 or similar device, that could offer some insight or experience
> on it?
>
> Kevin.
>

Hi Kevin,

Contact me directly so we can discuss.

regards,
Charles

Well, *that's* no fun. It sounded like it would be an interesting thread.

On Tue, Sep 16, 2008 at 2:58 PM, Charles R. Grenz <
c...@simplestep.com> wrote:

> Hi Kevin,
>
> Contact me directly so we can discuss.
>
> regards,
> Charles

--- In l..., "J.C. Wren" wrote:
>
> Well, *that's* no fun. It sounded like it would be an interesting
thread.

It is always worth looking for 'Jones on Steppers' on Google. Allegro
Microsystems builds a lot of stepper driver chips (Sanken).

Richard

rtstofer wrote:
> --- In l..., "J.C. Wren" wrote:
>> Well, *that's* no fun. It sounded like it would be an interesting
> thread.
>
> It is always worth looking for 'Jones on Steppers' on Google. Allegro
> Microsystems builds a lot of stepper driver chips (Sanken).
>
> Richard
>
Hi Richard,

Yes you are correct and if you look at Jones on Steppers you will find a link to us. What I want to ask Kevin is how fast he wants to move the motors, etc. Also if you are in Europe then another company to look at is Trinamic. They make a great motor driver chip.

regards,
Charles

Is it realistic to implement something using only an ARM7 processor, or
is it just not worth the effort? I'm not objectionable to using an
external chip, but would have preferred a software approach if
possible ... though I have no idea how feasible that would be (ergo
this post).

Kevin
Kevin Townsend wrote:
> Is it realistic to implement something using only an ARM7 processor, or
> is it just not worth the effort? I'm not objectionable to using an
> external chip, but would have preferred a software approach if
> possible ... though I have no idea how feasible that would be (ergo
> this post).
>
> Kevin

Hi Kevin,

You will need to use an external driver and you will not have enough time to perform all the necessary control directly from the 2148. That's the short answer. What I was going to ask you are the following:

1) What is the fastest steps per second you are going to run?
2) Are you going to need microstepping?
3) Are you going to run all 3 motors at the same time?
4) Are you going to need acceleration/deceleration?
5) What is the current per phase of the largest motor?
6) What is the operating voltage of the driver?

regards,
Charles
Charles:

Thanks for the replies.

> 1) What is the fastest steps per second you are going to run?

The longest distance the motor will need to drive an object will be
around 1m, so I would guess that 200 steps per second is probably
sufficient, or a maximum of 400, since the aim is smooth,
controllable motion more than speed.

> 2) Are you going to need microstepping?

Probably not. 1.8 is more than likely precise enough.

> 3) Are you going to run all 3 motors at the same time?

There are ocassions where I will need to run all three, yes, though
if necessary it may be possible to restrict movements to two axis
even if three would be preferrable.

> 4) Are you going to need acceleration/deceleration?

Yes, since I will need to ease into and out of the motion over a
variable amount of time. (For 10 seconds of movement, the user may
rquire 2 seconds of ease in and 2 seconds of ease out, for example.)
This 'easing' in and out is essential to get decent results for the
intended application.

> 5) What is the current per phase of the largest motor?

I need to do some tests to determine which motors I will end up
using, since I need to support a load of up to about 8 KGs. I have
ordered a few motors to try, but I can't say for the moment until I
do some tests.

> 6) What is the operating voltage of the driver?

Again, it depends on what motor I find that can most dependable
support an appropriate load. In any case, I will need to keep things
12V or under for the motors if its possible.

PS: If you prefer, I don't mind emailing you about this. Just let
me know your preference.

Kevin
Kevin Townsend wrote:
> Charles:
>
> Thanks for the replies.
>

>
> Kevin
>

Hi Kevin,

Yes please contact me directly since this is more of directing you so you will not waste time playing with ideas that will be a dead end.

regards,
Charles

At 04:01 PM 9/16/08 -0400, Charles R. Grenz wrote:
>Kevin Townsend wrote:
> > Is it realistic to implement something using only an ARM7 processor, or
> > is it just not worth the effort? I'm not objectionable to using an
> > external chip, but would have preferred a software approach if
> > possible ... though I have no idea how feasible that would be (ergo
> > this post).
> >
> > Kevin
>
>Hi Kevin,
>
> You will need to use an external driver and you will not have
> enough time to perform all the necessary control directly from the 2148.
> That's the short answer. What I was going to ask you are the following:

Will not enough time seems somewhat pessimistic (depends on how fast you
are expecting to move the motors of course). Many a moon ago I did two
axis microstepping on a Z80 and on a 5MHz 186. A 2148 with timing
peripherals would run circles around those setups. Then again we were
running slow enough for open loop to be sufficient.

Robert

http://www.aeolusdevelopment.com/

From the Divided by a Common Language File (Edited to protect the guilty)
ME - "I'd like to get Price and delivery for connector Part # XXXXX"
Dist./Rep - "$X.XX Lead time 37 days"
ME - "Anything we can do about lead time? 37 days seems a bit high."
Dist./Rep - "that is the lead time given because our stock is live.... we
currently have stock."

Memfault Beyond the Launch