FAÇA UM CIRCUITO DE CONTROLE P/ SERVO MOTOR – C/ PIC 12F675 (REF203)

Uma solução alternativa para sua necessidade…

Os servos motores são muito usados em radiocontrole. No entanto, são geralmente limitados quanto a força que podem exercer em seu braço atuador.
Mas muitos hobistas gostariam de usar o sinal de 1-2 ms de receptores comerciais de controle remoto para acionar algo que exija mais força. Neste caso, terá que construir um servo mais robusto.
Em geral, o servo se compõem de 4 elementos: um motor DC, um conjunto de engrenagens para a redução de velocidade e aumento de torque no braço atuador , um potenciômetro de recópia e a eletrônica de controle.
No comércio especializado, encontramos vários motores DC montados em conjuntos que tem reduções de engrenagens, de diferentes tamanhos e tensões de funcionamento. Então bastaria acoplar um potenciômetro de recópia e a eletrônica de controle para torna-los um servo motor. Daremos atenção a parte da eletrônica de controle, deixando de lado a parte de cálculos de redução por engrenagens (redutor) e potência necessária do motor DC.
Veja o esquema abaixo:

Fazendo uso de um PIC 12F675, podemos ler o tempo ‘on’ do sinal 1-2ms (duty cycle) que chega no pino 4. Para isto usamos o Timer 1, com ajuda de interrupções por mudança de estado do pino 4.
O valor obtido na leitura do sinal de entrada é comparado com a leitura da tensão no cursor do potenciômetro de recópia. A partir desta comparação obtemos 3 possibilidades:

1) o motor deve girar para esquerda – a tensão no potenciômetro é maior que o valor do sinal de entrada
2) o motor deve girar para direita – a tensão no potenciômetro é menor que o valor do sinal de entrada
3) o motor deve ficar parado – a tensão no potenciômetro é igual ou próxima do valor do sinal de entrada (zona desligada)

Em outras palavras, quando o sinal na entrada aumenta, o motor é ligado, movimentando o eixo, que por sua vez faz girar o potenciômetro de recópia, alterando o seu valor. Movimenta até obter uma igualdade de valores. Se o sinal de entrada diminuir, o motor girará em sentido contrário, para compensar a mudança.
Portanto, o sistema recebe um ‘feed-back’ da posição do braço por meio do potenciômetro de recópia.
No esquema acima, foi usado transistores bipolares em ponte ‘H’ para controlar o sentido e a corrente do motor elétrico. Conforme a tensão e a corrente do motor usado, deverá ser usado transistores que suportem as condições de trabalho. Poderá usar transistores MosFet no lugar dos bipolares, desde que sejam polarizados corretamente, conforme já explicado por vários sites na internet.
Existem várias possibilidades de acoplar um potenciômetro ao eixo do redutor. Poderá ser de forma direta ou com uso de polias ou mesmo com um tirante (potenciômetro deslizante).
Note que esta montagem é ainda um protótipo, que precisará ser melhorado para algumas aplicações mais exigentes, mas serve de base para experimentos interessantes.
Obs. Esta montagem é experimental, sendo de caráter mais didático, montada apenas em placa experimental (do tipo Protoboard), sujeita a bug’s ainda não detectados. Está sendo fornecido os arquivos para que cada hobista possa alterar o programa segundo suas necessidades.

Segue pasta com os arquivos desta montagem, com versão para compilador CCS C e XC8:

Drive_servo_Files

Adicionalmente, segue pasta com versão de 10/12/2015, usando o método PID (proporcional, integrativo e derivativo).
Note que os fatores Kp, Ki e Kd devem ser ‘sintonizados’ para obter um melhor funcionamento da sua montagem.
Na pasta tem apenas para compilador CCS C, visto que com a versão ‘free’ do XC8 não se consegue compilar, dando mensagem de ‘falta de memória Ram’:

DRIVE_SERVO_PID_FILES

Manuais:
PIC12F675

Curiosidades:

Você pode melhorar sua saúde
O mergulhão-do-norte — uma ave que encanta
O Dicionário Assírio — 90 anos de trabalho
O Cáucaso — a “montanha das mil línguas”
O segredo da borboleta bela-dama
A capacidade de armazenamento do DNA
Os desafios da menopausa

Outros assuntos:

Podemos confiar nos noticiários?
O que preciso saber sobre sexting?
Sou um fracasso?
O sofrimento precisa acabar
Quem são meus verdadeiros amigos?
Por que evitar a ostentação?
Como posso lidar com o estresse?
O impacto das notícias em seus filhos
Como vencer a obesidade infantil
Os perigos da impaciência
Vídeo: Vejo a vida com as mãos

Até o próximo artigo!

40 comments on “FAÇA UM CIRCUITO DE CONTROLE P/ SERVO MOTOR – C/ PIC 12F675 (REF203)

  1. lario bom dia,projeto show de bola, voce com sua humildade de fazer as coisas está nos ajudando a exclarescer muitos segredinho de décadas. este ai é um deles, ja tenho uma aplicação pro futuro com este esperado controle de servo.obrigado

  2. Olá
    Muito Grato por fazer este software, vou testar, com o 12f675 muita gente tentou mas ha problemas de fim de curso e retorno ao centro preciso. Se funcionar bem com ou sem mudanças repasso o arquivo para uso dos leitores.

    Vinci 😀

    1. Olá Vinci!
      Este circuito não visa obter muita ‘precisão’, uma vez que é uma ‘adaptação’. A centralização poderá ser afetada pela redução mecânica (relação entre número de voltas do motor e o número de voltas da saída), precisão do potenciômetro de recópia, largura da zona neutra no software, etc. Quem sabe você possa otimiza-lo ou mesmo criar um novo, que atenda as suas necessidades.
      Cláudio

    1. Olá Tossupper!
      Bem que eu gostaria, mas tenho de escolher entre microcontrolador ou modelismo. O tempo é limitado. Mas alguns do blog sempre dão dicas construtivas para ajudar nos artigos. Se tiver, serão bem-vindas!
      Cláudio

  3. larios muito obrigado por da vida ao projeto do servo, esse eu tenho 120% de certeza que funcionará.
    valeu mesmo. 😀

Comments are closed.

Back To Top