Como girar um motor DC com o Arduino

O motor de corrente contínua no seu kit Arduino é o mais básico de motores elétricos e é usado em todos os tipos de eletrônicos passatempo. Quando a corrente é passada através, que gira continuamente em uma direcção até que a corrente pára. A menos que especificamente marcado com um + ou -, motores de corrente contínua não têm polaridade, o que significa que você pode trocar os dois fios mais para inverter a direção do motor.

O esboço Motor

Você vai precisar de um circuito de controle simples para transformar seu motor ligado e desligado.

Você precisa:

  • Um Arduino Uno

  • A placa de ensaio

  • Um transistor

  • Um motor DC

  • Um diodo

  • A 2.2k ohm

  • fios de salto

Para alimentar o motor, você precisa enviar 5V através dele e depois para a terra. Esta tensão gira o motor, mas você tem o controle dele. Para dar o seu controle Arduino do poder do motor, e, portanto, a sua rotação, você coloca um transistor logo após o motor.

O transistor é um interruptor acionado eletricamente que pode ser ativado por pinos digitais do seu Arduino. Neste exemplo, ele é controlado pelo pino 9 no seu Arduino, da mesma forma como um diodo emissor de luz, excepto que o transistor permite transformar o circuito do motor ligado e desligado.

image0.jpg

Este circuito funciona, mas ainda permite que a chance de criar uma corrente de retorno por causa da força do motor, uma vez que fica mais lento, ou porque o motor pode ser ligado. Se a corrente inversa é gerado, ele viaja do lado negativo do motor e tenta encontrar o caminho mais fácil para a terra.

Esta rota pode ser através do transistor ou através do Arduino. Você não pode saber ao certo o que vai acontecer, então você precisa fornecer uma maneira de controlar este excesso de corrente.

Para ser seguro, você colocar um diodo em todo o motor. O diodo está voltada para a fonte da tensão, o que significa que a tensão é forçado através do motor, que é o que você quer. Se a corrente é gerada na direcção oposta, que está agora a ser impedido de fluir para o Arduino.

image1.jpg

Se você colocar o diodo de forma errada, a corrente ignora o motor e criar um curto-circuito. O curto-circuito tenta aterrar toda a corrente disponível e poderia quebrar sua porta USB ou, pelo menos, mostrar uma mensagem de aviso, informando que a sua porta USB está atraindo muita energia.

image2.jpg

Construa o circuito como mostrado, e abrir um novo esboço Arduino. Escolha o botão Salvar e salve o esboço com um nome memorável, como myMotor, em seguida, digite o seguinte código:

int motorPin = 9-vazio setup () {pinMode(MotorPin, SAÍDA) -} Vazio loop () {digitalWrite (motorPin, HIGH) -demora(1000) -digitalWrite(MotorPin, BAIXO) -demora(1000) -}

Depois de ter digitado o esboço, salve-o e pressione o botão Compilar para verificar o seu código. O Arduino Ambiente verifica seu código para quaisquer erros de sintaxe (gramática para o seu código) e destaca-los na área de mensagem. Os erros mais comuns incluem erros de digitação, ponto e vírgula em falta, e maiúsculas e minúsculas.

Se o esboço compila corretamente, clique em Upload para fazer o upload do esboço para sua placa. Você deverá ver o seu motor em rotação por um segundo e parar por um segundo repetidamente.

Se isso não é o que acontece, você deve verificar novamente sua fiação:

  • Certifique-se de que você está usando pin número 9.

  • Verifique se o diodo está enfrentando a maneira correta, com a banda de frente para a conexão de 5v.

  • Verifique as conexões na placa de ensaio. Se os fios de salto ou componentes não são conectados usando as linhas corretas na placa de ensaio, eles não irão funcionar.

A repartição esboço Motor

Este é um esboço muito básico, e você pode perceber que é uma variação sobre o esboço Blink. Este exemplo altera o hardware, mas utiliza o mesmo código para controlar um LED.

Em primeiro lugar, o pino é declarado usando pino digital 9.

int motorPin = 9-

Na configuração, o pino 9 é definido como uma saída.

void setup () {pinMode(MotorPin, SAÍDA) -}

O laço diz o sinal de saída para ir para ALTO, esperar por 1000ms (1 segundo), vá para BAIXO, esperar por mais 1000ms, e repita. Este cenário dá-lhe o mais básico de controle de motor, contando o motor quando ir ligado e desligado.

vazio loop () {digitalWrite (motorPin, HIGH) -demora(1000) -digitalWrite(MotorPin, BAIXO) -demora(1000) -}

menu