Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Biblioteca de motor de passo bipolar

Componentes e suprimentos

Arduino UNO
× 1
Drivers de motor Texas Instruments Dual H-Bridge L293D
× 1

Aplicativos e serviços online

Arduino IDE

Sobre este projeto


Anteriormente, forneci uma biblioteca Arduino para motores de passo do tipo unipolar. Ele controla perfeitamente a velocidade, direção, número de rotações, ângulo do motor, etc., todos os parâmetros de motores de passo do tipo unipolar. Mas era apenas para motores de passo do tipo unipolar. Como sabemos, o motor de passo também pode ser do tipo bipolar. Mas esta biblioteca não pode controlar o motor de passo do tipo bipolar. Então, decidi desenvolver outra biblioteca Arduino para controlar o motor de passo do tipo bipolar

Portanto, apresento aqui a biblioteca de motores de passo bipolares no Arduino para todos os motores de passo do tipo bipolares. A biblioteca possui 9 funções diferentes que podem ser usadas para girar e controlar o motor de acordo com os requisitos. A biblioteca foi projetada de acordo com o controle de movimento industrial requisitos. Aqui estão alguns dos recursos desta biblioteca

1. Controla qualquer motor de passo bipolar

2. Controla a direção de rotação do motor

3. Controla com precisão o número de revoluções do motor como 1, 2, 3, 4, .....

4. Controla com precisão a velocidade do motor em RPM com 95% de precisão

5. Gira o motor com precisão para o ângulo desejado entre 0 - 360o com 80-100% de precisão

6. Compatível com todas as placas arduino

As breves descrições de todas as funções da biblioteca são fornecidas aqui. Alguns exemplos são dados a seguir que explicam como o motor é controlado usando esta biblioteca. Também é fornecido um vídeo que mostra a demonstração desses exemplos. Por fim, é sugerido o circuito que usa o chip L293D - amplamente utilizado como driver H-bridge para motores DC, bem como motores de passo bipolar.

Para usar esta biblioteca em seu esboço do Arduino, basta copiar o bi_polar_Stepper pasta no diretório raiz da pasta da biblioteca do arduino como C:\ arduino-1.6.7 \ libraries





Descrição das funções da biblioteca:


1) bi_polar_Stepper (intpin1, int pin2, int pin3, int pin4) - isso criará uma instância de bi_polar_Stepper no esboço do Arduino com pinos de driver de motor de passo. Significa que é preciso especificar os pinos da placa Arduino que são usados ​​para conduzir o motor de passo

2) set_step_per_rev (intsteps) - esta função definirá o número de etapas exigidas pelo motor de passo para completar 1 revolução. Significa que ele definirá o ângulo do passo (resolução do passo) do motor. Deve-se inserir o ângulo de passo do motor para um controle preciso

3) set_RPM (int rpm) - esta função irá definir a velocidade do motor em RPM e o motor irá girar na velocidade selecionada com até 95% de precisão

4) rotate_CW () - esta função começará a girar o motor no sentido horário. Para girar o motor no sentido horário continuamente, é necessário usar esta função em loop contínuo

5) rotate_CCW () - esta função começará a girar o motor no sentido anti-horário. Para girar o motor no sentido anti-horário continuamente, é necessário usar esta função em loop contínuo

6) rotate (int dir) - esta função irá girar o motor de acordo com a direção selecionada. Se a direção for dada como 1, o motor irá girar no sentido horário e vice-versa

7) rotate_one_rev (intdir) - esta função irá girar o motor exatamente 1 revolução na direção selecionada

8) rotate_n_rev (int dir, intnum) - esta função irá girar o motor necessário para o número de revoluções nas direções selecionadas

9) rotate_x_deg (int deg) - esta função irá girar o motor para o ângulo desejado de 0 a 360o em qualquer direção com precisão de ângulo de 80 a 100%





Exemplos:


1) Gire o motor continuamente em qualquer direção a 60 RPM

/ * este programa irá girar continuamente o motor de passo bipolar

* com ângulo de passo de 1,8 graus (200 passos / rev) a 60 RPM

* criado por Ashutosh Bhatt em 12/12/16

* /

#include

# definir etapas 200 // alterar essas etapas de acordo com o motor

bi_polar_Stepper my_step_motor (8, 9, 10, 11);

int rpm =60;

void setup ()

{

// coloque seu código de configuração aqui, para ser executado uma vez:

Serial.begin (9600);

Serial.println ("programa de teste de biblioteca de motor de passo bipolar");

my_step_motor.set_step_per_rev (etapas);

my_step_motor.set_RPM (rpm);

Serial.println ("motor gira no sentido horário");

}

void loop ()

{

my_step_motor.rotate_CW ();

}

2) Gire o motor uma volta no sentido horário e uma volta no sentido anti-horário continuamente

/ * este programa irá girar o motor de passo bipolar

* com ângulo de passo de 1,8 graus (200 passos / rev)

* como 1 revolução no sentido horário (CW) e uma revolução

* sentido anti-horário (CCW) a 30 RPM continuamente

* criado por Ashutosh Bhatt em 12/12/16

* /

#include

# definir etapas 200

bi_polar_Stepper my_step_motor (8, 9, 10, 11);

int rpm =30;

void setup ()

{

// coloque seu código de configuração aqui, para ser executado uma vez:

Serial.begin (9600);

Serial.println ("programa de teste de biblioteca de motor de passo bipolar criado por Ashutosh Bhatt");

my_step_motor.set_step_per_rev (etapas);

my_step_motor.set_RPM (rpm);

}

void loop ()

{

Serial.println ("motor gira no sentido horário");

my_step_motor.rotate_one_rev (1);

atraso (1000);

Serial.println ("motor gira no sentido anti-horário");

my_step_motor.rotate_one_rev (0);

atraso (1000);

}

3) Gire o motor no sentido horário a 100 RPM e anti-horário a 50 RPM continuamente

/ * este programa irá girar primeiro o motor de passo bipolar

* com ângulo de passo de 1,8 graus (200 passos / rev)

* sentido horário (CW) por 2 revoluções a 100 RPM e então

* sentido anti-horário (CCW) por 2 revoluções a 50 RPM

*continuamente

* criado por Ashutosh Bhatt em 12/12/16

* /

#include

# definir etapas 200

bi_polar_Stepper my_step_motor (2, 3, 4, 5);

int i;

void setup ()

{

Serial.begin (9600);

Serial.println ("Programa de teste de biblioteca de motor de passo bipolar criado por Ashutosh Bhatt");

my_step_motor.set_step_per_rev (etapas);

}

void loop ()

{

my_step_motor.set_RPM (100);

para (i =0; i <100; i ++) my_step_motor.rotate (1);

atraso (2000);

my_step_motor.set_RPM (50);

para (i =0; i <100; i ++) my_step_motor.rotate (0);

atraso (2000);

}

4) Gire o motor 4 rotações no sentido horário a 20 RPM e 2 rotações no sentido anti-horário a 10 RPM continuamente

/ * este programa irá girar primeiro o motor de passo bipolar

* com ângulo de passo de 1,8 graus (200 passos / rev)

* 4 rotações no sentido horário (CW) a 20 RPM e então

* 2 rotações no sentido anti-horário (CCW) a 10 RPM

*continuamente

* criado por Ashutosh Bhatt em 12/12/16

* /

#include

# definir etapas 200

bi_polar_Stepper my_step_motor (2, 3, 4, 5);

int i;

void setup ()

{

Serial.begin (9600);

Serial.println ("Programa de teste de biblioteca de motor de passo unipolar criado por Ashutosh Bhatt");

my_step_motor.set_step_per_rev (etapas);

}

void loop ()

{

my_step_motor.set_RPM (20);

my_step_motor.rotate_n_rev (1, 4);

atraso (2000);

my_step_motor.set_RPM (10);

my_step_motor.rotate_n_rev (0, 2);

atraso (2000);

}

5) Gire o motor 90o no sentido horário e 90o no sentido anti-horário continuamente a 30 RPM

/ * este programa irá girar o motor bipolar

* com ângulo de passo de 1,8 graus (200 passos / rev) a 30 RPM para

* 90 graus CW e 90 graus CCW continuamente

* criado por Ashutosh Bhatt em 22/10/16

* /

#include

#define motor_steps 200

bi_polar_Stepper my_step_motor (8, 9, 10, 11);

int rpm =30;

void setup ()

{

// coloque seu código de configuração aqui, para ser executado uma vez:

Serial.begin (9600);

Serial.println ("programa de teste de biblioteca de motor de passo bipolar");

my_step_motor.set_step_per_rev (motor_steps);

my_step_motor.set_RPM (rpm);

Serial.println ("motor gira 90 graus para frente e para trás");

}

void loop ()

{

my_step_motor.rotate_x_deg (90);

atraso (2000);

my_step_motor.rotate_x_deg (270);

atraso (2000);

}

Nota:-Se o motor de passo for de corrente e tensão maiores do que em vez do chip L293D, podemos usar o chip L298 ou um conjunto de 4 transistores Darlington separados, como TIP122, TIP142, etc., que podem ser usados ​​para acionar motores de passo.

A biblioteca fornecida e os programas de exemplo junto com o circuito acima são testados com os seguintes motores de passo

1) Motor bipolar de 2 fases com 5 V, 100 RPM (MAX), 200 passos / rev (ângulo de 1,8o)

2) Motor bipolar de 2 fases com 5V, 60 RPM (MAX), 200 passos / rev (ângulo de passo 1,8o)

Código

  • Biblioteca Arduino para motor de passo bipolar
Biblioteca Arduino para motor de passo bipolar C / C ++
A biblioteca controla RPM, direção, revoluções, ângulo de rotação de todos os tipos de motor de passo bipolar com 95% de precisão
 Sem visualização (somente download). 

Esquemas

Este circuito aciona e controla RPM, direção, ângulo de rotação, número de revoluções do motor de passo bipolar

Processo de manufatura

  1. Motor de relutância
  2. Motores de passo
  3. Drivers integrados facilitam o design do motor de passo
  4. Telemetria do Sensor 2.0.1
  5. Protótipo da Raspoulette
  6. Torre Sentinela Nerf Autônoma
  7. Swiper - Auto Tinder / Bumble Swiper
  8. A área cinzenta entre servomotores e motores de passo
  9. O que é um Motor Linear?
  10. O que é um servo motor?