Ir ao conteúdo
  • Cadastre-se

Servo motor, incremento e descremento


mirandat

Posts recomendados

Boa tarde, estou tentando fazer 3 servos giraram 90 e -90 , 2 vão girar pra um lado , e outro vai girar ao contrário, até ai eu consegui, o problema é q queria q quando atingisse a posição maxima eles voltassem, ficassem girando para um lado e para outro, sem parar.. estou tentando fazer isso, pra fazer uma aranha, onde cada servo tem duas patinhas.. vou mandar o programa.. se alguem puder me ajudar por favoooor

tentei fazer um incremento e decremento mas nao deu muito certo,

#include <16f877a.h>
#FUSES NOWDT
#FUSES XT
#use delay(clock=4M)
#define led pin_a2
#define led1 pin_a3
#define SERVO_FRENTE pin_b0
#define SERVO_MEIO pin_b1
#define SERVO_ATRAS pin_b2
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)


int16 x=2000;
int16 y=2000;
float flag=0;

void main(){

while(true) {

output_high(pin_b0); //liga os 2 servos
output_high(pin_b2);
delay_us(2610-x);
output_low(pin_b0);
output_low(pin_b2);
delay_us(x-2000);

output_high(pin_b1); // liga o outro servo
delay_us(540+y);
output_low (pin_b1);
delay_us(2000-y);



if(input(pin_b6)) {

output_toggle(led);



for(flag=0;flag>=2610;flag+=1) {
if(x<=610){
x=x+40;


}
x++;
delay_ms(10);
if(y>=1460) {
y=y-40;

}
y--;
delay_ms(10);
}

for(flag=0;flag<=2610;flag-=1){
if(x>=1460) {
x=x-40;

}
x--;
delay_ms(10);
if(y<=610){
y=y+40;

}
y++;
delay_ms(10);

}
printf("\f%ld %ld ",x,y);
if (x>=2610)x=2610;
if(x<=540) x=540;
if(y>=540)y=2610;
if(y<=2610) y=540;





}


}


}

Link para o comentário
Compartilhar em outros sites

Certeza que isso é servo?

Ta parecendo motor de passo...enfim sobre o hardware como este motor esta conectado ao microcontrolador? Ponte H? Push-Pull?

Pois caso seja ponte-h basta inverter a sequencia de pulsos ao chegar na posição máxima e revinverter na minima posição..

aguardo seus comentários.

Abs

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!