• Welcome to LusoRobótica - Robótica em Português.
 

[duvida] timer clock output no arduino

Started by TigPT, 22 de January de 2009, 17:55

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

senso

A unica coisa que altera o tempo de execução de cada instrução é o cristal de 16Mhz, se alterares os tempos do pwm a unica coisa que muda é a frequência do pwm que no Arduino anda na casa dos 500Hz para os timers de 8 bits e 1Khz no timer de 16 bits, ACHO eu.
Se alterares o timer de 16 bits as funções micros e milis ficam descalibradas.

Mas queres alterar a frequência dos timers porque?
Avr fanboy

bragajam

Obrigado pela resposta,

Nao sei se vou precisar de alterar, mas preciso de controlar um servo motor DC e mais tarde umservo motor trifásico AC e anteriormente fiz uns testes com um picaxe e com determinadas frequências o comportamento era  melhor que com outras (não cheguei a perceber na totalidade o pq). Neste momento ainda não tenho os motores que vou usar, e tb já não vou usar o picaxe, mas sim o arduino ou mais tarde uma ngw100 ou semelhante e queria apenas testar com varias frequências, de preferência com uma só instrução como no picaxe em vez de ter que por aquele código todo que ainda por cima não é muito fácil decorar  as suas variantes.

Apenas mais uma questão:

QuoteSe alterares o timer de 16 bits as funções micros e milis ficam descalibradas.

Quer isto dizer que se precisar de fazer tipo delay  n saberei se o tempo real estará correcto?
Ainda sou novo no arduino, estou mesmo a começar.

Cumprimentos,
Paulo J. M.

senso

Podes usar as funções de delay calibradas, mas se é para usar servos então o melhor é usar a biblioteca servo, é só 2 ou 3 linhas de código e está feito.
Avr fanboy

bragajam

Ok vou estudar essa livraria.

Quando digo servos não me refiro a servos rc, mas aqueles tipo industriais muito usados por exemplo em maquinas de CNC.

Essa biblioteca tb serve para esses?e já tem funções para ler o encoder ...

Não qeuro abusar mas e PID existe alguma coisa?

De qualquer maneira vou estuda-la e ver o que dá pa fazer.

Obrigado.

senso

Não, só funciona para servos que recebam, sinais PPM, e não lê encoders, tem de ser á parte.

Ler encoders, mais que 2 é abusar muito, e mesmo um se for rápido vai ocupar grande parte do tempo de processamento que o Arduino tem para dar.

Esses servos industriais são baseados em motores sincronos ou em steppers?
É que se forem motores sincronos de 3 fases, é preciso mandar o Arduino dar uma curva e programar em Assembly ou C muito limpinho para gerar as 3 fases.
Avr fanboy

bragajam

O Servo ac é um fanuc trifásico 90V e por isso já tinha desconfiado que não ia conseguir gerar as ondas com o arduino e usá-lo para o resto, mas ainda tinha esperança...Os DC que já testei são motores pittman de 24V que ao mais fracos que os que terei de usar(ainda não tive acesso a elesnem tirei as caracteristicas, apenas sei que são sevos DC, nem sei quantos pulsos tem o encoder). Se fossem steppers penso que teria o trabalho muito mais simplificado.