Índice:

Mecanismo de relógio: 7 etapas
Mecanismo de relógio: 7 etapas

Vídeo: Mecanismo de relógio: 7 etapas

Vídeo: Mecanismo de relógio: 7 etapas
Vídeo: Como realizar uma lubrificação? Mecanismo 0S20 2024, Novembro
Anonim
Mecânica
Mecânica

Este instrutível foi criado em cumprimento ao requisito do projeto do Makecourse na University of South Florida (www.makecourse.com).

Etapa 1: conceito

Enquanto tento ter uma ideia para este projeto, decidi fazer algo que seja usável e útil para o meu dia a dia. Poucas coisas assim podem ter um requisito de dois graus de liberdade, então decidi fazer um relógio simples para atender ao requisito, bem como exibi-lo na minha mesa para mostrar as horas. Originalmente, a ideia era fazer um relógio de pulso, mas a parte impressa em 3D seria muito pequena e os motores que movem o relógio ainda seriam grandes demais para um relógio de pulso.

A partir desse projeto, encontrei peças sobressalentes no meu apartamento e decidi trabalhar nisso.

Etapa 2: peças

- Peças impressas em 3D

- 2 motor de passo 28BYJ-48 5 V DC

- 2 Placa de driver de motor de passo ULN2003

- Arduino Uno

- Módulo Bluetooth HC-05

Todas essas peças são feitas por mim, exceto os ponteiros do relógio. Eu não sou muito criativo. Abaixo está o link para seu criador.

www.thingiverse.com/thing:1441809

Etapa 3: Montagem de peças

Montagem de peças
Montagem de peças

(1) - Você precisa colocar Gear_1 e 2 nos motores de passo. Eles se encaixam perfeitamente, então um pouco de força é necessária para que eles permaneçam no lugar.

(2) - Base_0 ficará na parte inferior da montagem.

(3) - Base_1 será colocado no topo do SpurGear_1, este é o componente principal para o ponteiro dos minutos. Você pode colar esses dois componentes juntos, certifique-se de que a base esteja no topo da engrenagem.

(4) - Base_2 será colocado no topo do SpurGears_2, este é o componente principal para o ponteiro das horas. O mesmo se aplica a esta parte como etapa (3)

(5) - Os ponteiros dos relógios podem ser colados no topo da Base_1 e Base_2, ou você pode fazer um pequeno orifício para que eles se encaixem no lugar.

(6) - Para que a engrenagem do ponteiro dos minutos coincida com a engrenagem reta, é necessária uma plataforma de 1cm para colocar todo o conjunto em cima com um dos motores de passo.

A razão para isso é porque a base principal não pode ser alta, pois o outro motor de passo não seria capaz de atingir a marcha alta. De qualquer forma, é necessária uma plataforma para um dos motores de passo.

Etapa 4: Biblioteca para Arduino IDE

O código para este projeto é baseado em uma biblioteca de tyhenry chamada CheapStepper.h

github.com/tyhenry/CheapStepper

Para instalar esta biblioteca no seu arduino. Clique em clonar ou baixar no link acima e baixe como um arquivo zip.

No IDE do Arduino. Sketch -> Incluir Biblioteca -> Adicionar Biblioteca. ZIP

De toda a biblioteca que funciona, esta utilizou o motor de passo, o melhor e extremamente fácil de usar.

Etapa 5: configuração da placa de ensaio

Configuração da placa de ensaio
Configuração da placa de ensaio
Configuração da placa de ensaio
Configuração da placa de ensaio

Eu usei um escudo Arduino para ir com meu Arduino UNO. Parece mais limpo, mas você pode pegar uma pequena placa de ensaio e colocá-la em cima do Arduino UNO. Siga a cor no esquema, pois alguns fios estão em cima uns dos outros. Os pinos 4-7 são para um stepper e os pinos 8-11 são para o segundo stepper.

O módulo Bluetooth deve ser conectado RX -> TX e TX -> RX à placa Arduino.

Os fios azuis são conexões dos Drivers para o Arduino UNO

Os fios verdes são as conexões RX e TX

Os fios pretos são aterrados.

Os fios vermelhos são 5V.

Etapa 6: Código

Abaixo está o código para este projeto.

A explicação do código estará aqui.

Stepper CheapStepper (8, 9, 10, 11); CheapStepper stepper_2 (4, 5, 6, 7);

boolean moveClockwise = true;

//37,5 min = 4096;

// 1 min = 106,7;

// 5 min = 533,3;

// 15 min = 1603;

// 30 min = 3206;

// 60 min = 6412;

int completo = 4096;

meio int = cheio / 2; // 2048

float full_time = 6412; // 1 hora

float half_time = full_time / 2; // 30 min 3026

float fif_time = half_time / 2; // 15 min 1603

float one_time = full_time / 60; // 1 min 106

float five_time = one_time * 5; // 5 min 534,3

float one_sec = one_time / 60; // 1 s 1,78

// podemos fazer 30 minutos cada, girando o motor 3206 e reiniciando

Este é o cálculo principal para este projeto. O stepper levaria 4.096 passos para girar 360 graus, mas como as engrenagens de dentes retos são maiores do que as engrenagens presas ao stepper, são necessários mais passos para uma rotação completa. Como a engrenagem reta é o principal componente que gira as mãos. Tenho que fazer vários testes para ter certeza de que os valores estão corretos.

full_time é a variável que atribuí para uma rotação completa da mão. Isso é bastante consistente, mas à medida que as etapas são divididas por 2 para obter um movimento específico, o valor de flutuação fica menor, o que torna mais difícil para o motorista fazer seu trabalho.

O moveClockwise = true; é fazer com que o motor de passo se mova no sentido horário, mas como ele está girando a engrenagem reta no sentido anti-horário, precisamos tornar o booleano falso na configuração. Você também pode declará-lo falso no início, mas isso é para explicar como funciona.

void setup () {Serial.begin (9600);

Serial.println ("Pronto para começar a mover!");

pos = one_time; del = 900; proporção = 60;

moveClockwise = false; }

Aqui é onde declaro o booleano moveClockwise como falso. pos será o número de etapas, del será o atraso e a proporção é para minuto / s = 60 ou hora / min = 12

Nós controlamos as mãos com o módulo Bluetooth. Primeiro, você precisa de um terminal Bluetooth serial do seu dispositivo Android. Conecte-se ao Hc-05 com o PIN 0000 ou 1234. Você pode usar algum código de exemplo do Arduino IDE para ver se está funcionando corretamente. Quando conectado, deve piscar muito lentamente em vez de piscar rapidamente quando não está conectado.

loop vazio () {estado = 0;

if (Serial.available ()> 0) {

estado = Serial.read (); }

para (float s = 0; s <(pos); s ++) {

stepper.step (moveClockwise); }

for (float s = 0; s <(pos / proporção); s ++) {

stepper_2.step (moveClockwise); }

atraso (del);

Serial.available ()> 0 é importante porque é como o seu módulo Bluetooth irá funcionar. Esta declaração if será verdadeira quando houver comunicação entre o Arduino e seu dispositivo. A variável de estado determinará as outras 3 variáveis que declarei no topo de setup (), também imprimirá qual operação o código está executando. Os dois laços for são a função principal que orienta como o motor de passo se moverá.

if (estado == '1') {

pos = one_time; del = 0; proporção = 12;

Serial.println ("Operação 1: Sem Atraso"); }

Este é um exemplo de como usar a entrada de seu dispositivo Bluetooth para alterar o funcionamento do sistema. Você pode editar essas variáveis da maneira que quiser para controlar as mãos.

Etapa 7: demonstração e conclusão

Image
Image
Demonstração e Conclusão
Demonstração e Conclusão

Esta é uma demonstração do sistema, mostrando como funciona. Para o gabinete, você pode usar qualquer coisa que se encaixe em todos os componentes internos. Este projeto foi simples e divertido de fazer, pois é a primeira vez que imprimo em 3D. O módulo Bluetooth foi divertido de descobrir e usar. Há alguns erros que cometi que era tarde demais para mudar, mas o produto final está bom.

Recomendado: