Índice:

Dispositivo elétrico de teste de motor de passo: 3 etapas
Dispositivo elétrico de teste de motor de passo: 3 etapas

Vídeo: Dispositivo elétrico de teste de motor de passo: 3 etapas

Vídeo: Dispositivo elétrico de teste de motor de passo: 3 etapas
Vídeo: Placa CNC RNR ECOMOTION + Mach3 + Driver + Motor de Passo #3 2024, Julho
Anonim
Image
Image
Fiação
Fiação

Eu tinha pouca ou nenhuma experiência em dirigir motores de passo, por isso, antes de projetar, imprimir, montar e programar o relógio analógico de correção automática 'Antigo' (https://www.instructables.com/id/Antique-Auto-Correcting-Analog-Clock/) usando um motor de passo, decidi projetar e testar o software usando um dispositivo de teste muito mais simples. Se você, como eu, tem pouca ou nenhuma experiência com motores de passo, então espero que este curta Instructable with source code ajude.

O dispositivo de teste requer os seguintes componentes:

  • Uma placa de prototipagem.
  • Uma Adafruit Feather ESP32 com cabeçalhos femininos.
  • Uma placa controladora de passo baseada em ULN2003.
  • Um motor de passo 28BYJ-48 5vdc.
  • Alguns fios de ligação macho para fêmea.
  • Uma bateria de lítio Adafruit 3.7vdc.
  • Um ponteiro indicador impresso em 3D.

O controlador de passo, o motor de passo e os fios de jumper que usei estão incluídos em um pacote de 5 que comprei como um kit on-line (procure por "Motor de passo TIMESETL 5pcs DC 5V 28BYJ-48 + 5pcs ULN2003 placa de driver + 40pcs macho fêmea cabo de jumper ").

A bateria é opcional. Observe que as saídas da bateria são 3,7 vdc, mas a placa controladora de passo e o passo são 5 vdc. O dispositivo de teste funcionará apenas com energia da bateria, mesmo com a tensão mais baixa.

Incluí um vídeo mostrando as etapas necessárias para baixar o software para o ESP32, conectar o ESP32 ao controlador do motor de passo e conectar o motor de passo e a bateria.

Etapa 1: Fiação

Fiação
Fiação
Fiação
Fiação

Usei os fios de jumper macho / fêmea incluídos no kit para conectar o acessório de teste. Seis fios são necessários e são inseridos da seguinte forma:

  1. ESP32 pino 14 (macho) ao pino IN4 da placa de passo (fêmea).
  2. ESP32 pino 32 (macho) ao pino IN3 da placa de passo (fêmea).
  3. ESP32 pino 15 (macho) ao pino IN2 da placa de passo (fêmea).
  4. ESP32 pino 33 (macho) ao pino IN1 da placa de passo (fêmea).
  5. Pino ESP32 "GND" (macho) ao pino da placa de passo "-" (fêmea).
  6. ESP32 pino "USB" (macho) para operação USB OU "BAT" (macho) para operação com bateria, para o pino da placa de passo "+" (fêmea).

Assim que os fios forem inseridos e verificados duas vezes, conecte o cabo do motor de passo no conector da placa do controlador do motor de passo. O conector é chaveado e só se encaixa de uma maneira.

Finalmente, se estiver usando uma bateria, conecte-a ao conector de bateria ESP32.

Etapa 2: Indicador

Indicador
Indicador

Para um indicador no motor de passo, eu projetei e imprimi em 3D um ponteiro indicador "Hand.stl". Imprimai o ponteiro do indicador com uma camada de 0,15 mm de altura, 20% de preenchimento sem nenhum suporte e, em seguida, pressionei-o no eixo do motor de passo.

Como alternativa, fita, papelão ou outro material pode ser usado como indicador.

Etapa 3: Software

Programas
Programas

Eu escrevi o software de teste de passo no ambiente Arduino 1.8.5. Se ainda não o fez, baixe o ambiente Arduino e os drivers USB necessários para o seu computador e instale-os. Além disso, visite o site da Adafruit para obter qualquer software adicional relacionado ao Adafruit ESP32. Achei este link muito útil: Adafruit ESP32 e o ambiente Arduino.

Com um cabo USB conectado entre seu computador e o ESP32, e "Stepper.ino" carregado no ambiente Arduino, baixe "Stepper.ino" para o ESP32.

Depois de baixado, o stepper deve dar um passo de 6 graus uma vez por segundo.

Escrevi este software de teste por dois motivos; primeiro, para aprender como acionar um motor de passo e, segundo, converter os 4.096 passos por rotação do motor de passo em 60 "tiques" de 6 graus de um segundo para o relógio.

A função "Step (nDirection)" aciona o motor de passo. Esta função mantém uma variável inteira local (estática) "nPhase", que é incrementada ou decrementada em um (cada vez que a função é chamada), de acordo com o sinal do argumento da função nDirection. Essa variável é limitada na faixa de 0 a 7, que, quando usada junto com a chave da caixa, aciona as fases do motor de acordo com as especificações do fabricante para cada etapa.

A função "Update ()" determina quando e quantas etapas devem ser executadas para cada tique para espaçar uniformemente 60 tiques por 360 graus de rotação. Esta função conduz o motor de passo em 68 ou 69 etapas para cada escala. Por exemplo, se a função usou apenas 68 passos por tick, então (68 passos * 60 ticks) = 4.080 passos não seriam passos suficientes para completar os 360 graus de rotação (lembre-se que o stepper requer 4.096 passos para 360 graus de rotação). E se a função usasse 69 passos por tick, então (69 passos * 60 ticks) = 4140 seriam passos demais. O algoritmo simples que escrevi distribui uniformemente 68 e 69 marcações de passo ao longo da rotação de 360 graus e pode determinar qual direção de rotação é mais rápida para a contagem de segundos desejada (usada no relógio).

E foi assim que projetei e testei o software para relógio analógico de correção automática 'antigo'.

Se você tiver alguma sugestão e / ou dúvida, fique à vontade para comentar e farei o meu melhor para responder.

Recomendado: