Pages: [1]   Go Down
Author Topic: Motor de passo + Arduino Romeo  (Read 1070 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 6
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Galera,

Estou fazendo um projeto onde preciso usar um motoro de passo, bom comprei esse:

http://multcomercial.com.br/pdf/motores/motor25.pdf

E estou usando o programa:


/*
 Stepper Motor Control - one revolution
 
 This program drives a unipolar or bipolar stepper motor.
 The motor is attached to digital pins 8 - 11 of the Arduino.
 
 The motor should revolve one revolution in one direction, then
 one revolution in the other direction. 
 
 
 Created 11 Mar. 2007
 Modified 30 Nov. 2009
 by Tom Igoe
 
 */

#include <Stepper.h>

const int stepsPerRevolution = 200;  // change this to fit the number of steps per revolution
                                     // for your motor

// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 4,5,6,7);           

void setup() {
  // set the speed at 60 rpm:
  myStepper.setSpeed150);
  // initialize the serial port:
  Serial.begin(9600);
}

void loop() {
  // step one revolution  in one direction:
   Serial.println("clockwise");
  myStepper.step(stepsPerRevolution);
   
}

Para fazer o meu motor funcionar, como podem ver, estou usando as portas 4,5,6,7 e estou alimentando a placa arduino tanto com o usb, como com uma fonte externa 7,5V e 1A.

O motor vibra muito e não gira de jeito nenhum!!!
O que estou fazendo de errado???
« Last Edit: October 17, 2012, 09:31:15 am by godegodes » Logged

'round the world...
Offline Offline
Faraday Member
**
Karma: 42
Posts: 3223
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Como ligaste o motor?
Logged

Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

Offline Offline
Newbie
*
Karma: 0
Posts: 6
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Liguei os cabos branco e preto em VCC (5 Volts), e o restante nas portas 4,5,6 e 7, esses eu tentei varias combinações diferentes mas todas deram na mesma!!!
Logged

'round the world...
Offline Offline
Faraday Member
**
Karma: 42
Posts: 3223
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok...

De onde vêm esses 5V? Da USB? A usb pode não conseguir alimentar o motor. Tens de ter uma alimentação separada para o mtor. Segundo o esquema, isso aparece em V_in.

Depois, tens de verificar se as ligações estão correctas antes de meteres um código complicado...

Experimenta algo deste género:

Code:


//pinos para controlo do motor...
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);



loop() {


if (Serial.available() >1) {

   switch(Serial.read()) {
      case 'a':
         digitalWrite(4, HIGH);
         digitalWrite(5, LOW);
         digitalWrite(6, LOW);
         digitalWrite(7, LOW);
         break;
         }
      case 'b':
         digitalWrite(4, LOW);
         digitalWrite(5, HIGH);
         digitalWrite(6, LOW);
         digitalWrite(7, LOW);
         break;
         }
      case 'c':
         digitalWrite(4, LOW);
         digitalWrite(5, LOW);
         digitalWrite(6, HIGH);
         digitalWrite(7, LOW);
         break;
         }
      case 'd':
         digitalWrite(4, LOW);
         digitalWrite(5, LOW);
         digitalWrite(6, LOW);
         digitalWrite(7, HIGH);
         break;
         }
   }
}

}

Depois envias as letras a, b, c e d para activar diferentes bobinas do motor. Se o motor rodar 90 graus sempre que envias cada letra, então as ligações estão correctas e a ordem de passo é 4, 5, 6, 7. Se vires que não é assim, tens de mudar os fios até obteres 90 graus de diferenca sempre que activas as bobinas na ordem a, b, c, d. Estás a ver a ideia?

Logged

Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

Offline Offline
Newbie
*
Karma: 0
Posts: 6
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Os 5V, vem do Arduino, através de uma alimentação por uma fonte externa de 7,5 V e 1A.
Entendi o que vc disse, vou tentar e ver no que da!!
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 6
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Tentei fazer esse programa, mas o motor nem deu sinal de vida!!!
Logged

'round the world...
Offline Offline
Faraday Member
**
Karma: 42
Posts: 3223
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok... :\ Experimentaste a enviar letras pela serial?

Colocaste um Serial.print() para ver se a letra tinha sido reconhecida?
Logged

Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

Pages: [1]   Go Up
Jump to: