chipKIT® Development Platform

Inspired by Arduino™

Basic I/O Shield and Stepper Motor(12V 0,7A)

Created Wed, 09 May 2012 12:55:09 +0000 by cebalo


cebalo

Wed, 09 May 2012 12:55:09 +0000

hi all,

I uses a Stepper motor whose caracteristiwues are the following: 12V 0,7 A 200 Stepper and I'd like to do work with the Basic I / O Shield. my questions are: on the Basic I / O we have already a MOSFET and that means that I say ke n will not need an H-Bridge to control my engine? what are the different conditions for this to work well. I read the datasheet and I think I have to connect to port 5,3,9, and 6. On J6 are asked a maximum voltage 12V. This tension must come from the the outside or it comes from chipkit?


cebalo

Wed, 09 May 2012 21:11:43 +0000

hi all, pleas i need your help best regard


cebalo

Wed, 09 May 2012 21:15:01 +0000

I use a Stepper motor whose caracteristik are the following: 12V 0,7 A 200 Stepper and I'd like to do work with the Basic I / O Shield. my questions are: on the Basic I / O we have already a MOSFET and that means that I don´t need a H-Bridge to control my engine? what are the different conditions for this to work well. I read the datasheet and I think I have to connect to port 5,3,9, and 6. On J6 are asked a maximum voltage 12V. This tension must come from the the outside or it comes from chipkit?


cebalo

Fri, 11 May 2012 18:35:50 +0000

pleas, i have the Projekt with the BASIC I/O and i need the help with my stepper motor. best regard


allman8144

Sat, 12 May 2012 01:59:20 +0000

Hi Cebalo,

On page 5 of the "chipkit Basic I/O Shield reference manual", you will find that the open drain FETs are rated for 20V 3A @ 25 degrees C, and 2.2A @ 85 degrees C. This should be sufficient for your stepper motor. Also google "stepper motor wiring", since I don't know how many wires are on your stepper motor. It must be a unipolar stepper for use on the Basic I/O Shield, unless you use an H-bridge. The 12V will have to come from outside the chipkit board, because of the current requirment of your stepper motor, ie. 0.7A for each winding.


cebalo

Mon, 14 May 2012 16:13:48 +0000

thank you for your response, my motor has 6 coils and I don not use H-bridge and my motor can be used as bipolar and unipolar motor of references after.


cebalo

Mon, 14 May 2012 16:18:38 +0000

my stepper motor ist the 103 547 52500


Tareq

Sun, 03 Jun 2012 17:04:05 +0000

Cebalo!! Have you been able to make the motor run just by using the Basic [color=#0000FF]I/O[/color] shield? HOW DID YOU DO IT!? I got 6 wires unipolar stepper motor ( when both commons are open circuit nothing runs, when connected to positive the motor shakes) So, I identified the following pin 1, common, 3& 5, leads pin2, common, 4&6 leads ..,using this site: <http://www.piclist.com/techref/io/stepper/wires.asp> then: POWER supply (+12,5A) through 100 OhmR to both commons and J6 (+) POWER supply (-) to J6 (-) I tried this for the rest 4 pins 3 to (5,OUTPUT) 5 to (3,OUTPUT) 4 (9,OUT), 6(6,OUT) then I tried the stepper demo examples. also I programed wave step(1000,0100...) and full step(1100,0110...),,(I got this one from arduino website

/* Stepper Copal
 * -------------
 *
 * Program to drive a stepper motor coming from a 5'25 disk drive
 * according to the documentation I found, this stepper: "[...] motor 
 * made by Copal Electronics, with 1.8 degrees per step and 96 ohms 
 * per winding, with center taps brought out to separate leads [...]"
 * [http://www.cs.uiowa.edu/~jones/step/example.html]
 *
 * It is a unipolar stepper motor with 5 wires:
 * 
 * - red: power connector, I have it at 5V and works fine
 * - orange and black: coil 1
 * - brown and yellow: coil 2
 *
 * (cleft) 2005 DojoDave for K3
 * http://www.0j0.org | http://arduino.berlios.de
 *
 * @author: David Cuartielles
 * @date: 20 Oct. 2005
 */

int motorPin1 = 5;             // I changed these to match the PWM on J7 &amp; J8
int motorPin2 = 3;
int motorPin3 = 9;
int motorPin4 = 6;
int delayTime = 500;

void setup() {
  pinMode(motorPin1, OUTPUT);
  pinMode(motorPin2, OUTPUT);
  pinMode(motorPin3, OUTPUT);
  pinMode(motorPin4, OUTPUT);
}

void loop() {
  digitalWrite(motorPin1, HIGH);
  digitalWrite(motorPin2, LOW);
  digitalWrite(motorPin3, LOW);
  digitalWrite(motorPin4, LOW);
  delay(delayTime);
  digitalWrite(motorPin1, LOW);
  digitalWrite(motorPin2, HIGH);
  digitalWrite(motorPin3, LOW);
  digitalWrite(motorPin4, LOW);
  delay(delayTime);
  digitalWrite(motorPin1, LOW);
  digitalWrite(motorPin2, LOW);
  digitalWrite(motorPin3, HIGH);
  digitalWrite(motorPin4, LOW);
  delay(delayTime);
  digitalWrite(motorPin1, LOW);
  digitalWrite(motorPin2, LOW);
  digitalWrite(motorPin3, LOW);
  digitalWrite(motorPin4, HIGH);
  delay(delayTime);
}

nothing works. Online info say if 3456 didn't work try 3465 then try 3645. I tried the possible 24 configurations of the pins. none worked with either code examples. The same when i tested a second same type motor. The best I could get is to make it turn three times in one direction with one signal not connected ( noticeable at delay (500) but whenever there are four pins, it goes a step in each direction, shaking and heats up.

The way I figured, I should get a motor driver board (or a driver chip at least) that i can control with the [color=#FF0000]chip[/color]KIT to help do the job. just like it is done with arduino in some examples. I feel I was cheated by either Digilent or the Chinese guy at the electronics shop who got me the bad motors. :mrgreen:
I have a question though. Up to how many possible steppers can you run with the Uno32 and [color=#0000FF]IO [/color]shield? Does anyone have a suggestion to how else to do it? Thank you.


Tareq

Mon, 04 Jun 2012 10:30:43 +0000

I just figured out the problem with my connection. I went back today to the electronics shop and I had a look at their ugly motor controller board. The two commons were NOT shorted. there was a 100 Ohm resistance between them. and when I asked for the schematics of that board (as if I were going to understand it) I noticed there were two R=50ohm between the positive of the supply and each common. Other than that the coil separation was the same, the end wire pins came right out of the driver chip and the motor used 1000, 0010, 0100, 0001 sequence to run. I will try to make this adjustments to my MODULE and try again.


cebalo

Wed, 06 Jun 2012 10:01:42 +0000

hello, I'll show you how I control my engine has been through the following foto. click of the link please

http://www.imgimg.de/bild_Motorddd7d55fjpg.jpg.html