[SOLVED] ? Mitsumi M42SP-4 stepper motor

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... ?

How many wires does the stepper motor have? Does it have any markings apart from MSP42-4?

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

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 :smiley:

(a datasheet is available in the net)

but you aren't able to provide a link to it?

Are you certain the part number is MSP42-4? I couldn't find any data about that part number on the net.

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.

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

Also here is the link to it:

i fetched the informations from this site:

and thx to dc42 (again) - i will try it and be back soon with the results :%

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:

#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 :blush:

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) ? :astonished:

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

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.

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 :smiley:

just bought this one for a few bucks, but leasts some weeks from Cn to DE :wink:

with a ULN2003, but still want to get the existing MITSUMI to work :slight_smile:

A.R.Ty:
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?

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.

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

#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