Ola, Estou com um problema de velocidade no motor de passo que não passa de 32 RPM.
Minha configuração de hardware:
fonte atx > já utilizei 12 volts, agora estou com 24 volts. utilizando o fio azul(-12)como negativo e amarelo(+12) como positivo;
driver hy-div268-5a > fullstep 1/1 ,200 passos por volta;
arduino uno;
Estou utilizando a porta de PUL (pulso) Digital 3(PWM); e utizando o comando
PORTD = B00001000 ;
delayMicroseconds(passo*4);
PORTD = B00000000 ;
delayMicroseconds(passo*4);
segue o código como anexo .
Tags:
Olá.
Meça as tensões com ele ligado. Acho que a fonte está "arregando". Pq essas fontes de PC fornecem grande corrente para 3.3V e 5V. As vezes para 12V mas para -12V não.
Mande fotos, videos, modelo do driver....
Motor de passo normalmente não se liga com PWM.
Existem integrados driver com PWM mas é outra coisa. Eles tem isso internamente, como um limitador de corrente. Acontece que pelo fenomeno da autoindução a corrente no motor parado é maior que com ele andando. O PWM corrige isso. Mas é feito por detecção de corrente, dentro do driver.
Eu liguei 12v como positivo + 12v como negativo e liguei no driver; medi no multimetro e deu 23,4 volts.
Quando eu disse pwm, quis dizer que a saida digital 3 que pode gerar pulsos pwm com o analogWrite(), nao aumentou a velocidade.Já usei pinMode(), analogWrite() e agora PORTD;
O que você acha que é?
O motor vibra um pouco, faz um barulho de vibração.
obrigado
O segundo led do driver hy-div268n-5a esta sempre acesso,mesmo sem atividade do motor. Li que isso indica erro, mas nao sei como pode estar dando esse erro.
Amanham vou fazer um video demonstrando o funcionamento.
abraços
Bom dia RA,
" Eu liguei 12v como positivo + 12v como negativo e liguei no driver; medi no multimetro e deu 23,4 volts."
eu entendi errado ou você ligou o o -12V no polo positivo do módulo e +12V no polo negativo?
ligou assim?
+ Positivo DIV268 [ ] - 12V
- negaitivo DIV268 [ ] + 12V
Se ligou assim , acho melhor encomendar outro módulo.
"O segundo led do driver hy-div268n-5a esta sempre acesso,mesmo sem atividade do motor. "
Veja no detalhe e no esquema o que é o 2o. LED.
Um dos LEDs acende com o power ligado e o outro com pulsos de step.
Abaixo detalhe e esquema do módulo:
Bom dia.
Eu liguei +12v no positivo e -12v no negativo.
li no datasheet que o segundo led indica ações e erro.Dependo de quando ligo o arduino, se esta no menu inicial ele fica sempre ligado , quando entro no sub menu o led apaga e funciona normalmente.(estranho).
o motor vibra,é normal? Li que não,mas não sei na lógica(programação) como arrumar.
Minha fonte é feia.
Bom dia ,
Favor enviar uma foto das chaves de configuração que você configurou.
Não use o manual para configurar ! Alguns manuais estão incorretos.
Use a tabela que esta gravada na caixa preta do módulo.
http://labdegaragem.com/forum/topics/driver-para-motor-de-passo-nem...
http://labdegaragem.com/forum/topics/tb6600-m-dulo-controlador-hy-d...
Bom dia.
Coloquei a fotos acima.
Eu liguei as chavinhas de acordo como própria carcaça do driver mostra, o que ahcei estranho é que em alguns fórum(s) esta invertido. "Use a tabela que esta gravada na caixa preta do módulo." Foi exatamente o que fiz.
Como faço para relacionar os pulsos por segundo?
Ok, eu não tinha visto as fotos.
Chaves 1,2, 5 e 6 ON =
Corrente = 2,5 A e Modo de Passo Completo .
Favor informar as especificações do seu motor. Ele aguenta 2,5 A ?
Como faço para relacionar os pulsos por segundo?
http://labdegaragem.com/forum/topics/driver-para-motor-de-passo-nem...
Pode fazer um teste com esse programa :
http://labdegaragem.com/forum/topics/driver-para-motor-de-passo-nem...
Altere essas linhas, se o Sketch não funcionar:
digitalWrite(ENA, HIGH); // Desativa o driver TSB6600
delay (50); // Atraso de 50 milisegundo
digitalWrite(ENA, LOW); // Ativa o driver TSB6600
O motor que uso é um Motor de Passo NEMA 23 - 30 kgf.cm / 3A
Vi e Li os links, muito bom.
Não sabia que precisava colocar um capacitor 100uf entre a fonte e o driver. Que tipo de capacitor eu coloco?Para que serve esse capacitor?
Eu estou utilizando as portas do arduino: Isso pode influenciar?Acredito que não.
#define motor A3 //EN habilita o motor
#define dir A4 //DIR determina a direção
#define pul 3 //PUL Digital PWM
Quando eu coloco um delay muito baixo,(quase 0) faz um barulho agudo e não gira; mas o led fica aceso sem pisca de tão rápido.
obrigado Murta e todos pelas respostas , pois estou precisando mesmo.
utilizei o seu algoritmo no arduino e não funcionou.
o driver pisca como um "coração", mas o motor não faz nada .
Quando utilizo esse algoritmo funciona certo.
const int ena = 7; //habilita o motor
const int dir = 3; //determina a direção
const int pul = 2; //executa um passo
const int intervalo = 2000; //intervalo entre as mudanças de estado do pulso (1/2 passo min 450)(1/16 passo min 50)
boolean pulso = LOW; //estado do pulso
void setup()
{
pinMode(ena, OUTPUT);
pinMode(dir, OUTPUT);
pinMode(pul, OUTPUT);
digitalWrite(ena, LOW); //habilita em low invertida
digitalWrite(dir, LOW); // low CW / high CCW
digitalWrite(pul, HIGH); //borda de descida
}
void loop()
{
pulso = !pulso; //inverte o estado da variável
digitalWrite(pul, pulso); //atribui o novo estado à porta
delayMicroseconds(intervalo);
}
Por que será
Bom dia Rodrigo,
No caso do Driver HY-DIV268, não há necessidade do capacitor de 100 uF.
Esse diagrama foi baseado em outro que eu fiz para outro tipo de driver.
Você percebeu que na minha montagem, eu usei portas diferentes?
Você tem que refazer a sua montagem usando as portas corretas, de acordo com o meu diagrama.
int ENA = 7; // Porta digital D07 - ativa (enable)
int DIR = 3; // Porta digital D03 - direção (direction)
int PUL = 2; // Porta digital D02 - passo(step)
Altere essas linhas, para o Sketch funcionar:
digitalWrite(ENA, HIGH); // Desativa o driver TSB6600
delay (50); // Atraso de 50 milisegundo
digitalWrite(ENA, LOW); // Ativa o driver TSB6600
Por que esta usando as portas analógicas na sua montagem ? As portas AX normalmente são usadas para sinais analógicos.
Envie uma foto de como esta fazendo a montagem ( mostre o Driver e o Arduino) .
define motor A3 //EN habilita o motor
#define dir A4 //DIR determina a direção
#define pul 3 //PUL Digital PWM
Veja se esse é o Datasheet do seu motor :
https://s3.amazonaws.com/uploads.hipchat.com/610734/4190088/hBrA30I...
Todo motor de passo tem uma frequência máxima para uso. Se ultrapassar essa frequência o motor começa a vibrar e para !
Na tabela, pode perceber que o PPS máximo é de aproximadamente 4500 pulsos por segundo.
Sugiro que faça testes com até 2000 pps, quando o torque cai para menos da metade !
O seu Sketch esta correto, ma pode melhorar.
O que define a largura do pulso é esse Delay :
const int intervalo = 2000; //intervalo entre as mudanças de estado do pulso (1/2 passo min 450)(1/16 passo min 50)
delayMicroseconds(intervalo);
Para intervalo = 2000 :
Nesse exemplo, a largura do pulso é de 2 x 2000 microsegundos = 4000 microsegundos
F = 1 / T = 1 / 4000 us = 250 Hz ou 250 pps
Para 2000 pps :
const int intervalo = 2000;
T = 1 / F = 1/ 2000 = 500 us
Portanto intervalo = T / 2 = 500 us / 2 = 250 microsegundos
const int intervalo = 250;
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por