Biblioteca Arduino para motores de passo tipo bipolar

Biblioteca Arduino para motores de passo tipo bipolar

Anteriormente, forneci a 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 dos 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 motores de passo do tipo bipolar. Então decidi desenvolver outra biblioteca Arduino para controlar motores de passo tipo bipolar.

Então, apresento aqui a biblioteca de motores de passo bipolares no Arduino para todos os motores de passo do tipo bipolar. A biblioteca possui 9 funções diferentes que podem ser usadas para girar e controlar o motor de acordo com os requisitos. A biblioteca é 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 rotaçõ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 – 360ó com precisão de 80-100%

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, sugere-se o circuito que utiliza chip L293D – amplamente utilizado como driver de ponte H para motores DC, bem como motores de passo bipolares.

Para usar esta biblioteca em seu esboço do Arduino, basta copiar a pasta bi_polar_Stepper para o diretório raiz da pasta da biblioteca do Arduino, como C:arduino-1.6.7bibliotecas.

DESCRIÇÃO DAS FUNÇÕES DA BIBLIOTECA

1) bi_polar_Stepper(int pino1,int pino2,int pino3,int pino4) – isso criará uma instância de bi_polar_Stepper no esboço do Arduino com pinos do driver do motor de passo. Significa que é necessário especificar os pinos da placa Arduino que são usados ​​para acionar o motor de passo

2) set_step_per_rev(etapas int) – esta função definirá o número de passos necessários para o motor de passo completar 1 revolução. Significa que definirá o ângulo de passo (resolução de passo) do motor. É necessário inserir o ângulo de passo do motor para um controle preciso

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

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

5) girar_CCW – esta função iniciará a rotação do 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) girar(int dir) – esta função girará o motor conforme a direção selecionada. Se a direção for dada como 1, o motor girará no sentido horário e vice-versa

7) girar_one_rev(diretório interno) – esta função girará o motor exatamente 1 revolução na direção selecionada

8) rotacionar_n_rev(int diretório,int num) – esta função irá girar o motor no número necessário de rotações nas direções selecionadas

9) girar_x_deg(int graus) – esta função 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 #define passos 200 // altera estes passos conforme o motor bi_polar_Stepper meu_motor_passo(8,9,10,11); rpm interno = 60; configuração nula { // coloque seu código de configuração aqui, para executar uma vez: Serial.begin(9600); Serial.println(“programa de teste de biblioteca de motor de passo bipolar”); meu_step_motor.set_step_per_rev(passos); meu_motor_passo.set_RPM(rpm); Serial.println(“motor gira no sentido horário”); } loop vazio { meu_motor_passo.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 #define etapas 200 bi_polar_Stepper meu_motor_passo(8,9,10,11); rpm interno = 30; configuração nula { // coloque seu código de configuração aqui, para executar uma vez: Serial.begin(9600); Serial.println(“programa de teste de biblioteca de motor de passo bipolar criado por Ashutosh Bhatt”); meu_step_motor.set_step_per_rev(passos); meu_motor_passo.set_RPM(rpm); } loop vazio { Serial.println(“motor gira no sentido horário”); meu_motor_passo.rotate_one_rev(1); atraso(1000); Serial.println(“motor gira no sentido anti-horário”); meu_motor_passo.rotate_one_rev(0); atraso(1000); }

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

/*este programa irá primeiro girar o motor de passo bipolar * com ângulo de passo de 1,8 graus (200 passos/rev) * no sentido horário (CW) por 2 rotações a 100 RPM e depois * sentido anti-horário (CCW) por 2 rotações a 50 RPM * continuamente * criado por Ashutosh Bhatt em 12/12/16 */ #include #define etapas 200 bi_polar_Stepper meu_motor_passo(2,3,4,5); int eu; configuração nula { Serial.begin(9600); Serial.println(“Programa de teste de biblioteca de motor de passo bipolar criado por Ashutosh Bhatt”); meu_step_motor.set_step_per_rev(passos); } loop vazio { meu_motor_passo.set_RPM(100); for(i=0;i<100;i++) meu_motor_passo.rotate(1); atraso(2000); meu_motor_passo.set_RPM(50); for(i=0;i<100;i++) meu_motor_passo.rotate(0); atraso(2000); }

4) Gire o motor 4 voltas no sentido horário a 20 RPM e 2 voltas no sentido anti-horário a 10 RPM continuamente

/*este programa irá primeiro girar 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 depois * 2 rotações no sentido anti-horário (CCW) a 10 RPM * continuamente * criado por Ashutosh Bhatt em 12/12/16 */ #include #define etapas 200 bi_polar_Stepper meu_motor_passo(2,3,4,5); int eu; configuração nula { Serial.begin(9600); Serial.println(“Programa de teste de biblioteca de motor de passo unipolar criado por Ashutosh Bhatt”); meu_step_motor.set_step_per_rev(passos); } loop vazio { meu_motor_passo.set_RPM(20); meu_motor_passo.rotate_n_rev(1,4); atraso(2000); meu_motor_passo.set_RPM(10); meu_motor_passo.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 meu_motor_passo(8,9,10,11); rpm interno = 30; configuração nula { // coloque seu código de configuração aqui, para executar 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); meu_motor_passo.set_RPM(rpm); Serial.println(“motor gira 90 graus para frente e para trás”); } loop vazio { meu_motor_passo.rotate_x_deg(90); atraso(2000); meu_motor_passo.rotate_x_deg(270); atraso(2000); }

Observação:- Se o motor de passo tiver classificações de corrente e tensão mais altas, em vez do chip L293D, podemos usar o chip L298 ou um conjunto de 4 transistores Darlington separados como TIP122, TIP142 etc.

Aqui está o resumo do arranjo do circuito acima.

Protótipo de controlador de motor de passo tipo bipolar

Fig. 1: Protótipo de controlador de motor de passo tipo bipolar

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 bifásico com 5V, 100 RPM (MAX), 200 passos/rev (ângulo de passo de 1,8o)

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

Basta ver os vídeos fornecidos aqui para demonstração.

Diagramas de circuito

Diagrama de circuito-controlador de motor de passo tipo bipolar

Vídeo do projeto

Conteúdo Relacionado

Uma rede de sensores é incorporada em todos os...
O controlador do motor é um dos componentes mais...
ESP32-CAM é um módulo de câmera compacto que combina...
A evolução dos padrões USB foi fundamental para moldar...
A SCHURTER anuncia um aprimoramento para sua conhecida série...
A Sealevel Systems anuncia o lançamento da Interface Serial...
A STMicroelectronics introduziu Diodos retificadores Schottky de trincheira de...
Determinar uma localização precisa é necessário em várias indústrias...
O novo VIPerGaN50 da STMicroelectronics simplifica a construção de...
A Samsung Electronics, fornecedora de tecnologia de memória avançada,...
O mercado embarcado tem uma necessidade de soluções de...
Você provavelmente já se deparou com o termo 'arrastar'...
Você provavelmente tem um Isolador de suporte Se você...
Você provavelmente já viu permanecer um isolante sente-se em...
Você provavelmente já viu Isoladores de manilha entronizados em...
Você provavelmente já passou por situações em que o...
ブログに戻る

コメントを残す

コメントは公開前に承認される必要があることにご注意ください。