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
2) Gire o motor uma volta no sentido horário e uma volta no sentido anti-horário continuamente
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 */ #include4) 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 */ #include5) 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 */ #includeObservaçã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.
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