Go Down

Topic: Motor de passo + Arduino Romeo (Read 1 time) previous topic - next topic

Oct 17, 2012, 04:29 pm Last Edit: Oct 17, 2012, 04:31 pm by godegodes Reason: 1
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???

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

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!!!

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: [Select]



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

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

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!!

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

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

Colocaste um Serial.print() para ver se a letra tinha sido reconhecida?
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).

Go Up