Olá pessoal.
Estou testando um motor de passo bipolar (tipo nema 16 4 fios) que comprei (usado) com um AT Mega, EasyDriver como controladora e uma bateria estacionária de 12v / 7amp. Acontece que o torque é tão fraco que seguro facilmente com a mão. Não consigo descobrir porque é tão fraco. Está mais fraco que um motor 28BYJ-48 (que já é bem fraquinho). Alguma sugestão? Será que preciso de um motor mais forte ou um driver diferente? Meu projeto é um rotor de azimute e elevação para rastrear satélites (antena VHF/UHF).
Abraços,
Eduardo
Tags:
Boa noite EF,
posta um esquema de como está ligando tudo, e anexa um arquivo com o sketch que
você está carregando no Atmega.
RV
Este é o esquema que utilizei para ligar. Mais abaixo segue a foto do motor de passo e o sketch.
//////////////////////////////////////////////////////////////////
//©2011 bildr
//Released under the MIT License – Please reuse change and share
//Using the easy stepper with your arduino
//use rotate and/or rotateDeg to controll stepper motor
//speed is any number from .01 -> 1 with 1 being fastest –
//Slower Speed == Stronger movement
/////////////////////////////////////////////////////////////////
#define DIR_PIN 2
#define STEP_PIN 3
void setup() {
pinMode(DIR_PIN, OUTPUT);
pinMode(STEP_PIN, OUTPUT);
pinMode(4, OUTPUT);
digitalWrite(4, LOW);
}
void loop(){
//rotate a specific number of degrees
rotateDeg(-90, .01); //reverse
delay(1000);}
void rotate(int steps, float speed){
//rotate a specific number of microsteps (8 microsteps per step) – (negitive for reverse movement)
//speed is any number from .01 -> 1 with 1 being fastest – Slower is stronger
int dir = (steps > 0)? HIGH:LOW;
steps = abs(steps);
digitalWrite(DIR_PIN,dir);
float usDelay = (1/speed) * 70;
for(int i=0; i < steps; i++){ digitalWrite(STEP_PIN, HIGH); delayMicroseconds(usDelay); digitalWrite(STEP_PIN, LOW); delayMicroseconds(usDelay); } } void rotateDeg(float deg, float speed){ //rotate a specific number of degrees (negitive for reverse movement) //speed is any number from .01 -> 1 with 1 being fastest – Slower is stronger
int dir = (deg > 0)? HIGH:LOW;
digitalWrite(DIR_PIN,dir);
int steps = abs(deg)*(1/0.225);
float usDelay = (1/speed) * 70;
for(int i=0; i < steps; i++){ digitalWrite(STEP_PIN, HIGH); delayMicroseconds(usDelay); digitalWrite(STEP_PIN, LOW); delayMicroseconds(usDelay); } }
EF,
leia o que eu escrevi:
""" """ anexa um arquivo com o sketch """ """"
remova o sketch que colou na área de texto e e anexe como um arquivo.
RV
Não achei como editar a minha resposta e remover o texto. Estou axando o arquivo.sketch_may11a.ino
Olá. Alguma idéia do que pode estar errado?
EF
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por