Identificador de sequência de terminais de motor de passo automático baseado em micro controlador

Identificador de sequência de terminais de motor de passo automático baseado em micro controlador

O motor de passo possui dois tipos baseados em enrolamento interno e construções.

1. Motor de passo tipo unipolar e

2. Motor de passo tipo bipolar

Diagrama do motor de passo bipolar

Fig. 1: Diagrama do motor de passo bipolar

No motor de passo tipo bipolar existem duas bobinas do estator e seus quatro terminais são fornecidos como interface para girar o motor. Portanto, os motores de passo bipolares possuem interface de 4 fios sempre conforme mostrado na figura a seguir.

Diagrama da interface de 8 fios, 5 fios e 6 fios do motor de passo bipolar

Fig. 2: Diagrama da interface de 8 fios, 5 fios e 6 fios do motor de passo bipolar

Enquanto no motor de passo unipolar existem quatro bobinas do estator. Portanto, há um total de 8 fios (dois para cada bobina) fornecidos para interface. Existem 3 interfaces diferentes para motores de passo unipolares. Consulte a figura abaixo.

1. Interface de 8 fios – todos os 8 terminais de 4 bobinas são fornecidos para interface conforme mostrado primeiro na figura acima. A1-A2 para bobina 1, B1-B2 para bobina 2, C1-C2 para bobina 3 e D1-D2 para bobina 4.

2. Interface de 5 fios – conforme mostrado na figura acima, um terminal de cada bobina (1, 3, 5 e 7) é colocado em curto e retirado como terminal comum, fornecendo um terminal comum e quatro terminais de bobina (A, B, C e D) total de 5 terminais.

3. Interface de 6 fios – quatro bobinas são divididas em grupos de duas bobinas. Um terminal é retirado comum do grupo de duas bobinas, resultando em dois terminais comuns (CMN1 e CMN2) e quatro terminais de bobina, totalizando 6 terminais.

Protótipo de identificador de sequência de terminais de motor de passo automático

Fig. 3: Protótipo de Identificador de Sequência de Terminais de Motor de Passo Automático

Todos nós sabemos que para girar o motor de passo os pulsos devem ser aplicados aos terminais da bobina na sequência correta. Se os pulsos não forem aplicados na sequência correta aos terminais da bobina, o motor apenas vibrará – não girará. Assim como para girar um motor de passo unipolar com 5 fios, os pulsos são aplicados aos quatro terminais da bobina A, B, C e D conforme tabela fornecida.

Tabela listando o status do pulso para o identificador de sequência dos terminais do motor de passo automático

Figura 4: Tabela listando o status do pulso para o identificador de sequência dos terminais do motor de passo automático

Nota: o terminal comum está conectado ao terminal +Ve de alimentação. Na tabela acima, 0 significa lógica baixa – o terminal recebe 0 V para que a corrente possa passar pela bobina.

Isso significa que o pulso deve ser dado primeiro à bobina 1 – terminal A, depois à bobina 2 – terminal B e assim por diante. Se os pulsos não forem dados nesta sequência ABCD, ABCD, ABCD,… então o motor não girará.

Portanto, é necessário conhecer a sequência dos terminais do motor de passo para girá-lo corretamente. A questão é
Como podemos saber a sequência terminal correta e exata?

Na maior parte dos motores de passo, os fios externos dos terminais da bobina são codificados por cores e são fornecidos pelos fabricantes na forma de folhas de dados ou manuais de operação ou qualquer documento relacionado. Também da marca do motor de passo e do modelo número um, você pode obter essas informações em recursos e materiais on-line.

Imagem do identificador de sequência de terminais de motor de passo automático

Fig. 5: Imagem do identificador de sequência dos terminais do motor de passo automático

Mas e se tudo listado acima for desconhecido? Nenhuma marca e número de modelo do motor de passo, nenhum documento ou folha de dados, nenhum código de cores padrão dos fios, etc., nada. Significa que o motor de passo é completamente desconhecido.

Nesse caso, é preciso descobrir a sequência terminal fazendo experimentos manualmente. Existe um procedimento manual para fazer isso. Neste procedimento, é necessário aplicar pulsos aos diferentes terminais do motor manualmente usando a fonte de alimentação (ou bateria), conectando os fios da bobina aos terminais de alimentação +Ve e –Ve e observar se sua rotação progride ou apenas vibra para frente e para trás. Mas é um processo muito demorado, cansativo e tedioso. Porque primeiro é preciso pegar papel e caneta e listar diferentes sequências. Em seguida, aplique pulsos conforme as sequências listadas manualmente, conectando os fios aos terminais +Ve e –Ve da alimentação. Não apenas isso, mas ele deve observar a variação do motor de passo com cuidado, se ele gira ou não, porque se o motor de passo tiver um pequeno ângulo de passo como 0,90o, 0,18o, 0,75o etc., então é quase impossível para o olho humano decidir se o motor está girando ou vibrando.

Então, existe alguma solução para esse problema? Sim, a solução é automatizar esse processo. E o projeto apresentado aqui é baseado no mesmo conceito de que identifica automaticamente a sequência correta dos terminais da bobina e fornece o resultado em minutos. Utiliza microcontrolador ATmega32 que gera diferentes sequências de pulsos e se aplica aos terminais do motor e quando o motor gira duas voltas completas dá sequência aos terminais. Exibe no LCD o resultado de que a sequência correta para os terminais do motor é esta. Então vamos ver como construir este projeto bacana, interessante e muito útil.

DESCRIÇÃO DO CIRCUITO

Conforme mostrado na figura acima, o circuito é construído usando microcontrolador ATMega32, chip driver de motor ULN2003A, sensor opto-interrupção MOC7811 e LCD alfanumérico 16×4.

• Os pinos de dados D0 – D7 do LCD estão conectados à porta PORTA do ATMega32 e os pinos de controle Rs e En estão conectados aos pinos PORTD PD1 e PD0 respectivamente. O pino RW do LCD está conectado ao terra para permitir a gravação do LCD

• Um potenciômetro de 1 KΩ é conectado ao pino 3 do LCD para variar seus contrastes

• Quatro LEDs são conectados aos pinos PORTB PB4 – PB7 em configuração de cátodo comum com resistores limitadores de corrente de 1 KΩ conforme mostrado

• Pinos inferiores PORTB PB0 – PB3 acionam o motor de passo através do chip driver de corrente ULN2003A. Esses pinos são conectados às entradas do chip ULN e as saídas do chip ULN são conectadas aos quatro terminais da bobina do motor de passo desconhecido.

• O terminal comum do motor de passo recebe alimentação +Ve de 5 V

• O sensor óptico de interrupção MOC7811 é fixado de tal forma que a tira fixada no eixo do motor passa pela folga do sensor quando o motor gira

• O LED IR interno do sensor é polarizado diretamente através de um resistor limitador de corrente de 330Ω, portanto está sempre ligado. O fototransistor interno é conectado à alimentação de 5 V através do resistor pull up de 1 KΩ

• A saída do sensor é invertida e amplificada por mais um transistor NPN do tipo 2n2222A. A saída do coletor deste transistor é conectada ao pino de entrada de interrupção externa INTR (pino PORTD PD2) do ATmega32

• Um cristal de 8 MHz é conectado aos pinos de entrada do cristal (XTAL1 e XTAL2) para fornecer clock interno ao microcontrolador

• O pino de entrada de reinicialização é puxado para cima usando um resistor pull up de 1KΩ e um botão é conectado para fornecer reinicialização manual ao microcontrolador

Imagem do identificador de sequência de terminais de motor de passo automático

Fig. 6: Imagem do identificador de sequência dos terminais do motor de passo automático

OPERAÇÃO DO CIRCUITO

O microcontrolador gera diferentes sequências de pulso. Ele tenta todas as combinações possíveis para sequências de pulso. Como o motor possui 4 terminais de bobina, pode haver um total de 24 (4! = 4x3x2x1) combinações possíveis para sequências de pulso. Destas 24 combinações, para 12 combinações o motor girará no sentido horário e para outras 12 combinações, girará no sentido anti-horário. Portanto, o microcontrolador deve testar 12 combinações de sequência de pulsos para os terminais A, B, C e D da bobina do motor.

Primeiro, ele aplicará a primeira sequência de pulso ABCD – significa 1º pulso para A, 2º pulso para B, 3º pulso para C e 4º pulso para D e novamente 5º pulso para A da mesma forma. Ele exibirá a mensagem no LCD como “tentando sequência 1 como A B C D 1 2 3 4”.

Se o motor começar a girar e ao completar uma revolução a tira passa pela abertura do sensor que irá gerar uma interrupção e o microcontrolador conta esta interrupção como 1 revolução do motor. Se o motor completar 2 rotações, pronto! Bingo!!!!! A sequência terminal da bobina é A é a primeira bobina, B é a segunda bobina, C é a terceira bobina e D é a quarta bobina. O LCD mostra a mensagem como “a sequência correta de terminais da bobina para o motor é 1-A 2-B 3-C 4-D”.

Mas se o motor não girar e continuar vibrando, após 5 segundos quando o temporizador desligar, o microcontrolador muda para a próxima sequência ABDC significa 1º pulso para A, 2º para B, 3º para D e 4º para C.

O LCD mostra a mensagem novamente.

Da mesma forma, a cada 5 segundos, se o motor não girar e completar 2 rotações em 5 segundos, o microcontrolador aplica as próximas sequências. Assim, ele testa todas as 12 sequências seguintes.

1. A B C D
2. A B D C
3. A D B C
4. A C B D
5. A C D B
6. A D C B
7. B A C D
8. B A D C
9. C A B D
10. C A D B
11. B C A D
12. C B A D

Assim, em 1 minuto (5 segundos x 12 sequências = 60 segundos = 1 minuto) o microcontrolador aplica todas as 12 sequências a partir das quais, em uma sequência, o motor começará a girar e completará duas voltas e obteremos a sequência exata dos terminais da bobina.

Depois de aplicar toda a sequência de 12 pulsos, se o motor ainda não girar, significa que a bobina do motor está danificada internamente e é por isso que não está girando. Assim, o microcontrolador decide que o motor está com defeito e exibe a mensagem no LCD como “toda a sequência possível do motor tentado está com defeito”.

Assim, o projeto em questão não apenas identifica a sequência dos terminais da bobina, mas também descobre se o motor está funcionando ou não.

Código fonte do projeto

###


#include par

#include par

#include par

par

unsigned int intr_counter=0,seq_counter=1,timer_int_count=0,new_seq_flag=0,stop_flag=0;par

par

void lcd_senddata(unsigned char data)par

 {par

 tab _delay_ms(2);par

tab PORTD=(1<

###

 

Diagramas de circuito

Diagrama de Circuito-Automático-Motor de Passo-Terminais-Identificador de Sequência

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...
블로그로 돌아가기

댓글 남기기

댓글 게시 전에는 반드시 승인이 필요합니다.