LIÇÃO 20: MOTOR STEPPER E ULN2003

Introdução

Os motores stepper, devido ao seu design único, podem ser controlados com um alto grau de precisão sem qualquer mecanismo de feedback. O eixo de um passo, montado com uma série de ímãs, é controlado por uma série de bobinas eletromagnéticas que são carregadas positiva e negativamente em uma sequência específica, movendo-a precisamente para frente ou para trás em pequenos "passos".

Como mencionado na aula anterior, existem dois tipos de motores stepper, simples e bipolar, e é muito importante saber com que tipo você está trabalhando. Neste experimento, usaremos um passo-a-passo unipolar. A placa UNO ou outros MCUs não podem operar diretamente motores de estepe.

Um circuito controlador é necessário, por isso nesta lição usamos uma placa de controlador de motor stepper (como mostrado na imagem a seguir).

Nesta placa há quatro diodos led em cima. O conector branco no meio será conectado ao motor do estepe.

Quanto à parte inferior, existem quatro insumos IN1,IN2,IN3,IN4 usados para se conectar ao controlador. Quando uma entrada IN estiver alta, o LED correspondente acenderá.

A tira de pinos à direita é a entrada da fonte de alimentação.

Há quatro diodos de LED em cima. O conector branco no meio está conectado ao motor do estepe.

A parte inferior são quatro INPUTs IN1,IN2,IN3,IN4 usados para conectar ao controlador. Quando uma entrada IN estiver alta, o LED correspondente acenderá. A tira de pinos à direita é a entrada da fonte de alimentação.

Componentes

"Produto:2000" "Produto:256" "Produto:1436" "Produto:847" "Produto:536" "Produto:44"

Início

O motor stepper é um motor de quatro fases, que usa uma fonte de alimentação DC unipolarity. Todo o tempo que você fornece corrente elétrica para todas as bobinas de fase do motor de estepe usando uma sequência de sincronização adequada, você pode fazer o motor girar passo a passo. O diagrama esquemático de um motor de estepe reativa de quatro fases é como mostrado abaixo:

Como mostrado na figura, no centro do motor há um rotor – um ímã permanente na forma de uma engrenagem. Ao redor do rotor, 0 a 5 são dentes. Do lado de fora, há 8 polos magnéticos, cada um dos quais é conectado por bobinas, então eles formam quatro pares de A a D, o que é chamado de fase. Possui quatro cabos condutores para se conectar com switches SA, SB, SC e SD. Portanto, as quatro fases são paralelas no circuito, e os dois polos magnéticos em uma fase estão em série.

É assim que funciona um motor de estepe de 4 fases::

No início, o interruptor SB está ligado, os interruptores SA, SC e SD estão desligados, e os polos magnéticos da fase B se alinham com os dentes do rotor 0 e 3.

Os polos B puxarão os dentes 0-3 do rotor em direção um ao outro. Quando o interruptor SA está ligado e os interruptores SB, SC e SD estão desligados, o rotor gira sob a fase A do campo magnético e se alinha com os dentes do rotor 5 e 2. Os polos A puxarão os dentes 5-2 do rotor em direção um ao outro. A situação é semelhante e contínua.

Forneça corrente elétrica para as fases A, B, C e D, e o rotor irá girar na ordem de A, B, C e D

O motor de estepe de quatro fases tem três modos de operação:

-unidade simples de quatro passos - Unidade de onda

-duplo quatro passos- Passo completo

-oito passos - Meio passo

O ângulo de arremesso para o simples quatro passos e dois quatro passos são os mesmos, mas o torque para o simples quatro passos é menor. O ângulo de passagem no modo de oito etapas é metade do dos simples quatro passos e dois de quatro passos. Portanto, o modo de operação de oito etapas pode manter o alto torque e melhorar a precisão do controle. Neste experimento, deixamos o motor do estepe trabalhar em oito etapas. Para conectar o motor ao circuito, é necessário usar uma placa controladora. O motor de estepe ULN2003 é um circuito inversor de 7 canais. Se fornecermos um alto nível para IN1, e baixo nível para IN2, IN3 e IN4, então a saída OUT1 está no nível baixo, e todas as saídas estão no alto nível. Então d1 acende, o interruptor SA liga e o motor do estepe gira um passo. Isso se repete várias vezes. Portanto, você só tem que dar ao motor do estepe uma sequência de tempo específica e girar passo a passo. O ULN2003 aqui é usado para fornecer sequências de tempo específicas para o motor stepper.

Procedimento

Passo 1:Conecte o circuito

Placa de motorista ULN2003 IN1----------------------- Arduino uno R3 Digital pino 8

PLACA DE MOTORISTA ULN2003 IN2----------------------- Arduino Uno R3 Digital Pin 9

PLACA DE MOTORISTA ULN2003 IN3----------------------- Arduino Uno R3 Digital Pin 10

PLACA DE MOTORISTA ULN2003 IN4----------------------- Arduino pino UNO R3 Digital 11

Placa de motorista ULN2003 "+" ----------------------- Arduino uno R3 Power pino 5V

Placa de motorista ULN2003 "-" -----------------------Arduino uno R3 Power pin GND

Passo 2: Cronograma (veja o código de amostra em CD ou site oficial)

/***********************************************************

Nome do arquivo: velocidade do motor do estepe

***********************************************************/

int Pin0 ?8;//definição digital 8 pinos como pino para controlar o IN1 (ULN24L01)

int Pin1 ?9;//definição digital 9 pinos como pino para controlar o IN2 (ULN24L01)

int Pin2 s 10;//definição digital 10 pinos como pino para controlar o IN3 (ULN24L01)

int Pin3 s 11;//definição digital 11 pinos como pino para controlar o IN4 (ULN24L01)

int _step 512;

int _speed 1;

configuração do vazio()

{

pinMode(Pin0, OUTPUT);//Digital set 8 modo de porta, o OUTPUT para a saída

pinMode(Pin1, OUTPUT);//Digital set 9 modo de porta, o OUTPUT para a saída

pinMode(Pin2, OUTPUT);//Digital Set 10 modo de porta, a SAÍDA para a saída

pinMode(Pin3, OUTPUT);//Digital set 11 modo de porta, a SAÍDA para a saída

}

loop vazio()

{

Velocidade (15);//Velocidade do motor stepper s 15 rápido (nota:velocidade de 1 a 15)

Passo(512);//Passo para frente 512 passos ---- ângulo 360

atraso (2000);// atraso 2S

Velocidade(1); Velocidade do motor do estepe s 1 lento (nota:velocidade de 1 a 15)

Passo (-512);///Motor de estepe para trás 512 passos ---- ângulo 360

atraso (2000);//atraso 2S

}

velocidade de vazio (int stepperspeed)//set velocidade stepper

{

_speed 15 - stepperspeed;

se (_speed<1){

_speed 1;

}

se (_speed>15)

_speed 15 anos.

}

}

vazio Passo (int _step)//Rotação do motor stepper

{

se (_step>-0)-////intensificar o motor para a frente

para (int i-0;i<_step;i++){

setStep(1, 0, 0, 1);

atraso (_speed);

setStep(1, 0, 0, 0);

atraso (_speed);

setStep(1, 1, 0, 0);

atraso (_speed);

setStep(0, 1, 0, 0);

atraso (_speed);

setStep(0, 1, 1, 0);

atraso (_speed);

setStep(0, 0, 1, 0);

atraso (_speed);

setStep(0, 0, 1, 1);

atraso (_speed);

setStep(0, 0, 0, 1);

atraso (_speed);

}

"else" // Motor de trás do stepper

para (int i-_step;i<0;i++){

setStep(0, 0, 0, 1);

atraso (_speed);

setStep(0, 0, 1, 1);

atraso (_speed);

setStep(0, 0, 1, 0);

atraso (_speed);

setStep(0, 1, 1, 0);

atraso (_speed);

setStep(0, 1, 0, 0);

atraso (_speed);

setStep(1, 1, 0, 0);

atraso (_speed);

setStep(1, 0, 0, 0);

atraso (_speed);

setStep(1, 0, 0, 1);

atraso (_speed);

}

}

}

vazio setStep (int a, int b, int c, int d)

{

digitalWrite(Pin0, a);

digitalWrite(Pin1, b);

digitalWrite(Pin2, c);

digitalWrite(Pin3, d);

}

Passo 3: Compilar o código.

Passo 4: Carregue o esboço na placa Um.

Agora, ajuste o potencialiômetro, o motor do estepe irá girar os graus correspondentes.

Nota.

Motor "4 bobina" ou "4 fases" - todos eles significam o mesmo