Índice:

28BYJ-48 Motor de passo de 5 V e driver A4988: 4 etapas
28BYJ-48 Motor de passo de 5 V e driver A4988: 4 etapas
Anonim
28BYJ-48 Motor de passo de 5 V e driver A4988
28BYJ-48 Motor de passo de 5 V e driver A4988

Sempre quis fazer um robô girar em um ângulo preciso, usando apenas algumas saídas do seu Arduino ou micro: bit? Tudo isso barato? Esse é o instrutível para você! Neste instrutível, veremos como acionar um motor de passo muito barato usando apenas 2 saídas de nosso controlador e exigindo apenas uma fonte de alimentação de 5V!

Tornei isso instrutível depois de me esforçar um pouco para reunir as informações, às vezes tropeçando na desinformação, e queria evitar que outras pessoas passassem pelo mesmo processo.

Mas antes de começar, por que essa restrição?

  • Por que 5V: porque quero integrar isso em um robô móvel que funcionará apenas com uma bateria de lítio 3.7 que consigo tirar 5V com um booster.
  • Por que usar o A4988 e não o ULN2003 que geralmente vem com o motor 28BYJ? Porque, primeiro, ele requer 4 entradas. Portanto, usar o A4988 nos faz economizar 2 de nossas preciosas saídas de controlador (e se você gosta de trabalhar com o micro: pouco como eu, então essas saídas são preciosas …)! Mas tem mais! Ser capaz de acionar o motor apenas dando os passos como impulsos elevados, nos dá a possibilidade de acionar o motor com um simples PWM. Fixando o ciclo de trabalho em 50%, alterar a frequência do PWM irá alterar a velocidade de rotação do motor. Por que isso é ótimo? Porque se você quiser definir a velocidade do meu motor e depois continuar controlando outras coisas com meu Arduino ou micro: bit, então você pode simplesmente definir meu PWM e esquecê-lo, o que tornará seu código muito mais legível e sua vida muito mais fácil (por exemplo, se você deseja construir um robô como este).

Então vamos começar !

Suprimentos

Aqui está o que você precisa para este instrutível:

  • 1x motor de passo 28BYJ
  • 1x driver A4988
  • 1 placa de ensaio ou placa de prototipagem, um capacitor e alguns fios
  • Micro: bit e placa de extensão ou Arduino
  • Fonte de alimentação de 5 V (+ 3,3 V se você usar Micro: bit). Para isso usei uma bateria de lítio 18650 e uma blindagem de bateria.
  • 1x multímetro

Etapa 1: Conhecendo nosso sistema

A primeira coisa que eu recomendaria para começar seria aprender mais sobre motores de passo e o driver A4988. Ei, mas por que precisamos desse driver? Podemos controlar um motor de passo sem um driver? A resposta é não. Placas como Micro: bit e Arduino são boas no processamento de informações, mas não em fornecer muita corrente, e você precisa de corrente para fazer um movimento do motor de passo. Para saber mais sobre como o motor e o driver funcionam, esta é a referência que eu recomendo. É sintético, mas também contém a maior parte das informações de que você precisa para a fiação.

Mas espere antes de tentar conectar qualquer coisa! O 28BYJ está adaptado para o A4988? Se você fizer uma pesquisa rápida, verá que este motor raramente vem com o A4988 como driver. Se você ler atentamente a referência anterior, verá o porquê: nosso motor de passo é um motor unipolar, enquanto o A4988 é projetado para acionar motores bipolares, então teremos que modificar um pouco nosso motor!

Etapa 2: hackear o motor

Hacking the Motor
Hacking the Motor
Hacking the Motor
Hacking the Motor
Hacking the Motor
Hacking the Motor

Para tornar seus motores compatíveis com o driver do motor, basta retirar o fio vermelho do conector branco. Para fazer corte o conector para retirar o fio vermelho e corte o fio vermelho do motor. Em seguida, troque o cabo amarelo e rosa no conector. Guarde o fio vermelho e o conector para a próxima etapa!

Para tirar um cabo do conector empurre o fio que deseja remover no conector e depois empurre a broca metálica visível no conector com uma ferramenta afiada (acima está uma foto onde eu faço isso com minha faca favorita, a opinel!) e, finalmente, puxe e, eventualmente, a coisa toda deve sair como na imagem acima. A última imagem mostra como o conector deve ficar no final dessas modificações: a ordem do cabo no conector deve ser laranja / rosa / amarelo / azul.

(PS: online você encontrará alguns tutoriais indicando que você tem que dessoldar o fio vermelho do motor e depois riscar a placa de circuito impresso, esqueça isso, isso não é necessário. Inútil?)

Etapa 3: Configurando o Driver

Configurando o driver
Configurando o driver

Agora … hora de acionar este motor com o driver? Ainda não, desculpe! Você vê o parafuso na placa A4988? Bem, teremos que mexer com isso. Este parafuso basicamente permite que você defina a quantidade de corrente que passará pelas bobinas do seu motor. Em nosso caso, embora nossa fonte de alimentação forneça 5 V e nossas bobinas no motor tenham uma resistência de 50 Ohms, nossa corrente não será mais do que 100 mA, que deve ser suportada pelo motor para que você possa pular esta etapa. No entanto, se você for como eu e gostaria que seu motor recebesse apenas a corrente necessária, siga em frente.

Portanto, para configurar o driver, siga o Método 2 deste artigo com essas adaptações (como mostra a imagem acima)

  1. Use os 5 V da blindagem da bateria para a lógica e a entrada de alimentação do motor (diz-se que o VMOT precisa de mais de 8 V, mas funciona 5 V!). Os 2 pinos GND da placa estão conectados, portanto, não há necessidade de conectá-los ao aterramento da bateria.
  2. Conecte os pinos STEP e DIR ao 5V também (não ao Arduino, como mostrado no artigo referenciado)
  3. Ao configurar o multímetro, configurei a corrente para 50mA, o que foi o suficiente para acionar meus motores em meio-passos (mais sobre isso na próxima etapa). Para conectar meu multímetro para medir a corrente na bobina do motor, como vocês podem ver na imagem acima, desliguei o fio amarelo do conector e coloquei o fio vermelho, para que eu pudesse colocar meu multímetro do vermelho para o fio amarelo para medir a corrente.

Etapa 4: Controle do motor

Controlando o motor
Controlando o motor
Controlando o motor
Controlando o motor
Controlando o motor
Controlando o motor

É isso, estamos quase prontos para fazer nosso motor girar. A única coisa a fazer é:

  1. remover nosso multímetro de nosso sistema, se ainda não o tiver feito,
  2. conecte MS1 a 5V que fará o driver usar meio-passo (tive problemas para fazer o robô girar com passos completos em 5V. Mas como parte do meu objetivo era fazer tudo rodar em 5V eu aceitei sacrificar um pouco a velocidade e para obter alguma precisão),
  3. fornecer os pinos STEP e DIR com o que queremos de nosso controlador.

Então: se você deseja controlar o motor usando o Arduino, basta seguir o artigo aqui onde você encontrará um código de amostra. Se quiser controlar com o micro: bit fica comigo mais um pouco.

Micro: bit, como Arduino, vem com GPIOs. Portanto, uma vez que o ligamos (com 3,3 V!), Podemos programá-lo para a saída STEP e DIR. Embora pareça haver muitas entradas e saídas, esteja avisado que, na verdade, muitas delas já estão reservadas para alguns outros fins. Você pode aprender mais sobre isso neste artigo. Você verá neste artigo que, na verdade, muitas das entradas / saídas são compartilhadas com o monitor e, portanto, se quiser usá-las, será necessário desligar o monitor. Mas não vamos desligar o display! Então, quais pinos podemos usar? Vou usar os pinos 2 e 8 porque não vou usar os pads (pino 2).

Conecte o pino 2 do micro: bit para STEP, pino 8 para DIR, carregue o programa anexado usando seu editor micro: python favorito (eu usei mu-editor). Este programa basicamente define um PWM no pino 2 com um período de 1 milissegundo (e um ciclo de trabalho de 50%), e seu motor deve estar girando. Defina o pino 8 como 0 ou 1 para fazê-lo virar de um jeito ou de outro e altere o período para fazê-lo girar na velocidade desejada (contanto que você não queira que vá muito rápido … para mim, um pulso a cada milissegundo estava próximo para a velocidade máxima que eu poderia alcançar).

Para tornar as coisas um pouco mais compactas e embarcar facilmente em um robô móvel, fiz uma pequena prancha. O tabuleiro é mostrado na imagem acima. Na imagem há um fio roxo indo do VMOT ao VDD que está escondido na sombra. Além disso, o fio amarelo que vai de SLP para RST na verdade não está soldado, eu apenas o coloquei lá para representar a solda que coloquei na parte de trás da placa para conectar esses 2 pinos. Observação: o dissipador de calor normalmente não é necessário com tal sistema, pois desenhamos muito, muito menos do que 1A.

É isso, espero que este instrutível ajude muitos de vocês a aproveitar a potência do motor de passo em seus projetos.

Recomendado: