collapse

* Posts Recentes

Amplificador - Rockboard HA 1 In-Ear por almamater
[Ontem às 19:13]


O que é isto ? por KammutierSpule
[26 de Março de 2024, 19:35]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]

Autor Tópico: Atmega8 com servo motor  (Lida 5208 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline terran

  • Mini Robot
  • *
  • Mensagens: 47
Atmega8 com servo motor
« 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.

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re:Atmega8 com servo motor
« Responder #1 em: 03 de Agosto de 2009, 22:11 »
Bom, tens que concordar que não estás a dar lá muitos detalhes técnicos...

Offline terran

  • Mini Robot
  • *
  • Mensagens: 47
Re:Atmega8 com servo motor
« Responder #2 em: 07 de Agosto de 2009, 02:34 »
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:

Código: [Seleccione]
....

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

Um abraço e obrigado

Offline zecralos

  • Mini Robot
  • *
  • Mensagens: 2
Re:Atmega8 com servo motor
« Responder #3 em: 18 de Setembro de 2009, 11:15 »
se eu comprar uma placa arduino normal, consigo depois montar as rodas e isso mais tarde  nele?

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753
Re: Atmega8 com servo motor
« Responder #4 em: 18 de Setembro de 2009, 15:03 »
A placa Arduino não tem qualquer tipo de suporte para rodas, agora se depois podes ligar motores à placa? Sim.

Offline terran

  • Mini Robot
  • *
  • Mensagens: 47
Re: Atmega8 com servo motor
« Responder #5 em: 20 de Setembro de 2009, 02:47 »
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.

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753
Re: Atmega8 com servo motor
« Responder #6 em: 20 de Setembro de 2009, 03:06 »
É 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.

Offline terran

  • Mini Robot
  • *
  • Mensagens: 47
Re: Atmega8 com servo motor
« Responder #7 em: 20 de Setembro de 2009, 21:24 »
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

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753
Re: Atmega8 com servo motor
« Responder #8 em: 21 de Setembro de 2009, 16:43 »
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 ;)