Índice:

Tutorial de proteção do driver do motor Arduino L293D: 8 etapas
Tutorial de proteção do driver do motor Arduino L293D: 8 etapas

Vídeo: Tutorial de proteção do driver do motor Arduino L293D: 8 etapas

Vídeo: Tutorial de proteção do driver do motor Arduino L293D: 8 etapas
Vídeo: Aprenda a controlar motores com o Arduino! (usamos o módulo L298N) 2024, Julho
Anonim
Tutorial do Arduino L293D Motor Driver Shield
Tutorial do Arduino L293D Motor Driver Shield

Você pode ler este e muitos outros tutoriais incríveis no site oficial do ElectroPeak

Visão geral

Neste tutorial, você aprenderá como acionar motores CC, de passo e servo motores usando um escudo de driver de motor Arduino L293D.

O que você aprenderá:

  • Informações gerais sobre motores DC
  • Introdução à blindagem do motor L293D
  • Condução de motores DC, servo e de passo

Etapa 1: motores e drivers

Motores e drivers
Motores e drivers

Os motores são uma parte inseparável de muitos projetos de robótica e eletrônica e têm diferentes tipos que você pode usar dependendo de sua aplicação. Aqui estão algumas informações sobre os diferentes tipos de motores:

Motores CC: o motor CC é o tipo mais comum de motor que pode ser usado para muitas aplicações. Podemos vê-lo em carros de controle remoto, robôs, etc. Este motor tem uma estrutura simples. Ele começará a rolar aplicando a voltagem adequada às suas extremidades e mudará sua direção mudando a polaridade da voltagem. A velocidade dos motores DC é controlada diretamente pela tensão aplicada. Quando o nível de tensão for menor que a tensão máxima tolerável, a velocidade diminuirá.

Motores de passo: Em alguns projetos, como impressoras 3D, scanners e máquinas CNC, precisamos conhecer as etapas de rotação do motor com precisão. Nestes casos, usamos motores de passo. O motor de passo é um motor elétrico que divide uma rotação completa em várias etapas iguais. A quantidade de rotação por etapa é determinada pela estrutura do motor. Esses motores têm uma precisão muito alta.

Servo motores: o servo motor é um motor DC simples com um serviço de controle de posição. Usando um servo, você será capaz de controlar a quantidade de rotação dos eixos e movê-los para uma posição específica. Eles geralmente têm uma pequena dimensão e são a melhor escolha para braços robóticos.

Mas não podemos conectar esses motores a microcontroladores ou placa controladora como o Arduino diretamente para controlá-los, uma vez que eles possivelmente precisam de mais corrente do que um microcontrolador pode conduzir, então precisamos de drivers. O driver é um circuito de interface entre o motor e a unidade de controle para facilitar a condução. As unidades vêm em muitos tipos diferentes. Nesta instrução, você aprenderá a trabalhar na blindagem do motor L293D.

A proteção L293D é uma placa de driver baseada em L293 IC, que pode acionar 4 motores CC e 2 motores de passo ou servo ao mesmo tempo.

Cada canal deste módulo tem a corrente máxima de 1,2A e não funciona se a tensão for maior que 25v ou menor que 4,5v. Portanto, tome cuidado ao escolher o motor adequado de acordo com sua tensão e corrente nominal. Para mais recursos desta blindagem, vamos mencionar a compatibilidade com Arduini UNO e MEGA, proteção eletromagnética e térmica do motor e circuito de desconexão em caso de aumento de tensão não convencional.

Etapa 2: como usar a proteção do driver do motor Arduino L293D?

Como usar a proteção do driver do motor Arduino L293D?
Como usar a proteção do driver do motor Arduino L293D?

Ao usar esta blindagem de 6 pinos analógicos (que também podem ser usados como pinos digitais), os pinos 2 e 13 do Arduino são gratuitos.

No caso de usar servo motor, os pinos 9, 10, 2 estão em uso.

No caso de uso de motor DC, pino 11 para nº 1, pino 3 para nº 2, pino 5 para nº 3, pino 6 para nº 4 e pinos 4, 7, 8 e 12 para todos eles estão em uso.

No caso de usar o motor de passo, os pinos 11 e 3 para o nº 1, os pinos 5 e 6 para o nº 2 e os pinos 4, 7, 8 e 12 para todos eles estão em uso.

Você pode usar pinos livres por conexões com fio.

Se você estiver aplicando uma fonte de alimentação separada ao Arduino e à blindagem, certifique-se de desconectar o jumper da blindagem.

Etapa 3: Condução do motor DC

Motor DC de condução
Motor DC de condução

#incluir

A Biblioteca de que você precisa para controlar o motor:

AF_DC Motor motor (1, MOTOR12_64KHZ)

Definindo o motor DC que você está usando.

O primeiro argumento representa o número de motores na blindagem e o segundo representa a frequência de controle da velocidade do motor. O segundo argumento pode ser MOTOR12_2KHZ, MOTOR12_8KHZ, MOTOR12_8KHZ e MOTOR12_8KHZ para os motores número 1 e 2 e pode ser MOTOR12_8KHZ, MOTOR12_8KHZ e MOTOR12_8KHZ para os motores número 3 e 4. E se for deixado desmarcado por padrão.

motor.setSpeed (200);

Definindo a velocidade do motor. Ele pode ser definido de 0 a 255.

void loop () {

motor.run (FORWARD);

atraso (1000);

motor.run (PARA TRÁS);

atraso (1000);

motor.run (RELEASE);

atraso (1000);

}

A função motor.run () especifica o status de movimento do motor. O status pode ser FORWARD, BACKWARD e RELEASE. RELEASE é o mesmo que o freio, mas pode levar algum tempo até a parada total do motor.

Recomenda-se soldar um capacitor de 100nF nos pinos de cada motor para reduzir o ruído.

Etapa 4: Conduzindo o servo motor

Servo motor de condução
Servo motor de condução

A biblioteca Arduino IDE e exemplos são adequados para dirigir um servo motor.

#incluir

A biblioteca de que você precisa para dirigir o servo motor

Servo myservo;

Definindo um objeto servo motor.

void setup () {

myservo.attach (9);

}

Determine o pino de conexão ao Servo. (Pino 9 para o servo # 1 e pino 10 para o servo # 2)

void loop () {

myservo.write (val);

atraso (15);

}

Determine a quantidade de rotação do motor. Entre 0 a 360 ou 0 a 180 conforme o tipo do motor.

Etapa 5: Conduzindo o motor de passo

Motor de passo de direção
Motor de passo de direção

#include <AFMotor.h>

Determine a biblioteca de que você precisa

Motor AF_Stepper (48, 2);

Definindo um objeto de motor de passo. O primeiro argumento é a resolução do passo do motor. (por exemplo, se o seu motor tem a precisão de 7,5 graus / passo, isso significa que a resolução do passo do motor é. O segundo argumento é o número do motor de passo conectado à blindagem.

configuração vazia () {motor.setSpeed (10);

motor.onestep (FORWARD, SINGLE);

motor.release ();

atraso (1000);

}

void loop () {motor.step (100, FORWARD, SINGLE);

passo.motor (100, PARA TRÁS, ÚNICO);

motor.step (100, FORWARD, DOUBLE); motor.step (100, BACKWARD, DOUBLE);

motor.step (100, FORWARD, INTERLEAVE); motor.step (100, PARA TRÁS, INTERLEAVE);

motor.step (100, FORWARD, MICROSTEP); motor.step (100, PARA TRÁS, MICROSTEP);

}

Determine a velocidade do motor em rpm.

O primeiro argumento é a quantidade de passo necessária para mover, o segundo é para determinar a direção (PARA A FRENTE ou PARA TRÁS), e o terceiro argumento determina o tipo de passo: SINGLE (Ativar uma bobina), DOUBLE (Ativar duas bobinas para obter mais torque), INTERLEAVED (Mudança contínua no número de bobinas de um para dois e vice-versa para precisão dupla, porém, neste caso, a velocidade é reduzida pela metade), e MICROSTEP (A mudança dos passos é feita lentamente para maior precisão. Neste caso, o torque é menor). Por padrão, quando o motor para de se mover, ele mantém seu status.

Você deve usar a função motor.release () para liberar o motor.

Etapa 6: Compre o Arduino L293D Motor Driver Shield

Compre Arduino L293D Shield da ElectroPeak

Etapa 7: Projetos relacionados:

  • L293D: Teoria, Diagrama, Simulação e Pinagem
  • O Guia do Iniciante para Controlar Motores por Arduino & L293D

Etapa 8: Curta-nos no FaceBook

Se você achar este tutorial útil e interessante, curta-nos no Facebook.

Recomendado: