LusoRobótica - Robótica em Português
Robótica => Iniciantes => Tópico iniciado por: terran em 03 de Agosto de 2009, 02:15
-
Boas pessoal,
Alguêm sabe que eu já dei montes de cabeçadas e não chego lá de como conseguir controlar um servo motor com o atmega8?
A ideia é criar um carro telecomandado em que as rodas da frente são controladas por um servo motor. Já vi vários exemplos mas eu uso o programmer's notepad para criar o software e uso o avrdoper como programador do microcontrolador e ele dá sempre erro.
-
Bom, tens que concordar que não estás a dar lá muitos detalhes técnicos...
-
Sim, tens razão, peço desculpa. Já está resolvido...
Tinha o ICR1 configurado para 8Mhz e o "clock" estava a 1 MHz mas já o coloquei a 8 MHz e assim já consigo
TOP = (Clock_Speed / (Prescaler * Output_PWM_Frequency)) - 1
No "Clock_Speed" estava a colocar como referi acima a 8MHz quando deveria ter colocado 1MHz mas resolvi mudar para 8 MHz
A solução é a seguinte:
....
TCCR1A|=(1<<COM1A1)|(1<<WGM11);
TCCR1B|=(1<<WGM13)|(1<<WGM12)|(1<<CS11);
ICR1=20000;
OCR1A = 1500;
....
Para depois alterar a rotação do servo é só alterar o valor de OCR1A entre 1000 e 2000 sendo o valor 1500 a posição central.
Deixo aqui uma página que explica bem o funcionamento do pwm:
http://mil.ufl.edu/~achamber/servoPWMfaq.html (http://mil.ufl.edu/~achamber/servoPWMfaq.html)
Um abraço e obrigado
-
se eu comprar uma placa arduino normal, consigo depois montar as rodas e isso mais tarde nele?
-
A placa Arduino não tem qualquer tipo de suporte para rodas, agora se depois podes ligar motores à placa? Sim.
-
Não conheçoo sistema arduino, eu programo o amtega 8 na sua pureza mas do que eu já li, acho que tem suporte para o servo motor. Programas o servo e ligas as rodas direccionais ao servo.
-
É assim se ele se refere a suporte físico para encaixe dos servos motores nenhum microcontrolador tem :P
Agora se é possível programar de maneira a controlar um servo? Sim, quase todos os microcontroladores o fazem.
-
sim metRo_, eu estava a falar no suporte das bibliotecas... De não precisares de fazer esta manha toda que eu tive de fazer para ligar o pwm. Bastando como já vi em algures usar este métdo right(50) e ele vira 50% para o lado direito
-
sim metRo_, eu estava a falar no suporte das bibliotecas... De não precisares de fazer esta manha toda que eu tive de fazer para ligar o pwm. Bastando como já vi em algures usar este métdo right(50) e ele vira 50% para o lado direito
Sim, isto é possivel ;)