Go Down

Topic: Running stepper motors with driver signals and interfacing with transistors (Read 318 times) previous topic - next topic

wolfrose

Hello,

I have the 28BYJ-48 stepper motor and its driver which is cool, I learned that I have to send sequence signals to rotate it.

At work they gave me split air conditioner stepper motors which run at 12V. I went home and started to think how to dive them.

I thought one of the most popular driving CKTs I saw on Google images are the transistor CKTs.

So I have the S9018 which are OK for my application.

So I connected them and started to face problems with the connection.

I leaned that one of my problems is with the grounding of the CKT.

Here's the draw of the stepper motor:



Here's my CKT:



Regards,

Robin2

I suspect that after 53 Posts you should know to post all the relevant details of you want useful advice. Also, what's the purpose of 75% of your Post being white-space?

Post a link to the datasheet for your new stepper motor, or at least post a clear photo of it.
Measure the coil resistances and post the details

The 28BYJ is a unipolar motor. If your new motor is bipolar it will need a different type of driver - maybe something like a Pololu DRV8825. But it is really important to know how much current the motor can take before choosing a driver.

Have a read through Stepper Motor Basics

...R
Two or three hours spent thinking and reading documentation solves most programming problems.

wolfrose

Yes, I edited the post and attached the original picture it's bigger than the one posted. Because I can't get it to have the full resolution and size in the post.

So, I think my problems are with the current and the ground strategy I took.

It works OK with LEDs but not OK with the stepper motor.

I should've tested DC motors to see if it's with all motors and I should have different circuit to drive them.

I think the stepper motor now isn't getting enough current that's why it feels weak when I touch it.

But another problem I noticed is that the LEDs on the driver breakout board are not blinking completely as they should and instead they are activated but they don't go OFF completely. I don't know why?

Wawa

What driver breakout board.
When I zoom in, I see ULN2003 written on that green board.
That's a current sink (not source) chip.
It won't provide any base current for the transistors.
Unless Fritzing is different to what you're actually using.
It usually is, so most of us hate it.
Leo..

Wawa

So I have the S9018 which are OK for my application.
Datasheet states an absolute max collector current of 50mA.
Just ok for a LED, and NOT OK for a motor.
Leo..

Robin2

At work they gave me split air conditioner stepper motors which run at 12V.
Is this also a 28BYJ motor?

If so, why not say so.

If not, then that is the motor we need the details for.

And please don't make significant changes to Posts after people have replied to them. Put new information in a new Reply.

...R
Two or three hours spent thinking and reading documentation solves most programming problems.

wolfrose

What driver breakout board.
When I zoom in, I see ULN2003 written on that green board.
That's a current sink (not source) chip.
It won't provide any base current for the transistors.
Unless Fritzing is different to what you're actually using.
It usually is, so most of us hate it.
Leo..
OK thank you for mentioning "Fritzing", it turns out it's design software.

Well, I drew my CKT with Power Point, I just take pictures from Google images and edit them.

Do you mean most of you hate Fritzing? If so why?

In this case I want to show the connection so everyone see what I'm doing, it's also as I suppose more clearer than real image.

So, you say ULN2003 is sink not source chip. But it is actually came with the 28BYJ in the Arduino starter kit.

And the breakout is suitable for driving the motor without any other components.

But what I'm trying to do is I want to interface more powerful stepper motors which this breakout board can't drive so I have to interface these more powerful stepper motors with transistors. That's my goal :)


Datasheet states an absolute max collector current of 50mA.
Just ok for a LED, and NOT OK for a motor.
Leo..
Thank you very much for the information I didn't know that, now maybe this is my problem which I don't have sufficient current supplied to the stepper motor where the breakout board can supply alone with any other components.

Is this also a 28BYJ motor?

If so, why not say so.

If not, then that is the motor we need the details for.

And please don't make significant changes to Posts after people have replied to them. Put new information in a new Reply.

...R
I edited the main post so any new reader to the post would get more good information than keep reading the other replies, that's my idea.

No it's not 28BYJ, it's another one which run at 12V. It's MP2423.

But I'm not applying this stepper motor right now, I want to learn how to interface stepper motors with transistors then after that I can run other similar stepper motors.

Robin2

No it's not 28BYJ, it's another one which run at 12V. It's MP2423.

But I'm not applying this stepper motor right now, I want to learn how to interface stepper motors with transistors then after that I can run other similar stepper motors.
You first need to show us that the MP2423 is similar, because I suspect it is not.

If you want to explore the use of transistors that is a good thing. However if all you really want to do is get your stepper motor to move then use a suitable stepper motor driver and don't bother with transistors.

...R
Two or three hours spent thinking and reading documentation solves most programming problems.

Wawa

So, you say ULN2003 is sink not source chip. But it is actually came with the 28BYJ in the Arduino starter kit.

And the breakout is suitable for driving the motor without any other components.

But what I'm trying to do is I want to interface more powerful stepper motors which this breakout board can't drive so I have to interface these more powerful stepper motors with transistors. That's my goal :)
The ULN2003 is just an array (7) of NPN darlington transistors and kickback diodes.
The outputs can only switch current to ground.
The chip is capable of driving small motors (switching the coils to ground).
You could do the same with individual transistors (NPN or mosfets) and kickback diodes.

Since the chip can only sink (draw/use) current (<500mA), and not source (provide), you can't use it to provide base current for NPN transistors.
Arduino pins can source and sink (<40mA), so can drive transistors.

So you can use only the ULN2003 or only transistors, but not both in series.

As Robin2 said, use motor drivers for bigger steppers.
There is much more to it than just a larger motor current.
Leo..



Wawa

Do you mean most of you hate Fritzing? If so why?
https://forum.arduino.cc/index.php?topic=382458.0

MarkT

But what I'm trying to do is I want to interface more powerful stepper motors which this breakout board can't drive so I have to interface these more powerful stepper motors with transistors. That's my goal :)

Most steppers are bipolar, not unipolar, you should start by saying what motor you are thinking of.  It
may well require a current-controller chopper-driver (most do).
[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]

wolfrose

You first need to show us that the MP2423 is similar, because I suspect it is not.

If you want to explore the use of transistors that is a good thing. However if all you really want to do is get your stepper motor to move then use a suitable stepper motor driver and don't bother with transistors.

...R
Well, it's actually similar.

Here's the internal windings of the MP2423.


Here's the internal windings of the 28BYJ-48.


And, at the end I got to the solution.

I can just run the 12V stepper motor with the ULN2003 driver breakout board and external power source.

Here's my YouTube I just recorded this afternoon.

Running 5V, 12V stepper motors with Arduino and external power source

The ULN2003 is just an array (7) of NPN darlington transistors and kickback diodes.
The outputs can only switch current to ground.
The chip is capable of driving small motors (switching the coils to ground).
You could do the same with individual transistors (NPN or mosfets) and kickback diodes.

Since the chip can only sink (draw/use) current (<500mA), and not source (provide), you can't use it to provide base current for NPN transistors.
Arduino pins can source and sink (<40mA), so can drive transistors.

So you can use only the ULN2003 or only transistors, but not both in series.

As Robin2 said, use motor drivers for bigger steppers.
There is much more to it than just a larger motor current.
Leo..



Yes you absolutely right. I can't use them both.

I ran to the solution where I only applied the control of the ULN2003 and external power source for 12V to power the MP2423 stepper motor.

Your information is so valuable for the limit of 500mA I can sink to the ULN2003 for small stepper motors.

So, if I go with higher current stepper motors with higher current sink more than 500mA, then I would absolutely fry the chip.

I would though try to use the transistors afterwards when I get back to my apartment.

Thank you so much for the support :)


https://forum.arduino.cc/index.php?topic=382458.0
OK I understand now :) It's a mess!

Most steppers are bipolar, not unipolar, you should start by saying what motor you are thinking of.  It
may well require a current-controller chopper-driver (most do).
What examples of current chopper-driver?


Robin2

Well, it's actually similar.

......

And, at the end I got to the solution.

I can just run the 12V stepper motor with the ULN2003 driver breakout board and external power source.
Glad you figured it out. It is somewhat unusual for it also to be a 5-wire unipolar motor.

...R
Two or three hours spent thinking and reading documentation solves most programming problems.

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy