Como usar o módulo PWM Servo 16 canais 1

Sabia que é possível usar um Arduino e controlar simultaneamente 16 servos utilizando apenas 2 pinos? Sim, isso é possível com a ajuda do módulo PWM Servo de 16 canais da Adafruit.

O módulo PWM Servo de 16 canais usa o protocolo I2C para comunicação com Arduino, que para conexão precisa de apenas 2 pinos. O controle PWM é feito pelo próprio módulo para todos os 16 canais simultaneamente sem sobrecarga de processamento adicional no Arduino. E ainda é possível fazer uma conexão em cascata conectando até 62 módulos juntos para controlar 992 servos, todos com os mesmos 2 pinos! É muito servo para pouco pino!

Este módulo é perfeito para projetos que necessitam de muitos servos como robôs-bípedes e robôs-aranha.

Módulo PWM Servo 16 canais Adafruit

Este post foi baseado no post original em inglês encontrado no blog da Adafruit escrito por Bill Earl.

Montagem do módulo PWM Servo

O módulo acompanha todas as suas barras de pinos e conector borne para ligação de fonte externa. Veja a seguir como é feita a montagem do módulo.

Instale e solde nas posições marcadas as 4 barras de pinos macho tamanho 3×4.

Soldagem das barras de pino no módulo

Soldagem das barras de pino no módulo

Instale e solde as barras de pino macho em uma das laterais ou nas duas se desejar usar conexão em cascata.

Soldagem das barras de pino laterais

Por fim instale o conector borne de fonte externa para os servos.

Soldagem do conector fonte externa

Circuito módulo PWM Servo Adafruit

Conecte o módulo ao arduino da seguinte maneira fazendo uso dos pinos 5V, GND, SDA e SCL.

Circuito conexão módulo PWM Servo ao Arduino

Atente para a diferença entre os pinos VCC e V+!

VCC -> energia para o chip do módulo, pode ser usado 5V do Arduino.

V+ -> fonte externa para os servos que pode ser até 6V.

É aconselhado energizar os servos através do conector azul.

Para escolher a fonte de alimentação é necessário levar em conta o número de servos e seus tamanhos. Servos grandes e de alto torque podem chegar a consumir até 1A cada. Para 16 micro servos aconselhamos fontes de 5A ou mais pois cada micro servo pode consumir em torno de 300mA.

Conectando um servo motor

Para este tutorial usamos o Micro Servo 9g SG90 Tower Pro. Os servos possuem um conector padrão de 3 pinos que pode ser conectado direto no módulo. Tenha certeza de alinhar o pino GND do servo (usualmente na cor preta ou marrom) com a coluna de pinos GND do módulo e o pino de sinal do servo com a coluna PWM do módulo.

Circuito conexão servo ao módulo

Com um módulo podem ser usados até 16 servos conectados como na figura abaixo

Circuito conexão 16 servos ao módulo

Conexão em cascata

Com mais de um módulo PWM, pode ser feita uma conexão em cascata podendo conectar até 62 módulos resultando em 992 saídas PWM. 

Circuito cascata

Cada módulo conectado em cascata deve possuir um endereço único e isso é feito através dos pads de endereçamento. O endereço padrão para o módulo é 0x40. Para mudar o endereço é necessário soldar os pads. Cada pad soldado incrementa 1 binário no endereço 0x40.

Pads de endereçamento

  • Módulo 0:  Endereço = 0x40 -> binário 00000 (nenhum pad soldado)
  • Módulo 1:  Endereço = 0x41 -> binário 00001 (solde apenas A0 como na foto acima)
  • Módulo 2:  Endereço = 0x42 -> binário 00010 (solde apenas A1)
  • Módulo 3:  Endereço = 0x43 -> binário 00011 (solde apenas A0 & A1)
  • Módulo 4:  Endereço = 0x44 -> binário 00100 (solde apenas A2)

Usando a biblioteca da Adafruit

Para adicionar a biblioteca na IDE do Arduino clique em Sketch -> Incluir Biblioteca -> Gerenciar Bibliotecas…

Menu gerenciador de bibliotecas

No campo de pesquisa procure por adafruit pwm, selecione a biblioteca Adafruit PWM Servo Driver Library by Adafruit e clique em Instalar.

Tela Biblioteca Adafruit

Abra o exemplo da biblioteca clicando em Arquivo -> Exemplos -> Adafruit PWM Servo Driver Library -> servo

Menu exemplo servo

Faça o upload do Sketch e você verá os servos se movimentando um de cada vez. O outro exemplo pwmtest deve mover os servos em uma forma de onda, conforme o gif mostrado no início deste post.

Módulo em funcionamento

Agora você já pode criar seus robôs sem se preocupar com o número de saídas no Arduino!

Gostou? Ajude-nos a melhorar o blog atribuindo uma nota a este tutorial (estrelas no final do artigo), comente e visite nossa loja FILIPEFLOP!

Posts Relacionados

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Um Comentário

  1. Gostei da solução! Gostaria de saber se posso utilizar este módulo PWM Servo 16 canais com o sensor DHT11?