meu motor continua funcionando mesmo chegando no fim de curso... mais tipo beeeem mais lento viu. tipo não corta a corrente toda. to usando arduino... configuração do drive ta em 3.2 amp. e o pulse em 3200..
soluções ae galera.?!!!
Tags:
O que esta usando para detectar o fim de curso ?
Um sensor ótico ?
Ou um encoder no disco do motor de passo ?
ola amigo... to usando um micro switch. tbm tentei usando apenas o jumper para desligar e deu na mesma...
Oi RF, boa tarde.
que tal postar com mais detalhes a sua construção elétrica, e qual soft/código
está usando para comandar seu motor?
Rui
fala rui blz cara.
int Distance = 0;
int stepsCalc;
int stepsResult;
int readEndPointUpPin = 0; // verify state pin
//variaveis
int PulPin = 10; // pin pulse +
int DirPin = 11; // pin dir +
int EnblPin = 12; // pin enable +
//configure steps
int steps = 200; // Record the number of steps we've taken
void setup() {
pinMode(DirPin, OUTPUT);
pinMode(PulPin, OUTPUT);
pinMode(EnblPin, OUTPUT);
digitalWrite(DirPin, LOW); // LOW ou HIGH muda o sentido da rotação
digitalWrite(PulPin, LOW);
digitalWrite(EnblPin, LOW);
Serial.begin(9600);
Serial.println("iniciar");
// function enable
digitalWrite(EnblPin, HIGH);
delay(100);
digitalWrite(EnblPin, LOW);
}
void loop() {
digitalWrite(PulPin, HIGH);
delayMicroseconds(100);
digitalWrite(PulPin, LOW);
delayMicroseconds(100);
Distance = Distance + 1; // record this step
// distance step motor
stepsCalc = 1600/200; //1600 uma volta completa dividindo pelo numero de passo
stepsResult = stepsCalc * steps;
// Check to see if we are at the end of our move
if (Distance == stepsResult) //volta completa
{
// We are! Reverse direction (invert DIR signal)
if (digitalRead(DirPin) == LOW)
{
digitalWrite(DirPin, HIGH);
}
else
{
digitalWrite(DirPin, LOW);
}
// Reset our distance back to zero since we're
// starting a new move
Distance = 0;
// Now pause for half a second
delay(5000);
}
}
Envie o código que esta usando....
int Distance = 0;
int stepsCalc;
int stepsResult;
int readEndPointUpPin = 0; // verify state pin
//variaveis
int PulPin = 10; // pin pulse +
int DirPin = 11; // pin dir +
int EnblPin = 12; // pin enable +
//configure steps
int steps = 200; // Record the number of steps we've taken
void setup() {
pinMode(DirPin, OUTPUT);
pinMode(PulPin, OUTPUT);
pinMode(EnblPin, OUTPUT);
digitalWrite(DirPin, LOW); // LOW ou HIGH muda o sentido da rotação
digitalWrite(PulPin, LOW);
digitalWrite(EnblPin, LOW);
Serial.begin(9600);
Serial.println("iniciar");
// function enable
digitalWrite(EnblPin, HIGH);
delay(100);
digitalWrite(EnblPin, LOW);
}
void loop() {
digitalWrite(PulPin, HIGH);
delayMicroseconds(100);
digitalWrite(PulPin, LOW);
delayMicroseconds(100);
Distance = Distance + 1; // record this step
// distance step motor
stepsCalc = 1600/200; //1600 uma volta completa dividindo pelo numero de passo
stepsResult = stepsCalc * steps;
// Check to see if we are at the end of our move
if (Distance == stepsResult) //volta completa
{
// We are! Reverse direction (invert DIR signal)
if (digitalRead(DirPin) == LOW)
{
digitalWrite(DirPin, HIGH);
}
else
{
digitalWrite(DirPin, LOW);
}
// Reset our distance back to zero since we're
// starting a new move
Distance = 0;
// Now pause for half a second
delay(5000);
}
}
não sou eu que estou programando ok... tem um cara que faz a noite pra mim. por isso não tenho muita noção.. mais se puder me ajudar em algo... fico agradecido.
RF,
e o o esquema de ligações do motor e do switch.
Rui
fios ligados do drive no arduino
pino 10.
pino 11.
pino 12.
o pino 9 é o que esta recebendo o GND como sinal.
o drive é o microstep drive md 556.
portas de entrada to usando.
arduino pino 10 no pulse+ 5v + do drive
arduino pino 11 no dir + 5v + do drive
arduino pino 12 no ena+ 5v + do drive
as entradas do drive pulse- dir- e ena- estão jampeados.
ligação do motor no drive.
preto a+
verde a-
vermelho b+
azul b-.
ele sai do gnd e entra na porta 9 do arduino.. te mandei todo o esquema ai da uma olhada.
fios ligados do drive no arduino
pino 10.
pino 11.
pino 12.
o pino 9 é o que esta recebendo o GND como sinal.
o drive é o microstep drive md 556.
portas de entrada to usando.
arduino pino 10 no pulse+ 5v + do drive
arduino pino 11 no dir + 5v + do drive
arduino pino 12 no ena+ 5v + do drive
as entradas do drive pulse- dir- e ena- estão jampeados.
ligação do motor no drive.
preto a+
verde a-
vermelho b+
azul b-.
E o micro switch switch?
Rui
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por