Arduino: Acionamento de Cargas e Motores

De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar

Arduíno: Controle de Motores

O Arduíno pode controlar motores através de pinos de saída digitais e pinos com saídas PWM.

Informações sobre Arduíno

Arduino
Arduíno: Entradas e Saídas
Site oficial do Arduíno

Servo Motor

Os servo motores são atuadores utilizados em aplicações onde é necessário fazer o controle de movimento com posicionamento preciso, por exemplo, para controlar um braço de um robô ou o ângulo de abertura de uma chave.

Micro Servo motor SG90
  • O SG90 tem três fios: alimentação (5 V) na cor vermelho, terra (GND) na cor marrom e o sinal na cor laranja para controle do servo motor.
  • O controle do servo motor é realizado por uma saída digital PWM, que permite movimentar o braço do servo de 0o a 180o. O controle do ângulo é realizado pela largura do pulso PWM (duty cicle), variando entre 1 - 2 ms, para um período de 20 ms (50 Hz).
  • Para uso com o Arduíno usa-se a biblioteca servo.h, que permite controlar diversos tipos de servo motores.

Laboratório 1: Controle de servo motor

Servo motor SG90 e potenciômetro
  • Montar hardware conectado a um Arduíno, com servo motor com o sinal conectado a saída digital 9 (PWM) e um potenciômetro com o pino central conectado a entrada analógica A0 para controlar o servo motor.
  • Carregar programa exemplo Arquivo/Exemplos/Servo/Knob para controle do servo motor a partir do potenciômetro.
  • Verifique a utilização pelo programa da biblioteca <Servo.h>.

Controle de Motores com ponte H

A ponte H é um arranjo de chaves em forma de H, que serve para inverter o sentido da corrente elétrica em motores de corrente contínua, motores de passo ou outras cargas indutivas, permitindo com isto inverter o sentido de rotação do motor.

O funcionamento da ponte H é baseado na operação combinada de quatro as chaves. Se S1 e S4 estiverem fechadas e S2 e S3 abertas tem-se o motor rodando em um sentido. Já com as chaves S3 e S2 fechadas e S1 e S4 abertas, o sentido do fluxo da corrente sobre o motor é invertido, fazendo com que a rotação do motor também se inverta.

A velocidade de rotação do motor, por outro lado, pode ser controlada variando o nível da tensão contínua aplicada sobre o motor.

Circuitos integrados e módulos ponte H

Existem circuitos integrados monolíticos, de diferentes fabricantes, que implementam pontes H através de chaves transistorizadas, como o L293, L298 e o L9110S.

Também existem diversos módulos (shields) que utilizam circuitos integrados ponte H e oferecem uma plataforma pronta para prototipagem, incluindo terminais de conexão para as cargas e pinos para conexão dos sinais de controle.

Circuito Integrado L293

O circuito integrado L293 (datasheet) permite controlar velocidade e direção de até 2 motores DC que precisem de até 600 mA de corrente contínua, acionados por voltagem de 4.5 à 36 volts. Ele também pode ser usado para ativar relés, motores de passo e outros.

O funcionamento do L293D segue a seguinte tabela verdade (para cada motor):

Entradas Saídas
A EN Y
H H H
L H L
X L Z

Onde:

H = Nível Lógico Alto (HIGH),
L = Nível Lógico Baixo (LOW),
X = Irrelevante,
Z = Alta Impedância.
Exemplo para controle do Motor M1
1A 2A 1,2EN Motor
H L PWM1 Sentido Horário2
L H PWM1 Sentido Anti-horário2
X X L Motor parado

Obs:

1 Velocidade controlada pelo sinal PWM,
2 O sentido de rotação depende também da forma de conexão dos fios nos bornes do motor.

Módulo Ponte H L298N

Permite controlar até dois motores de corrente contínua ou um motor de passo e pode ser comandado por microcontroladores como o Arduíno.

[1]

A referência FelipeFlop. Motor DC com Driver Ponte H L298N apresenta uma descrição detalhada deste módulo e a forma de utilização com o Arduíno.

Módulo Ponte H L9110S

Permite controlar dois motores de corrente continua ou um motor de passo e pode ser comandado por microcontroladores como o Arduíno.

Este módulo é compacto e permite controlar motores de 2,5 V até 12 V com consumo de 800mA por motor.

Pinos de alimentação e controle:

  • Vcc: (2,5 V até 12V)
  • GND: (0 V)
  • A1-A: Controle do motor A (Digital)
  • A1-B: Controle do motor A (PWM)
  • B1-A: Controle do motor B (Digital)
  • B1-B: Controle do motor B (PWM)

Funcionamento do controle dos motores (Exemplo Motor A):

A1-A Sentido* A1-B Velocidade
LOW Horário 0 -> 255 0 (Parado) -> 255 (Máxima)
HIGH Anti-horário 255 -> 0 255 (Parado) -> 0 (Máxima)

* O sentido também depende da forma de ligação dos motores nos bornes de conexão.

Há outro módulo no mercado com o L9110S, que denomina os pinos de controle como IA1 e IB1 para o Motor 1 e IA2 e IB2 para o Motor 2, com o mesmo princípio de funcionamento.

Referências

  1. FelipeFlop. Motor DC com Driver Ponte H L298N, 2013. https://www.filipeflop.com/blog/motor-dc-arduino-ponte-h-l298n/



Evandro.cantu (discussão) 09h35min de 17 de setembro de 2021 (-03)