I10 - Controlando motores DC com Driver Ponte H - L9110, sensor de toque capacitivo 4 teclas e Arduino

Intermediário - Projeto 10

Motores DC com driver ponte H L9110s e Arduino - 4 velocidades

Objetivo

Neste tutorial vamos mostrar como controlar a velocidade de 2 motores CC (corrente contínua) através um driver motor ponte H L9110s e o Arduino acionados por um sensor de toque capacitivo 4 teclas TTP224. No projeto os motores terão 4 velocidades: 30%, 50%, 75% e 100% da velocidade máxima. Também usaremos um comando para frear os motores ao tocarmos 2 teclas simultaneamente. Para alterar o sentido de rotação utilizaremos um push button.

Leia também: I05 - Controlando um motor DC com Arduino, transistor e potenciômetro, I06 - Controlando um motor DC com L293D (Ponte H) e Arduino, I07 - Como controlar motores DC com o Driver Ponte H - L298N e Arduino,  I08 - Como controlar motores DC com o Driver Ponte H - L9110 e Arduino e I09 - Motores DC com Driver Ponte H L9110 e Arduino - Controle de 4 velocidades pelo teclado.

Definições

Sensor de toque capacitivo 4 teclas TTP224: Sensor que utiliza a alteração da capacitância do seu próprio circuito para determinar o toque de uma pessoa em uma região sensível da placa. Ao encostar o dedo no sensor de toque capacitivo, a capacitância que existe no mesmo será alterada, possibilitando assim a uma fácil e rápida leitura. O sensor TTP224 conta com 4 teclas capacitivas, o que possibilita um comando exclusivo para cada tecla ou até mesmo uma sequência de comandos. O sensor 4 teclas TTP224 pode ser aplicado como um componente de comando para uma determinada ação, como por exemplo, ligar e desligar lâmpadas, acionar um robô, abrir portas eletrônicas, acionar motores, entre muitas outras.

Motores CC (DC motor): De forma geral, os motores CC, de corrente contínua, são dispositivos que convertem energia elétrica em energia mecânica, gerando uma rotação no seu eixo. Este tutorial deve ser utilizado apenas para motores que consomem menos que 2A quando alimentados por uma tensão de 5 a 12V. No nosso projeto, vamos utilizar um motor de corrente contínua de 130mA para uma tensão de 5V com potência e rendimento máximo.

ATENÇÃO:

a) Nunca ligue o motor CC diretamente no Arduino, pois poderá danificar irreversivelmente o seu microcontrolador. Os pinos digitais do Arduino oferecem no máximo 40mA e um motor CC, mesmo que pequeno, consome muito mais que isto. Portanto, para controlar um motor CC é necessário a utilização de correntes mais altas que as do Arduino e por isso você deverá utilizar transistores ou circuitos chamados de Ponte H (ver wikipedia) como os circuitos integrados controladores de motores L293D ou SN754410. Esses componentes irão garantir correntes satisfatórias para operar o motor em vazio ou em plena carga. Também podemos utilizar módulos (conjunto de componentes montados) denominados de Driver Ponte H desenvolvidos especificamente para controlar cargas indutivas como: relés, solenoides, motores DC e motores de passo.

b) Neste projeto escolhemos o Driver Motor Ponte H L9110, baseado no chip L9110 (datasheet). Com este módulo podemos controlar a velocidade e o sentido de rotação de ate dois motores DC ao mesmo tempo, de forma simultânea ou independente. Este módulo deve ser utilizado apenas em motores de corrente contínua pequenos (3 a 12V) e com corrente de operação até 800mA. Veja abaixo algumas características do componente:

Observação: O chip L9110 (datasheet), base do driver motor ponte H que usaremos neste projeto. Este componente é muito utilizado no controle de motores, assim como o L293D (I06 - Controlando um motor DC com L293D (Ponte H) e Arduino) e o L298N(I07 - Como controlar motores DC com o Driver Ponte H - L298N e Arduino). O chip nada mais é do que uma ponte H duplo inserido em um componente integrado, ocupando um menor espaço no circuito.

Vantagens e desvantagens do driver motor ponte H L9110 em relação ao L298N:

Vantagens

– Mais compacto;
– Utiliza menos portas do Arduino para controlar o sentido e velocidade de rotação;
– Menor queda de tensão interna;
– Custo menor;

Desvantagens

– Pode ser utilizado em motores de corrente contínua de até 12V apenas;

Características do driver ponte H L298N

– Tensão de Operação: 2.5V-12V
– Chip: L9110 ((datasheet)
– Controle de 2 motores DC ou motor de passo bipolar de 4 fios
– Corrente de Operação: 800mA por canal (máxima de 1,5A)
– Tensão lógica: 5v
– Temperatura de Operação: 0°C ~ 80°C

c) Abaixo vamos entender a função de cada pino de entrada e saída do driver motor ponte H L298N:

Entradas e saídas do módulo Driver motor com Ponte H L9110

c1) Output to Motor 1 (A) e Motor 2 (B): Conexões de saída para alimentação dos motores A e B.

c2) Vcc (2.5V to 12V): Porta para alimentação do módulo com tensão entre 2.5 a 12V (Corrente Contínua).

c3) GND: Ligação do GND (ground), ou seja, polo negativo da fonte de alimentação.

c3) A1-A e A1-B: Portas I/O (Input/Output) que servem para receber e passar informação para o motor A. Através dessas portas conectadas ao Arduino podemos controloar a velocidade e o sentido de rotação do motor A.

c4) B1-A e B1-B: Portas I/O (Input/Output) que servem para receber e passar informação para o motor B. Através dessas portas conectadas ao Arduino podemos controloar a velocidade e o sentido de rotação do motor B.

d) Preste bem atenção na montagem do circuito antes de ligar na energia elétrica. Qualquer erro poderá causar danos irreversíveis nos componentes e na placa do Arduino.

Aplicação

Para fins didáticos e projetos de automação, robótica e máquinas eletrônicas em geral.

Componentes necessários

Referência

Componente

Quantidade

Imagem

Observação

Protoboard Protoboard 830 pontos 1 Resultado de imagem para protoboard 830v  
Jumpers Kit cabos ligação macho / macho 1  
Micro Motor DC

Micro Motor de corrente contínua (CC) 6000rpm / 5V

1

– Tensão nominal: 3,0 a 5,0V

- Corrente sem carga: 90mA

- Corrente em plena carga: 130mA

- Rotação sem carga: 6.000 rpm

- Rotação máximo rendimento: 5.800 rpm

- Potência Máxima: 0,35W

(datasheet)

Driver Motor Ponte H L9110 Módulo Driver Motor Ponte H L9110 1

– Tensão de Operação: 2.5V-12V
– Chip: L9110 (datasheet)
– Controle de 2 motores DC ou motor de passo bipolar de 4 fios
– Corrente de Operação: 800mA por canal (máxima de 1,5A)
– Tensão lógica: 5v
– Temperatura de Operação: 0°C ~ 80°C
Push Button Push button 6X6X5mm 2  

Sensor de Toque 4 Teclas

(opcional)

Sensor de Toque Capacitivo 4 Teclas TTP224 1

- Tensão de funcionamento: 2,4 - 5,5V
- Possui 4 teclas capacitivas
- Dimensões (CxLxA): 29x35x11mm

Observação: Item opcional, você pode excluí-lo e usar somente o controle por teclado ou substituílo por 4 push buttons.

Fonte chaveada ou Bateria

fonte chaveada de 9V (plug p4)

ou

Bateria 9V

1

Fonte Chaveada 9V 1A


A fonte foi utilizada no projeto para alimentar o Arduino e o driver ponte H L298N. Utilizamos o pino Vin do Arduino como fonte externa para o driver ponte H.

– Tensão de saída: 7,5 a 9 VDC (usamos 9V)
– Corrente máxima de saída: 1A

A fonte externa deverá ser definida conforme as características do motor utilizado (entre 3 a 12V)

Você poderá utilizar baterias, pilhas e reguladores de tensão para alimentar o Arduino e/ou o driver ponte H.

Arduino UNO Arduino UNO R3 1

Você poderá utilizar uma placa Arduino UNO original ou similar

Montagem do Circuito

Conecte os componentes no Protoboard como mostra a figura abaixo. Verifique cuidadosamente os cabos de ligação antes de ligar seu Arduino. Lembre-se que o Arduino deve estar totalmente desconectado da energia elétrica enquanto você monta o circuito.

Atenção

1. Como já mencionamos, é recomendável sempre utilizar uma fonte externa para alimentar driver ponte H L9110 de forma independente da alimentação do Arduino. Placas Arduino, além de caras, são susceptíveis quando conectadas a dispositivos de correntes elevadas, como os motores de corrente contínua. Além disso, os motores utilizados poderão exigir tensões e correntes acima do que o Arduino pode fornecer. Lembre-se que o Arduino possui um regulador de tensão para 5V ou 3,3V.

1.1. Partindo da premissa que é recomendável separarmos as fontes de alimentação, no nosso projeto vamos dividir o circuito em 2 partes:

1.1.1. A primeira parte será alimentada diretamente pelo Arduino (Vcc = 5V) que inclui os botões de controle e o sensor de toque se utilizado. É importante lembrar que a placa de Arduino deverá ser alimentada de forma independente por meio do USB de um computador, baterias ou pilhas (7 a 12V) ou por uma fonte chaveada de 7 a 12V (plug P4), por exemplo.

1.1.2. A segunda parte é formada basicamente pelo drver ponte H L9110 e pelos dois motores DC (5V/130mA). O módulo ponte H será alimentado por uma fonte externa com 9V que por consequência alimentará os motores de corrente contínua.

Cálculo da tensão de alimentação para o Driver Motor Ponte H L298N

1.2. Para calcularmos a tensão mínima necessária para alimentar o driver niotor ponte H L9110 e fazer funcionar o(s) motor(es) adequadamente, devemos levar em conta a queda de tensão gerada pelo acionamento dos transistores internos do chip L9110. Em média, de acordo com as pesquisas que realizamos na internet, a queda de tensão no chip L9110 é de 1,2 a 2,0V (para 1A). Portanto, a tensão aplicada no driver ponte H deverá ser na média 1,5V superior que a tensão nominal de cada motor.

1.2.1. Portanto Vm = Va + 1,5V (Vm = tensão mínima necessária para alimentar o motor, Va = tensão aplicada no driver ponte H). Veja abaixo uma tabela onde definimos os valores práticos para a tensão de alimentação mínima que deverá ser aplicada no driver ponte H L9110 de acordo com o(s) motor(es) utilizado(s):

Tensão nominal do motor DC

Tensão mínima do driver L9110 (Fonte externa)

Motor 3,5V Fonte 5,0V (mínimo)
Motor 5,0V Fonte 6,5V (mínimo)
Motor 6,0V Fonte 7,5V (mínimo)
Motor 12,0V Fonte 12,0V (máximo)

1.2.2. É importante ressaltarmos que a velocidade do motor depende diretamente da tensão recebida. Portanto, a alimentação do driver poderá ser um limitante caso não considerarmos a queda de tensão que ocorre no chip L9110.

1.2.2.1. Como a queda de tensão pelo chip L9110 é relativamente pequena, podemos até alimentarmos o driver com uma tensão equivalente à tensão de trabalho do motor, porém ele irá funcionar mas sem atingir a potência máxima pelo qual foi construido.

1.2.3. No nosso projeto utilizamos um motor de 5V e portanto podemos alimentar o driver motor ponte H com uma fonte externa de 6,5V a 9V. Escolhemos para o projeto uma fonte de 9V que com certeza será mais do que suficiente para fazer com que o motor atinja a máxima potência.

1.2.4. A fonte de alimentação externa deverá ter tensão e corrente suficientes para acionar e controlar os motores CC utilizados. Para evitar a queima do motor, não devemos utilizar fonte externa com tensões muito superiores à tensão de operação do motor. As características do motor podem ser obtidas no datasheet do componente. (Para saber mais sobre dimensionamento de motores, leia Motor CC: Saiba como Funciona e de que forma Especificar).

Fonte de alimentação externa (utilizado para alimentação do driver ponte H L298N)

1.3. Como vimos na tabela acima, devemos utilizar fontes de alimentação com tensões adequadas para fazer com que o driver motor ponte H forneça tensão e corrente suficientes para o funcionamento correto dos motores. Essas fontes deverão estar conectadas diretamente no driver conforme imagem abaixo, ou seja, usar a porta Vcc (2.5V a 12V) e a porta GND do módulo.

1.3.1. Existem vários tipos de fontes de alimentação que poderão ser utilizados neste projeto, como por exemplo: bateria 9V, conjunto de pilhas com 7,5V (5 pilhas de 1,5V) ou 6V (4 pilhas de 1,5V) e o pino Vin do próprio Arduino, entre outros.

1.3.2. Escolhemos usar o próprio Arduino como uma fonte externa (pino Vin). Mas como assim? Não temos que ter duas fontes independentes?

1.3.2.1. A rigor, quando utilizamos o pino Vin do Arduino junto com uma fonte de alimentação conectada no plugue P4 (conexão Jack), obteremos uma fonte externa com o mesmo valor da fonte de alimentação utilizada. Veja no exemplo abaixo que a fonte de alimentação é uma bateria de 9V, portanto, a saída no pino Vin será também de 9V. Isto é muito útil em protótipos de robótica, pois a mesma bateria irá alimentar o Arduino e os motores de corrente contínua através do driver ponte H.

Obs.: O pino Vin também pode ser utilizado como entrada de energia para a placa Arduino. Mas cuidado, essa configuração deverá ser utilizado em casos especiais, quando usamos "shields" acoplados por exemplo.

Atenção: A tensão de alimentação feita através do conector Jack deverá estar entre os limites de 7 a 12V. Abaixo de 7V a tensão de funcionamento da placa Arduino poderá ficar instável e acima de 12V o regulador de tensão integrado da placa poderá sobreaquecer.

1.3.3. Portanto, vamos utilizar neste projeto uma fonte de alimentação de 9V (bateria ou fonte de alimentação chaveada) conectada no plugue P4 (Jack) do Arduino. Desta forma, alimentaremos a placa do Arduino e teremos um pino Vin de saída com 9V que servirá como fonte de alimentação externa e independente para o driver motor ponte H L9110.

1.3.4. Posso utilizar a conexão USB e o conector Jack ao mesmo tempo? Sim, não existe problema algum em usar a sua placa Arduino conectada ao computador (USB) mesmo quando conectada à uma fonte de alimentação via conector Jack (plugue P4). O Arduino automaticamente irá regular a tensão interna para 5V e ainda liberar a tensão de alimentação no pino Vin. Desta forma, você poderá fazer o upload dos códigos (sketch) normalmente para o IDE ou utilizar o Monitor Serial sem se preocupar com a alimentação externa da placa, desde que a tensão aplicada no conector Jack esteja entre 7 e 12V.

1.3.5. Se você não quiser utilizar o pino Vin do Arduino, poderá usar uma fonte de alimentação externa de 6 a 9V conectada diretamente no driver ponte H. Neste caso, será necessário você alimentar o Arduino também via USB ou através do conector Jack da placa.

Parte do circuito alimentada diretamente pelo Arduino

2. Veja na imagem abaixo a pinagem do sensor capacitvo de 4 teclas (4 saídas, GND e Vcc) :