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...
Zurück zum Blog

Hinterlasse einen Kommentar

Bitte beachte, dass Kommentare vor der Veröffentlichung freigegeben werden müssen.