Go Down

Topic: [SOLVED] ? Mitsumi M42SP-4 stepper motor (Read 18370 times) previous topic - next topic

Trixi

Nov 04, 2013, 04:38 pm Last Edit: Nov 05, 2013, 02:24 pm by A.R.Ty Reason: 1
Hoi guys,
i found this stepper motor in my waste-box and want to connect them to an UNO.
After reading some parts i see, that a driver like the ULN2003APG is necessary (which i have to buy).

But i still have some SN754410NE Quad Half Bridge 36V/1A - can i use this one instead the ULN2003... ?
Dum spiro, spero - if you find my posting helpful, please click my Karma :)

dc42

How many wires does the stepper motor have? Does it have any markings apart from MSP42-4?
Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

jremington

In addition to the above, it would help if you measure and report the coil resistance(s).

Trixi

#3
Nov 04, 2013, 06:00 pm Last Edit: Nov 04, 2013, 07:49 pm by A.R.Ty Reason: 1
It's a 5 wire stepper, the pinout is known (a datasheet is available in the net).
1 Black                Coil4            
A12 Brown        Coil 2            
A23 Orange      Coil 3            
B14 Yellow        Coil 1            
B25 RED             VCC

It is marked as described, additional a lot-number.
It uses up to 24 V=, but a power suplly from an old printer makes that voltage  :D


Dum spiro, spero - if you find my posting helpful, please click my Karma :)

jremington

Quote
(a datasheet is available in the net)
but you aren't able to provide a link to it?

dc42

Are you certain the part number is MSP42-4? I couldn't find any data about that part number on the net.
Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

dc42

#6
Nov 04, 2013, 06:10 pm Last Edit: Nov 04, 2013, 06:12 pm by dc42 Reason: 1
You should be able to use a 754410. Connect the red wire to ground (not Vcc) and connect the other 4 wires to the 754410 Y outputs. Connect both EN inputs of the chip to 5V (or, if you want to be able to power the motor down, to an Arduino output pin, set to HIGH to drive the stepper and LOW to power it down). Connect the four A inputs of the chip to Arduino outputs, and drive them just as if it was a ULN2003.

Measure the resistance of a winding first, to check that you won't exceed the 1.1A rating of the chip when you put 24V across the winding. If necessary, use a lower supply voltage.
Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

Trixi

Guys, apologize - i mismatched the letters when writing  :smiley-yell:
Correct type is of course MITSUMI M42SP-4.

Also here is the link to it:
http://www.danielstolfi.com/recursos/M42SP-4.pdf

i fetched the informations from this site:
http://josafatisai.blogspot.de/2013/04/wiring-mitsumi-stepper-m42sp-4np-with.html

and thx to dc42 (again) - i will try it and be back soon with the results  :%
Dum spiro, spero - if you find my posting helpful, please click my Karma :)

Trixi

#8
Nov 04, 2013, 08:31 pm Last Edit: Nov 04, 2013, 08:37 pm by A.R.Ty Reason: 1
I now wired it like dc42 suggested - here is the wiring for the MEGA Pins:
A8 = 1A
A9 = 2A
A10 = 3A
A11 = 4A



I am using this simple code sample:
Code: [Select]
#include <Stepper.h>

int pinI1=A8;//define I1 interface
int pinI2=A11;//define I2 interface


//7.5 deg / step = 48 steps per revolution
//MODIFIED: 3.75 deg / step = 96 steps per revolution
const int stepsPerRevolution = 96;

// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, A8,A11,A9,A10);          

void setup() {
 // set the speed at 1rpm:
 myStepper.setSpeed(1);
 // initialize the serial port:
 Serial.begin(9600);
 pinMode(A9,OUTPUT);
 pinMode(A10,OUTPUT);
 digitalWrite(A9,HIGH);
 digitalWrite(A10,HIGH);
 digitalWrite(pinI2,HIGH);//turn DC Motor A move clockwise
 digitalWrite(pinI1,LOW);
}

void loop() {
 // step one revolution  in one direction:
 Serial.println("clockwise");
 myStepper.step(100);
 delay(1000);

 //step one revolution in the other direction:
 Serial.println("counterclockwise");
 myStepper.step(-100);
 delay(1000);
}


I tried out from 9 over 12 to 19,2 V Input, but the motor wont move - i can "feel" that the motor blocks (maybe when trying to turn) and relases, if i made the delay larger.

But before trying higher voltages, someone may have a look on the wiring - don't really undertsnad (yet) which functions on which "coil" have to work  :smiley-red:
Dum spiro, spero - if you find my posting helpful, please click my Karma :)

Trixi

#9
Nov 04, 2013, 09:23 pm Last Edit: Nov 04, 2013, 09:24 pm by A.R.Ty Reason: 1
i found another wiring for a similar motor - with this wiring the motor steps 1 step fore and 1 step back, also at 9 Volts:


But: the motor is getting very warm (approx. 30-35 deg. Celsius) ?  :smiley-eek:

And how can i get the moror turn more steps ?
i changed that 100 to 1000, but still the same movement: 1 step fore, 1 step back
Dum spiro, spero - if you find my posting helpful, please click my Karma :)

jremington

#10
Nov 04, 2013, 09:54 pm Last Edit: Nov 04, 2013, 09:56 pm by jremington Reason: 1
Some stepping motors can be too hot to touch and still be within normal operating parameters. Consult the data sheet for expected temperature limits.

If the motor steps once forward and once back, that can be a symptom of incorrectly wired motor leads. Keep swapping pairs of leads until the motor functions correctly (there are 24 combinations of which 8 will work). ALWAYS turn off the power before disconnecting motor wires or you may destroy the motor driver.

Trixi

#11
Nov 04, 2013, 09:58 pm Last Edit: Nov 04, 2013, 10:04 pm by A.R.Ty Reason: 1
I am using normal 5V for the driver and different (at leat 9 V) for the motor.

The script seems to work - i changed the 100 (seems to be the among of steps) to 1, and now the motor isnt going hot any longer.
Infomrations about the max.Temp.isnt available in the datasheet.

Only when i want to increase the steps (maybe 10) it still steps only 1 F / 1 b and is getting hot.
i dont really like to test the 24 different possibilieties  8), maybe someone has a suggestion  :D

just bought this one for a few bucks, but leasts some weeks from Cn to DE ;-)
with a ULN2003, but still want to get the existing MITSUMI to work  :)
Dum spiro, spero - if you find my posting helpful, please click my Karma :)

dc42

#12
Nov 05, 2013, 12:52 am Last Edit: Nov 05, 2013, 02:27 pm by dc42 Reason: 1

I now wired it like dc42 suggested - here is the wiring for the MEGA Pins:
A8 = 1A
A9 = 2A
A10 = 3A
A11 = 4A

I tried out from 9 over 12 to 19,2 V Input, but the motor wont move - i can "feel" that the motor blocks (maybe when trying to turn) and relases, if i made the delay larger.


1. What Arduino are you using? [EDIT: sounds like you are using a Mega].

2. How have you wired the Arduino to the 754410?

3. Why are you setting THREE of the output pins high in setup? You should only set 1 pin or 2 adjacent pins high at a time.

4. What is the resistance of each motor winding?
Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

Trixi

Yes, i am using a MEGA

I wired the motor cables to the 754410 like in this picture - as written, with this wiring the motor works and reacts also on the SPEED-Parameter. But makes still only 1 Step fore, 1 back.


And I mentioned, that the 3. Pin is for the PWM and has no function yet - its enough to turn the motor with the speed parameter.

My multimeter didnt work since saturday, i have to buy a new one, so that i cant measure the res of the wiring.
Dum spiro, spero - if you find my posting helpful, please click my Karma :)

Trixi

Yo Guys,
found the solution that works like a charm - with wiring scheme in the post before and the follwoing code (on an UNO):
Code: [Select]

#include <Stepper.h>

int pinI1=A0;//define I1 interface
//int pinI2=A11;//define I2 interface
int pinI2=A1;//define I2 interface

//7.5 deg / step = 48 steps per revolution
const int stepsPerRevolution = 96;

// initialize the stepper library on pins 8 through 11:
//Stepper myStepper(stepsPerRevolution, A8,A11,A9,A10);           
Stepper myStepper(stepsPerRevolution, A0,A1,A2,A3);
void setup() {
  // set the speed at 1rpm:
  myStepper.setSpeed(20);
  // initialize the serial port:
  Serial.begin(9600);
//  pinMode(A9,OUTPUT);
//  pinMode(A10,OUTPUT);
  pinMode(A2,OUTPUT);
  pinMode(A3,OUTPUT);
  digitalWrite(A3,HIGH);
  digitalWrite(A2,HIGH);
  digitalWrite(pinI2,HIGH);//turn DC Motor A move clockwise
  digitalWrite(pinI1,LOW);
}

void loop() {
  // step one revolution  in one direction:
  Serial.println("clockwise");
  myStepper.step(150);
  delay(1000);

  //step one revolution in the other direction:
  Serial.println("counterclockwise");
  myStepper.step(-150);
  delay(1000);
}


Again THX to all who (tried) to help  XD
Dum spiro, spero - if you find my posting helpful, please click my Karma :)

Go Up