Caros colegas,
Estou com um problema em programar a PIC para controlar um servo.
A linguagem que estou a usar é PICBASIC PRO, ao alterar o pulso de envio para o servo, ele roda sempre no mesmo sentido
(ponteiros relogio), ja tentei com cristal interno e externo.
E fica sempre na mesma coisa. O servo esta alterado para rodar 360 graus.
Agradecia a vossa ajuda.
Obrigado
programar pic 18f2520
- asena
- Velha Guarda
- Mensagens: 152
- Registado: 26 abr 2008, 19:00
- Localização: Lundin Links, Scotland
- Contacto:
Re: programar pic 18f2520
Se o servo está alterado para rodar livremente, então tem que se cumprir com o periodo do pulso aplicado ao mesmo.
timings do pulso ::
1.0ms - roda para esquerda
1.5ms - parado
2.0ms - roda para a direita
Provavelmente a função de pulsos que está a usar, dá para ser configurada.
Ou então enviar a duração do pulso quando se chama a função.
timings do pulso ::
1.0ms - roda para esquerda
1.5ms - parado
2.0ms - roda para a direita
Provavelmente a função de pulsos que está a usar, dá para ser configurada.
Ou então enviar a duração do pulso quando se chama a função.
Cumprimentos,
Sérgio Sena
Projectos e Sistemas Electrónicos à medida - Electronics Design Craftsmanship
Instagram
LinkedIn
Sérgio Sena
Projectos e Sistemas Electrónicos à medida - Electronics Design Craftsmanship
Re: programar pic 18f2520
Obrigado Eng.º,
Mas não sei o que se passa, porque já tentei alterar os pulsos como você disse. E o servo roda sempre no sentido dos ponteiros do relogio.
Vou ver se da para configurar.
Mas obrigado na mesma.
Mas não sei o que se passa, porque já tentei alterar os pulsos como você disse. E o servo roda sempre no sentido dos ponteiros do relogio.
Vou ver se da para configurar.
Mas obrigado na mesma.
- asena
- Velha Guarda
- Mensagens: 152
- Registado: 26 abr 2008, 19:00
- Localização: Lundin Links, Scotland
- Contacto:
Re: programar pic 18f2520
Olá!
provavelmente não lhe estou a dar novidade nenhuma nesta imagem ::
Tem acesso a um osciloscópio? ou pode ter? Ajuda bastante, para ver o que está a sair do PIC.
Sem se saber o que o PIC faz exactamente, é mais dificil trabalhar o circuito.
Vá dando novidades!
provavelmente não lhe estou a dar novidade nenhuma nesta imagem ::
Tem acesso a um osciloscópio? ou pode ter? Ajuda bastante, para ver o que está a sair do PIC.
Sem se saber o que o PIC faz exactamente, é mais dificil trabalhar o circuito.
Vá dando novidades!
Cumprimentos,
Sérgio Sena
Projectos e Sistemas Electrónicos à medida - Electronics Design Craftsmanship
Instagram
LinkedIn
Sérgio Sena
Projectos e Sistemas Electrónicos à medida - Electronics Design Craftsmanship
Re: programar pic 18f2520
Já me lembrei de ver no osciloscopio a saída, mas o que me deixa curioso é o facto de quando tenho os servos alimentados e toco com o dedo no fio de sinal, eles rodam no senttido anti-clock.
Tenho usado oscilador externo, com cristal de 4Mhz, pq a instrução PULSOUT funciona a essa freq. e mesmo alterando o puslo como você referiu nada!
Eles rodam sempre sentido do clock.
Ja experimentei usar um FOR, que vai alterando o pulso, e, pareceu me que consegui fazer rodar os servos A/Clock.
Mas a ideia aqui é usar os servos num robot, e faze-los rodar continuamente.
Obrigado pela ajuda, e vão dando noticias.
Tenho usado oscilador externo, com cristal de 4Mhz, pq a instrução PULSOUT funciona a essa freq. e mesmo alterando o puslo como você referiu nada!
Eles rodam sempre sentido do clock.
Ja experimentei usar um FOR, que vai alterando o pulso, e, pareceu me que consegui fazer rodar os servos A/Clock.
Mas a ideia aqui é usar os servos num robot, e faze-los rodar continuamente.
Obrigado pela ajuda, e vão dando noticias.
- asena
- Velha Guarda
- Mensagens: 152
- Registado: 26 abr 2008, 19:00
- Localização: Lundin Links, Scotland
- Contacto:
Re: programar pic 18f2520
Esse comportamento de alteração de estados, quando se toca com o dedo, é normalmente atribuido a pinos que estão definidos como entradas em vez de saídas.
Pode pôr uma resistência pull-up nessa linha de dados? 10k está bem.
È intrigante.
Pode pôr uma resistência pull-up nessa linha de dados? 10k está bem.
È intrigante.
Cumprimentos,
Sérgio Sena
Projectos e Sistemas Electrónicos à medida - Electronics Design Craftsmanship
Instagram
LinkedIn
Sérgio Sena
Projectos e Sistemas Electrónicos à medida - Electronics Design Craftsmanship
Re: programar pic 18f2520
Obrigado pela dica colega.
Vou tentar essa tecnica, a ver se consigo alguma coisa.
Mas o servo roda a/clock mesmo se tiver desligado da PIC, ou seja, agarro no fio e toco com o dedo e ele roda.
O que é intrigante
Vamos ver como isto corre.
Vou tentar essa tecnica, a ver se consigo alguma coisa.
Mas o servo roda a/clock mesmo se tiver desligado da PIC, ou seja, agarro no fio e toco com o dedo e ele roda.
O que é intrigante
Vamos ver como isto corre.
Re: programar pic 18f2520
Já experimentei este codigo:
cont var byte 'Cria variavel de contador
trisb = 0 'Todas as portas serão saidas
inicio: 'Inicio da rotina
for cont = 0 to 150 'Conta de 0 a 150
pulsout 0,100 'Gira servo no canal 0 no sentido anti horario
pulsout 1,200 'Gira servo no canal 1 no sentido horario
'Como os servos estao de costa um para o outro, cada um tem que girar
'em um sentido para veiculo andar para frente ou para traz
pause 15 'Espera 15uS
next cont 'Volta ao começo
pause 100 'Espera 100uS
for cont = 0 to 120 'Conta de 0 a 120
pulsout 1,200 'Gira apenas um servo para fazer o veiculo rodar
pause 15 'Espera 15uS
next cont 'Volta ao comeco
pause 100 'Espera 100uS
goto inicio 'Volta ao inicio da rotina (para sempre
E nao sei o que se passa,pq os motores rodam sempre no mesmo sentido.
Alguem que trabalhe em picbasic que dê uma ajuda ok.
Obrigado
cont var byte 'Cria variavel de contador
trisb = 0 'Todas as portas serão saidas
inicio: 'Inicio da rotina
for cont = 0 to 150 'Conta de 0 a 150
pulsout 0,100 'Gira servo no canal 0 no sentido anti horario
pulsout 1,200 'Gira servo no canal 1 no sentido horario
'Como os servos estao de costa um para o outro, cada um tem que girar
'em um sentido para veiculo andar para frente ou para traz
pause 15 'Espera 15uS
next cont 'Volta ao começo
pause 100 'Espera 100uS
for cont = 0 to 120 'Conta de 0 a 120
pulsout 1,200 'Gira apenas um servo para fazer o veiculo rodar
pause 15 'Espera 15uS
next cont 'Volta ao comeco
pause 100 'Espera 100uS
goto inicio 'Volta ao inicio da rotina (para sempre
E nao sei o que se passa,pq os motores rodam sempre no mesmo sentido.
Alguem que trabalhe em picbasic que dê uma ajuda ok.
Obrigado