Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Entre para seguir isso  
arh

Motor de passo, porque ele nao roda?

Recommended Posts

pessoal, comprei aqui um motor de passo que ja vem com uma placa driver, veja: http://dx.com/p/28ybt-48-stepper-motor-with-uln2003-driver-dc-5v-126409

so que estou com problemas, acredito que este codigo aqui esteja certo, e eu devo esta fazendo alguma coisa de errado.

 #include <16f628a.h>
#fuses intrc_io, nowdt, nomclr
#use delay (clock = 4000000)

#use fast_io(a)
#use fast_io(

#bit a_0 = 0x05.0
#bit a_1 = 0x05.1
#bit a_2 = 0x05.2
#bit a_3 = 0x05.3
#bit botao_1 = 0x06.1
#bit botao_2 = 0x06.2

//--------------------------------rodar direita---------------------------
void rodar_direita()
{
a_0 = 1;
a_1 = 0;
a_2 = 0;
a_3 = 0;

delay_ms(100);

a_0 = 0;
a_1 = 1;
a_2 = 0;
a_3 = 0;

delay_ms(100);

a_0 = 0;
a_1 = 0;
a_2 = 1;
a_3 = 0;

delay_ms(100);

a_0 = 0;
a_1 = 0;
a_2 = 0;
a_3 = 1;

delay_ms(100);
}

//--------------------------------rodar a esquerda--------------------------
void rodar_esquerda()
{
a_0 = 0;
a_1 = 0;
a_2 = 0;
a_3 = 1;

delay_ms(100);

a_0 = 0;
a_1 = 0;
a_2 = 1;
a_3 = 0;

delay_ms(100);

a_0 = 0;
a_1 = 1;
a_2 = 0;
a_3 = 0;

delay_ms(100);

a_0 = 1;
a_1 = 0;
a_2 = 0;
a_3 = 0;

delay_ms(100);
}


//----------------------------------main--------------------------------------
void main ()
{
setup_vref (false);
set_tris_a (0xf0);
set_tris_b (0xff);
setup_comparator (nc_nc_nc_nc);

while (1)
{

if (!botao_1)
{

do{
rodar_direita();}
while(!botao_1);

}


if (!botao_2)
{

do{
rodar_esquerda();}
while(!botao_2);

}

}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

O código me parece correto.

Verifique a ordem dos fios.

Falou

Compartilhar este post


Link para o post
Compartilhar em outros sites
0x05.0

Eu nunca ví um numero hexadecimal com ponto flutuante...

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • Eu nunca ví um numero hexadecimal com ponto flutuante...

    mas o comilador ai nao entende este comando como ponto flutuante nao, ele entende ai (endereço 0x05).(bit 0)

    O código me parece correto.

    Verifique a ordem dos fios.

    acabei de verificar, e pelo que vi esta certo.

    vou testar outro motor aqui pra ver

    ----------------------------------------------

    good new everyone

    consegui. falta de atenção minha

    o primeiro pino da direita do pic é o pino ra1, e eu pensei que era o zero.

    Editado por arh

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
    mas o comilador ai nao entende este comando como ponto flutuante nao, ele entende ai (endereço 0x05).(bit 0)

    Eu não sou um compilador..LOL

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • nesta parte aqui, qual seria o menor delay que se pode usar?

    {
    a_0 = 1;
    a_1 = 0;
    a_2 = 0;
    a_3 = 0;

    delay_ms(100);

    a_0 = 0;
    a_1 = 1;
    a_2 = 0;
    a_3 = 0;

    delay_ms(100);

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Depende do motor. Uns 50ms acho q seria o menor tempo. Tem q ir testando ate o motor não conseguir girar mais.

    Falou

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário

    Entre para seguir isso  





    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

    ×