Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-23 15:03
Imagine que você tem um cubo de Rubik embaralhado, conhece aquele quebra-cabeça dos anos 80 que todo mundo tem, mas ninguém sabe realmente como resolver, e deseja trazê-lo de volta ao seu padrão original. Felizmente, hoje em dia, é muito fácil encontrar instruções de solução. Então, acesse a Internet, assista a um vídeo e aprenda como virar as costas para lhe trazer alegria. Depois de fazer isso algumas vezes, no entanto, você perceberá que está faltando alguma coisa. Um buraco interno que não pode ser preenchido. Os engenheiros / criadores / hackers dentro de você simplesmente não podem ficar satisfeitos em resolver algo tão incrível de uma maneira tão simples. Não seria muito mais poético se você tivesse uma máquina que resolvesse tudo para você? Se você tivesse construído algo, todos os seus amigos ficariam maravilhados? Posso garantir que não há nada melhor do que assistir sua criação fazer maravilhas e resolver um Cubo de Rubik. Então, junte-se a mim na maravilhosa jornada de construção de Q-Bot, o Rubik's Cube Solver de código aberto que certamente não baterá nenhum recorde mundial, mas lhe dará horas de alegria (após, é claro, passar por todas as frustrações durante o processo de construção).
Etapa 1: projetar o hardware
O solver completo foi projetado com CAD em Catia. Dessa forma, a maioria dos erros de projeto podem ser encontrados e corrigidos antes da fabricação de qualquer componente físico. A maior parte do solucionador foi impressa em 3D em PLA usando uma impressora prusa MK3. Além disso, o seguinte hardware foi usado:
- 8 peças de haste de alumínio de 8 mm (comprimento de 10 cm)
- 8 rolamentos de esferas lineares (LM8UU)
- um pouco menos de 2 m de correia dentada GT2 6 mm + algumas polias
- 6 motores de passo bipolares NEMA 17
- 6 drivers de passo Polulu 4988
- um Arudino Mega como o controlador do projeto
- uma fonte de alimentação 12 V 3A
- um conversor redutor para alimentar o arduino com segurança
- alguns parafusos e conectores
- um pouco de madeira compensada para a base
Descrição do hardware
Esta seção cobre brevemente como o Q-Bot funciona e onde os componentes mencionados acima são usados. Abaixo você pode ver uma representação do modelo CAD totalmente montado.
O Q-bot funciona com quatro motores conectados diretamente ao cubo de Rubik com garras impressas em 3D. Isso significa que esquerda, direita, frente e trás podem ser girados diretamente. Se for necessário girar o lado superior ou inferior, o cubo inteiro deve ser girado e, portanto, dois dos motores devem ser movidos. Isso é feito conectando cada um dos motores de aperto em trenós acionados por outro motor de passo e uma correia dentada ao longo de um sistema de trilhos lineares. O sistema de trilhos consiste em dois rolamentos de 8 esferas que são montados em cavidades no trenó e todo o trenó é montado em dois eixos de alumínio de 8 mm. Abaixo você pode ver a submontagem de um eixo do solucionador.
Os eixos xey são basicamente idênticos, eles diferem apenas na altura do ponto de montagem da correia, isso é para que não haja colisões entre as duas correias quando totalmente montadas.
Etapa 2: Escolher os motores certos
Claro, selecionar os motores certos é muito importante aqui. A parte principal é que eles precisam ser fortes o suficiente para girar um cubo de Rubik. O único problema aqui é que nenhum fabricante de cubos de Rubik fornece uma classificação de torque. Então, tive que improvisar e fazer minhas próprias medições.
Geralmente o torque é definido pela força dirigida perpendicularmente à posição do ponto de rotação na distância r:
Então, se eu pudesse de alguma forma medir a força aplicada ao cubo, poderia calcular o torque. O que foi exatamente o que eu fiz. Prendi meu cubo em uma prateleira de forma que apenas um lado pudesse se mover. Que um barbante foi amarrado ao redor do cubo e uma bolsa presa na parte inferior. Agora tudo o que faltava fazer era aumentar lentamente o peso no saco até que o cubo girasse. Por falta de pesos precisos, usei batatas e as medi depois. Não é o método mais científico, mas como não estou tentando encontrar o torque mínimo, é suficiente.
Fiz as medições três vezes e peguei o valor mais alto apenas por segurança. O peso resultante foi de 0,52 kg. Agora, por causa de Sir Isaac Newton, sabemos que Força é igual a massa vezes aceleração.
A aceleração, neste caso, é a aceleração gravitacional. Portanto, o torque necessário é dado por
Conectar todos os valores, incluindo a metade da diagonal do cubo de Rubik, finalmente revela o torque necessário.
Eu optei por motores de passo que são capazes de aplicar até 0,4 Nm, o que provavelmente é um exagero, mas eu queria estar seguro.
Etapa 3: Construindo a Base
A base consiste em uma caixa de madeira muito simples e abriga todos os eletrônicos necessários. Possui um plugue para ligar e desligar a máquina, um LED para indicar se está ligada, uma porta USB B e uma tomada para a fonte de alimentação a ser conectada. Foi construído com compensado de 15mm, alguns parafusos e um pouco de cola.
Etapa 4: montagem do hardware
Agora com todas as peças necessárias, incluindo a base, o Q-bot estava pronto para ser montado. As peças personalizadas foram impressas em 3D e ajustadas quando necessário. Você pode baixar todos os arquivos CAD no final deste ible. A montagem incluiu o encaixe de todas as peças impressas em 3D com as peças compradas, estendendo os cabos do motor e aparafusando todas as peças na base. Além disso, coloquei mangas em volta dos cabos do motor, apenas para torná-la um pouco mais organizada, e adicionei conectores JST às suas extremidades.
Para destacar a importância da base que construí, aqui está uma cena de antes e depois de como era a montagem. Arrumar tudo um pouco pode fazer uma grande diferença.
Etapa 5: Eletrônica
Quanto à eletrônica, o projeto é bastante simples. Existe uma fonte de alimentação principal de 12 V, que pode fornecer até 3 A de corrente, que alimenta os motores. Um módulo abaixador é usado para alimentar o Arduino com segurança e um escudo personalizado para o Arduino foi projetado para abrigar todos os drivers de motor de passo. Os drivers tornam o controle dos motores muito mais fácil. Acionar um motor de passo requer uma sequência de controle específica, mas usando drivers de motor, precisamos apenas gerar um pulso alto para cada passo que o motor deve girar. Além disso, alguns conectores jst foram adicionados à blindagem para tornar a conexão dos motores mais fácil. O escudo do Arduino foi construído pela primeira vez em um pedaço de perfboard e depois de se certificar de que tudo funciona como deveria, ele foi fabricado pela jlc pcb.
Aqui está o antes e depois do protótipo e do pcb fabricado.
Etapa 6: Software e interface serial
O Q-Bot é dividido em duas partes. Por um lado, existe o hardware que é controlado pelo Arduino, por outro, existe um software que calcula o caminho de resolução do cubo com base no embaralhamento atual. O firmware rodando no Arduino foi escrito por mim, mas para manter este guia curto, não irei entrar em detalhes sobre ele aqui. Se você deseja dar uma olhada nele e brincar com ele, o link para o meu repositório git será fornecido no final deste documento. O software que calcula a solução é executado em uma máquina Windows e foi escrito por um colega meu, novamente links para seu código-fonte podem ser encontrados no final deste ible. As duas partes se comunicam por meio de uma interface serial simples. Ele calcula a solução com base no algoritmo de duas fases de Kociemba. O software de solução envia um comando que consiste em dois bytes para o solucionador e espera que ele retorne um 'ACK'. Dessa forma, o solucionador pode ser testado e depurado usando um monitor serial simples. O conjunto completo de instruções pode ser encontrado abaixo.
Os comandos para girar cada motor em uma etapa são uma solução alternativa para um problema em que alguns dos steppers executariam aleatoriamente pequenos saltos ao serem ligados. Para compensar isso, os motores podem ser ajustados para sua posição inicial antes do processo de resolução.
Etapa 7: Conclusão
Após oito meses de desenvolvimento, palavrões, batendo no teclado e dançando, o Q-bot finalmente chegou a um ponto em que foi resolvido com sucesso seu primeiro cubo de Rubik. O embaralhamento do cubo teve que ser inserido manualmente no software de controle, mas tudo funcionou bem.
Eu adicionei um suporte para uma webcam algumas semanas depois e minha faculdade ajustou o software para ler o cubo automaticamente a partir das imagens tiradas. No entanto, isso ainda não foi bem testado e ainda precisa de algumas melhorias.
Se este instrutível despertou seu interesse, não hesite e comece a construir sua própria versão do Q-bot. Pode parecer assustador no começo, mas vale muito a pena o esforço e, se eu consegui, você também pode.
Recursos:
Código Fonte do Firmware:
github.com/Axodarap/QBot_firmware
Código-fonte do software de controle
github.com/waldhube16/Qbot_SW
Recomendado:
Solver de olhos vendados do cubo de Rubik em tempo real usando Raspberry Pi e OpenCV: 4 etapas
Solver Cubo de Rubik com os olhos vendados em tempo real usando Raspberry Pi e OpenCV: esta é a segunda versão da ferramenta de cubo de Rubik feita para resolver com os olhos vendados. A 1ª versão foi desenvolvida por javascript, você pode ver o projeto RubiksCubeBlindfolded1 Ao contrário da anterior, esta versão usa a biblioteca OpenCV para detectar as cores e
Arduino Mega Stepper Shield para um Rubiks Cube Solver: 4 etapas
Arduino Mega Stepper Shield para um Rubiks Cube Solver: Um tempo atrás, eu estava trabalhando em uma máquina que resolve automaticamente qualquer Rubiks Cube 3x3 embaralhado. Você pode ver minhas instruções sobre isso aqui. No projeto, os drivers de passo da Polulu foram usados para acionar seis motores. Em ordem dois, conecte estes d
Como Construir o ProtoBot - um Robô Educacional 100% Open Source, Super-Barato: 29 Passos (com Imagens)
Como Construir o ProtoBot - um Robô Educacional 100% Open Source, Super-Barato: O ProtoBot é um Robô 100% Open Source, acessível, super barato e fácil de construir. Tudo é código aberto - hardware, software, guias e currículo - o que significa que qualquer pessoa pode acessar tudo o que precisa para construir e usar o robô
Joy Robot (Robô Da Alegria) - Open Source 3D Impresso, Arduino Powered Robot !: 18 Passos (com Imagens)
Joy Robot (Robô Da Alegria) - 3D Open Source Impresso, Arduino Powered Robot !: Primeiro Prêmio no Concurso de Rodas Instructables, Segundo Prêmio no Concurso Arduino Instructables e vice-campeão no Desafio Design for Kids. Obrigado a todos que votaram em nós !!! Os robôs estão chegando em todos os lugares. De aplicações industriais para u
ARS - Arduino Rubik Solver: 13 etapas (com imagens)
ARS - Arduino Rubik Solver: ARS é um sistema completo para resolver o cubo de Rubik: sim, outro robô para resolver o cubo! ARS é um projeto escolar de três anos feito com peças impressas em 3D e estruturas cortadas a laser: um Arduino recebe a sequência correta gerada por um sofá caseiro