Dúvida em acionamento de vários servos com PIC

Li-po, Li-Ion, Nimh, 1s2p, 10c...... quer aprender mais sobre o "combustivel" dos nossos modelos? Este é o local! Aqui também está aqueles esquema de carregador ou aquele ESC que estava procurando.

Moderadores: Paulinho, Alvaro Sala, benites

Avatar do usuário
RCampos
membro
Mensagens: 934
Registrado em: 11 Ago 2007 12:30
Localização: Uberaba-MG
Contato:

Dúvida em acionamento de vários servos com PIC

Mensagempor RCampos » 25 Out 2013 23:29

Estou fazendo um pan-tilt com servos e uma WebCam, já consegui programar o PIC e controlar a câmera, mas estou achando a "resolução" do servo muito ruim. Eu só consigo pulsos de 25.6us, o que dá em torno de 50 "passos" no movimento dos servos, quando tento setar o Timer0 para 192, o que daria pulsos de 12.5us e dobraria a resolução, os servos ficam chiando e não funcionam.
Alguém aqui no fórum pode me ajudar?

Segue um trecho do código em CCS.

[code:1:454d2f8279]#include <16f877a.h>
#use delay(clock=20000000)
#fuses xt, put, nowdt, nolvp, noprotect, nobrownout

#int_timer0
void timer_int()
{
pulso++;
if(pulso >= 800) //800 * 25,6us ~= 20ms
{
pulso = 0;
output_high(PIN_D0);
output_high(PIN_D1);
output_high(PIN_D3);
}
if (pulso>=servox+40) //40 * 25,6us ~= 1ms para o servo em 0º
output_low(PIN_D0); //a variável servox de 0~50 com ~=1,2ms para servo em 90º
if (pulso>=servoy+40)
output_low(PIN_D1);
if (pulso>=servop+40)
output_low(PIN_D3);
set_timer0(128+get_timer0());

}
void main()
{
setup_timer_0 (RTCC_DIV_1|RTCC_INTERNAL );
enable_interrupts(INT_TIMER0);
set_timer0(128);
while(1)
{
...
}
}[/code:1:454d2f8279]

Avatar do usuário
andre_michetti
membro
Mensagens: 371
Registrado em: 01 Abr 2009 23:51
Localização: sorocaba, Sp

Mensagempor andre_michetti » 26 Out 2013 00:51

cara a primeira coisa " meio errada " que vi no seu codigo e que vc ta usando a configuração de cristal abaixo de 4mhz e usando um cristal de 20mhz.... sofri muito com isso essa semana... huahuahuha... o pic nao funcionava ... quando mudei de HS para XT o pic funcionou....

XT abaixo de 4mhz
HS acima de 4mhz
panecopterx-450,belt-cp,lama v4

Avatar do usuário
andre_michetti
membro
Mensagens: 371
Registrado em: 01 Abr 2009 23:51
Localização: sorocaba, Sp

Mensagempor andre_michetti » 26 Out 2013 00:53

outra coisa... o CCS nao é muito bom com tempo... ja ocorreu de colocar um valor no programa e nao dar certo ai fui medir no osciloscopio e o tempo estava diferente...

Avatar do usuário
RCampos
membro
Mensagens: 934
Registrado em: 11 Ago 2007 12:30
Localização: Uberaba-MG
Contato:

Mensagempor RCampos » 26 Out 2013 16:32

Não sabia essa do HS e XT. Alterei aqui, mas não adiantou.


Voltar para “Baterias, carregadores, rádios e eletrônica”

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 10 visitantes