Índice:

Conduzindo um motor de passo sem um microcontrolador .: 7 etapas
Conduzindo um motor de passo sem um microcontrolador .: 7 etapas

Vídeo: Conduzindo um motor de passo sem um microcontrolador .: 7 etapas

Vídeo: Conduzindo um motor de passo sem um microcontrolador .: 7 etapas
Vídeo: Como funciona um microcontrolador 2024, Dezembro
Anonim
Image
Image

Neste Instrutível, dirigirei um motor de passo 28-BYJ-48, com uma placa UNL2003 darlington array, às vezes chamada de x113647, sem um microcontrolador.

Ele terá start / stop, forward / backward e controle de velocidade.

O motor é um motor de passo unipolar com 2048 passos por revolução no modo de passo completo. A folha de dados do motor pode ser encontrada em

Os dois dispositivos podem ser comprados juntos de vários fornecedores. Peguei o meu em kjell.com

Faça o Bing ou google para encontrar um fornecedor perto de você.

Primeiro, passarei por algumas etapas e partes necessárias para colocá-lo em execução e, em seguida, adicionarei algumas etapas e partes para ter mais controle.

Você deve estar avisado de que as peças que eu uso são aquelas que por acaso tenho na minha arca do tesouro, e não necessariamente as peças mais adequadas para o propósito.

Além disso, você deve estar avisado que este é meu primeiro Instructable e que sou bastante novo em eletrônica.

Por favor, adicione comentários se você acha que fiz algo que não deveria, ou se você tem sugestões de melhorias ou sugestões de peças mais adequadas.

Etapa 1: Lista de Peças

As peças principais
As peças principais

As peças usadas para este projeto são

  • Tábua de pão
  • Motor de passo 28byj-48
  • Placa de matriz de transistores Darlington ULN2003 (x113647)
  • Registro de deslocamento 74HC595
  • Contador de ondulação binário 74HC393
  • DS1809-100 Potenciômetro digital Dallastat
  • Tampão octal 74HC241
  • 3 × botões táteis
  • 3 × 10kΩ resistores
  • 2 × 0,1 µF capacitores de cerâmica
  • 1 × 0,01 µF capacitor de cerâmica
  • Fios de conexão
  • Fonte de alimentação 5V

Etapa 2: As peças principais

As peças principais
As peças principais

O registrador de deslocamento 74HC595

O motor é movido repetidamente dando aos quatro pinos de entrada da placa UNL2003 esta sequência:

1100-0110-0011-1001

Isso acionará o motor no que é chamado de modo de passo completo. O padrão 1100 é repetidamente deslocado para a direita. Isso sugere um registro de deslocamento. A maneira como um registro de deslocamento funciona é, a cada ciclo de clock, os bits no registro deslocam-se uma posição para a direita, substituindo o bit mais à esquerda pelo valor do pino de entrada no momento. Conseqüentemente, ele deve ser alimentado com dois ciclos de clock de 1 e então dois ciclos de clock de 0 para gerar o padrão de mergulho do motor.

Para gerar os sinais de relógio, é necessário um oscilador, que gere uma série constante de pulsos, de preferência uma onda quadrada limpa. Isso formará a base do padrão de mudança de sinais para o motor.

Para gerar os "dois ciclos de um e depois dois ciclos de 0", flip-flops são usados.

Eu tenho um registrador de deslocamento 74HC595. Este é um chip muito popular, que é descrito em vários vídeos do Instructables e do Youtube.

A folha de dados pode ser encontrada em

Um bom Instructable é 74HC595-Shift-Register-Demistified by bweaver6, O registrador de deslocamento 74HC595 funciona de forma que a cada ciclo de clock, os dados em seu registrador de 8 bits são deslocados para a direita e deslocando o valor do pino de entrada na posição mais à esquerda. Conseqüentemente, ele deve ser alimentado com dois ciclos de clock de 1 e, em seguida, dois ciclos de clock de 0.

Os dados são deslocados na borda ascendente do pulso do clock. Henc, o flip-flop deve alternar na borda descendente do clock, de modo que o 74HC595 terá entrada de dados estável na borda ascendente do clock.

O 74HC595 pode ser conectado assim:

Pino 8 (GND) -> GND

Pino 16 (VCC) -> 5V Pino 14 (SER) -> Dados no Pino 12 (RCLK) -> Entrada de relógio Pino 11 (SRCLK) -> Entrada de relógio Pino 13 (OE) -> GND Pino 10 (SRCRL) -> Os pinos de 5 V 15 e 1-3 produzirão o padrão para acionar o motor.

Conectar RCLK e SRCLK garante que o registro de dados do chip esteja sempre sincronizado com o registro de saída. Colocar o pino 13 no terra torna o conteúdo do registro de saída imediatamente visível para os pinos de saída (Q0 - Q7).

O cronômetro 555

Para gerar o pulso de clock, o chip do temporizador 555 pode ser usado. Este também é um chip muito popular e é ainda mais descrito e discutido do que o registrador de deslocamento. A Wikipedia tem um bom artigo em

A folha de dados está aqui:

Este chip pode, entre outras coisas, gerar pulso de clock de onda quadrada. Resistores e capacitores externos são usados para controlar a frequência e o ciclo de trabalho (na fração).

Quando configurado para gerar pulsos repetidamente, o chip 555 está no modo astável. Isso é feito com a fiação como na imagem acima. (imagem de jjbeard [domínio público], via Wikimedia Commons):

Pino 1 -> GND

Pino 2 -> R1 (10kΩ) -> Pino 7 Pino 2 -> Pino 6 Pino 3 é a saída Pino 4 (reset) -> 5V Pino 5 -> 0,01µF -> GND Pino 6 -> 0,1µF -> Pino GND 7 -> R2 (10kΩ) -> 5V Pino 8 -> 5V

A saída do pino 3 será conectada aos pinos do relógio de entrada (pino 11 e pino 12) do registrador de deslocamento 74HC595.

A frequência do sinal de saída (e, portanto, a velocidade do motor de passo) é determinada pelos valores do resistor R1 e R2 e pelo valor do capacitor C.

O tempo de ciclo T será ln (2) C (R1 + 2 R2) ou aproximadamente 0,7 C (R1 + 2 R2). A frequência é 1 / T.

O ciclo de trabalho, a fração do tempo de ciclo em que o sinal é alto, é (R1 + R2) / (R1 + 2R2). O ciclo de trabalho não é muito importante para este projeto.

Eu uso 10kΩ, para R1 e R2, e C = 0,1µF.

Isso dá uma frequência de cerca de 480 Hz, e está perto da frequência máxima que descobri que o motor de passo pode controlar sem parar.

Para gerar o padrão 1100 alterado e repetido do 74HC595, o pino 14 (SER) deve ser mantido alto por dois ciclos de clock e, em seguida, baixo por dois ciclos de clock repetidamente. Ou seja, o pino deve oscilar com metade da frequência do relógio.

O contador de ondulação binário duplo 74HC393

O 74HC393 conta em binário, e isso também significa que pode ser usado para dividir frequências de pulso por potências de dois, Sua folha de dados está aqui:

O 74HC393 é dual, tem um contador de 4 bits em cada lado.

Na borda descendente do pulso de clock, o primeiro pino de saída liga e desliga. Conseqüentemente, o pino de saída um irá oscilar com metade da frequência do relógio de entrada. Na borda descendente do pino de saída um, o pino dois de saída liga e desliga. E assim por diante para todos os quatro pinos de saída. Sempre que o pino n é desativado, o pino n + 1 é alternado.

O pino n + 1 muda com a metade da freqüência do pino n. Esta é a contagem binária. O contador pode contar até 15 (todos os quatro bits 1) antes de começar do zero novamente. Se o último pino de saída do contador 1 estiver conectado como um relógio ao contador 2, ele pode estar contando até 255 (8 bits).

Para criar um pulso com metade da frequência do relógio de entrada, apenas o pino 1 de saída é necessário. Ou seja, contando apenas de zero a um.

Portanto, se a contagem for feita pelo pulso de clock do 555, o pino no contador 74HC393 que representa o bit 2, oscilará com metade da frequência do clock. Portanto, ele pode ser conectado ao pino SER do registrador de deslocamento 74HC595, para fazer com que ele gere o padrão desejado.

A fiação do contador binário 74HC393 deve ser:

Pino 1 (1CLK) -> 74HC595 Pino 11, 12 e 555 Pino 3

Pino 2 (1CLR) -> GND Pino 4 (1QB) -> 74HC595 Pino 14 Pino 7 (GND) -> GND Pino 14 (VCC) -> 5V Pino 13 (2CLK) -> GND (não usado) Pino 12 (2CLR) -> 5V (não usado)

Etapa 3: faça funcionar

Faça funcionar
Faça funcionar
Faça funcionar
Faça funcionar

Agora podemos fazer o motor funcionar, se os pinos 0-3 do 74HC595 estiverem conectados aos pinos 1-4 da placa ULN2003, respectivamente.

Por enquanto, substitua o capacitor de 0,1 µF no pino 6 do temporizador 555 por um de 10 µF. Isso tornará o ciclo do relógio cem vezes mais longo e será possível ver o que está acontecendo.

Os LEDs nas placas ULN2003 podem ser usados para isso. Desconecte o motor da placa ULN2003. Conecte os pinos 1 a 4 da placa à saída QA-QD (pinos 7, 9, 10 e 11) do 74HC595. Conecte o - e + da placa ULN2003 ao aterramento e 5V. Se a alimentação estiver ligada, você deverá ver o padrão desejado nos LEDs.

Se você quiser ver o que está acontecendo no contador binário 74HC393, conecte aos pinos 3-6 daquele no lugar.

Se o padrão parecer correto, desligue, substitua o capacitor por 0,1µF novamente, conecte os pinos de entrada 1 - 4 da placa ULN2003 aos pinos de saída QA - QD do 74HC595 e conecte o motor novamente.

Com a alimentação ligada, o motor deve funcionar agora.

Etapa 4: Controle de velocidade

Controle de velocidade
Controle de velocidade

A velocidade do motor de passo é governada pela frequência da saída do temporizador 555. Isso, novamente, é governado pelos valores dos resistores R1 e R2 e do capacitor C1 conectado a ele. Ao conectar um potenciômetro de 100kΩ em série com R2, a frequência pode estar entre 480Hz e 63Hz. As etapas pr. o segundo do motor, será a metade da frequência do temporizador 555.

Eu usei um potenciômetro digital DS1809-100, que é feito para uso com botão de pressão. Os botões que conectam o pino 2 (UC) e o pino 7 (DC) a 5V aumentam / diminuem a resistência entre os terminais RH (pino 1) ou RL (pino 4) e o pino 6 (RW) do limpador. Segurar um botão por mais de um segundo faz com que ele se repita automaticamente.

A folha de dados pode ser encontrada aqui:

A fiação é assim:

Pino 1 (RH) não utilizado

Pino 2 (UC) -> botão tátil 1 Pino 3 (STR) -> GND Pino 4 (RL) -> 555 Pino 2 Pino 5 -> GND Pino 6 (RW) -> 10kΩ -> 555 pino 7 Pino 7 (DC) -> botão tátil 2 Pino 8 -> 5V

A fiação para o botão tátil 1:

Pino 1/2 -> DS1809 Pino 2

Pino 3/4 -> 5V

A fiação para o botão tátil 2:

Pino 1/2 -> DS1809 Pino 7

Pino 3/4 -> 5V

Agora, a velocidade pode ser regulada.

Etapa 5: Iniciar / Parar

Iniciar / Parar
Iniciar / Parar

Para iniciar e parar o motor de passo, o pino 4 (o pino de reinicialização) do temporizador 555 pode ser utilizado. Se for puxado para baixo, não haverá pulsos de saída do Pino 3.

Um botão tátil será usado para alternar entre iniciar e parar. Pressionar o botão uma vez, deve dar partida no motor, e pressioná-lo novamente, deve pará-lo. Para obter esse comportamento, é necessário um flip-flop. Mas o 74HC393 que já está aí, também pode ser usado. O 74HC393 tem duas partes e apenas uma metade é usada como divisor de frequência para o pulso do clock.

Como o contador binário é, na verdade, apenas um conjunto de flip-flops alternantes em série, o primeiro flip-flop da outra parte pode ser usado. Ao conectar um botão tátil de modo que o pino 13 (2CLK) esteja baixo quando o botão é pressionado e alto se não for, o pino 12 alternará em cada baixo. Conectar o pino 12 ao pino 4 do 555 irá iniciar e parar sua saída e, portanto, o motor.

Os botões táteis são um pouco complicados, porque são mecânicos. Eles podem 'saltar', ou seja, podem enviar vários sinais em cada push. Conectar um capacitor de 0,1 µF ao botão ajuda a evitar isso.

Portanto, um botão tátil (botão 3 é adicionado e a conexão ao pino 4 do 555 é alterada.

A fiação do botão:

Pino 1/2 -> 10kΩ -> 5V

Pino 1/2 -> 0,1µF -> Pino Pino 3/4 -> 74HC393 Pino 13 (2CLK)

As seguintes alterações são feitas no 555:

Pino 4 (reiniciar) -> 74HC393 Pino 11 (2QA)

O botão 3 agora deve funcionar como um botão liga / desliga para iniciar / parar.

Observe que um motor parado dessa forma ainda consumirá energia.

Etapa 6: Controle de direção

Controle de direção
Controle de direção

Para controlar a direção do motor, outro botão de pressão é necessário e, em seguida, outro flip-flop. No entanto, vou trapacear, usando o próximo flip-flop do 74HC393, após o flip-flop liga / desliga e o botão liga / desliga.

Quando o pino de direção (Pino 2QA) fica baixo, o próximo pino (Pino 2QB) é alternado. Portanto, pressionar repetidamente o botão resultará em DESLIGADO - LIGADO AVANÇOS - DESLIGADO - LIGADO PARA TRÁS - DESLIGADO - LIGADO AVANÇOS etc.

Para fazer o motor funcionar para trás, o padrão alimentado para o ULN2003 deve ser invertido. Isso pode ser feito com um registrador de deslocamento bidirecional, mas eu não tenho um. O 74HC595 não é bidirecional.

No entanto, descobri que poderia usar meu buffer octal 74HC241. Este buffer tem duas partes de 4 bits, com pinos OE (habilitação de saída) separados. O primeiro pino OE controla os quatro primeiros pinos de saída e o segundo os quatro últimos pinos de saída. Quando o OE está na saída, os pinos têm o mesmo valor que os pinos de entrada correspondentes, e quando está desligado, os pinos de saída estarão em estado de alta impedância, como se não estivessem conectados. Além disso, um dos pinos OE está ativo baixo e o outro está ativo alto, portanto, ao conectá-los, apenas metade do buffer estará ativo no momento.

Portanto, para a mesma entrada, uma metade do buffer pode conduzir o motor para frente e a outra metade para trás. Qual metade está ativa, depende do valor dos pinos OE.

A folha de dados do 74HC241 pode ser encontrada em

A fiação pode ser assim:

Pino 1 (1OE) -> 74HC293 Pino 10 (2QB)

Pino 2 (1A1) -> 74HC595 Pino 15 Pino 3 (1Y4) -> ULN2003 Pino 1 Pino 4 (1A2) -> 74HC595 Pino 1 Pino 5 (1Y3) -> ULN2003 Pino 2 Pino 6 (1A3) -> 74HC595 Pino 2 Pino 7 (1Y2) -> ULN2003 Pino 3 Pino 8 (1A4) -> 74HC595 Pino 3 Pino 9 (1Y1) -> ULN2003 Pino 4 Pino 10 (GND) -> Pino de aterramento 11 (2A1) -> Pino 2 (1A1) Pino 12 (1Y4) -> Pino 9 (2Y1) Pino 13 (2A2) -> Pino 4 (1A2) Pino 14 (1Y3) -> Pino 7 (2Y2) Pino 15 (2A3) -> Pino 6 (1A3) Pino 16 (1Y2) -> Pino 5 (2Y3) Pino 17 (2A3) -> Pino 8 (1A4) Pino 18 (1Y2) -> Pino 3 (2Y4) Pino 19 (2OE) -> Pino 1 (1OE) Pino 20 (VCC) -> 5V

Agora, a fiação deve ser concluída ligando apenas 5V. Certifique-se de que a fonte de alimentação pode fornecer corrente suficiente para acionar o motor e os circuitos.

Etapa 7: Conclusões

Conclusões
Conclusões

O motor de passo pode ser controlado sem microcontrolador.

Os ICs usados aqui, eram alguns que eu tinha antes. A maioria deles não é ideal para isso, e várias alternativas podem ser usadas.

  • Para gerar os pulsos, o chip de cronômetro 555 é uma boa opção, mas existem várias alternativas, por exemplo, aquela descrita neste Instrutível.
  • Para o controle de velocidade, pode-se utilizar qualquer potenciômetro, não apenas digital. Se você tiver um potenciômetro de 10kΩ, em vez de 100kΩ, os resistores de 10kΩ podem ser substituídos por 1KΩ e o capacitor de 0,1 µF por um capacitor de 1 µF (divida todos os resistores e multiplique o capacitor com o mesmo número para manter o tempo).
  • Usando um registro de deslocamento bidirecional, por exemplo, o 74HC194 tornaria o controle de direção mais fácil.
  • Para controle de botão, o 74HC393 pode ser substituído por um flip-flop, por exemplo, 74HC73. O 555 também pode ser conectado para atuar como alternador.

Recomendado: