Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Vingador montado:Capacete do Homem de Ferro e Reator Arc

Componentes e suprimentos

Arduino UNO
× 1
Anel Adafruit NeoPixel:WS2812 5050 RGB LED
× 1
Adafruit Capacitive Touch Sensor Breakout - MPR121
× 1
Servos (Tower Pro MG996R)
× 1
porta-bateria 4xAA
× 1
Clipe de bateria 9V
× 1
Fios de jumpers (genérico)
× 1

Ferramentas e máquinas necessárias

Impressora 3D (genérica)
Usamos um Lulzbot Mini que funcionou perfeitamente por mais de 1 ano (exceto para nossa cabeça flexystruder que tem nunca funcionou :()

Aplicativos e serviços online

Arduino IDE
Autodesk Netfabb
fritzing

Sobre este projeto





Avenger montado:capacete e reator de arco 3D impressos e controlados pelo Arduino.





Introdução e motivação:


Minha motivação para fazer este capacete começou com meu primeiro capacete, que fiz. Era um capacete de papelão do Antman de alguns vídeos que encontrei online. Foi muito legal (sendo um grande fã da Marvel), então decidi que realmente queria fazer um capacete do Homem de Ferro. Eu tinha acabado de ir à National Maker Faire em Washington D.C. e todo mundo adorou o capacete Antman. Isso me motivou ainda mais a fazer do Homem de Ferro um. Passei por vários protótipos, começando com outro capacete de cartolina. Esse capacete era muito pequeno, então eu desenhei meu próprio capacete, desta vez quando o montei, parecia mais uma bola na minha cabeça do que a do filme. Finalmente, fui para uma modelo de papel. Este modelo de papel ficou fantástico, mas me deparei com mais um problema. O modelo de papel era muito frágil. Tentei consertar, mas não funcionou, então decidi imprimir o capacete em 3D. Eu finalmente fiz um que era estável e também grande o suficiente para caber na minha cabeça e em um motor.
  • Fazendo o capacete e o reator de arco:





A impressão 3D:





1) Dividindo em pedaços - software


A primeira etapa para criar este capacete foi encontrar o arquivo online e, em seguida, imprimi-lo. O arquivo que encontrei era um capacete motorizado do Homem de Ferro. O arquivo que baixei do thingiverse veio em três partes:a parte principal, o queixo e a placa frontal. Como todas as três peças eram grandes demais para a placa de impressão da minha impressora, tive que encontrar um software que pudesse cortar meu capacete em partes. Enquanto procurava na Internet, encontrei um software gratuito online chamado netfabb basic. Eu baixei a ferramenta e carreguei meu arquivo nela. O Netfabb basic era muito fácil de usar e consegui cortar as partes do capacete. Em seguida, imprimi a parte no capacete principal, no protector do queixo e na placa frontal. Enquanto examinava as impressões, colava as peças com fita adesiva e verificava se o tamanho estava bom. Quando todas as peças foram impressas e 1 ½ rolo de filamento foi usado, eu tinha o capacete de 24 peças.





2) Seleção do adesivo adequado


O próximo desafio era encontrar o adesivo certo para colar as peças. Para que a cola funcionasse, ela teria que atender a três requisitos:
  • Tinha que manter as peças juntas com uma ligação forte,
  • tenha um tempo de cura rápido
  • fácil de lixar.

Testamos 4 tipos diferentes de cola, E6000, JB Weld KwikWeld, JB Weld Plastic Bonder e Loctite Plastic Bonder epóxi. No final das contas, acabamos usando o KwikWeld porque ele atendeu a todos os três requisitos. Para prender as peças, o primeiro passo seria desbastar as laterais a serem coladas. Usei uma lima para tornar as laterais lisas aspereza até que a peça ficasse áspera com pequenos sulcos e bolsos. Isso ajudaria a peça a se unir. Em seguida, misturamos o JB KwikWeld com partes iguais do endurecedor e do aço e espalhamos uniformemente em ambos os lados do filme e os pressionamos um contra o outro. Se você tiver uma pinça, deslize-a para dentro da pinça e limpe o excesso de cola. Demora cerca de 10 minutos para secar, mas ajuda a deixá-lo mais tempo do que isso.
  • 3) Projetando o mecanismo servo

O próximo desafio na fabricação do capacete do Homem de Ferro foi projetar o servomecanismo. Já que eu estava lutando para descobrir como anexar o servo ao capacete com as fotos na página do thingiverse , Decidi fazer o meu próprio. Primeiro, planejei onde o servo ficaria e medi uma linha reta do servo até o local de fixação. Então eu adivinhei o ângulo que o servo seria. O primeiro desenho estava um pouco errado com um ângulo muito acentuado. O próximo eu consertei e estava quase certo. Em seguida, aparafusei o braço no servo e no local de fixação para ver se cabia. Sim! Finalmente, projetei uma braçadeira para caber em torno do servo e imprimi-o. Montei tudo e fizemos o primeiro teste. Era instável e a placa frontal não subia de maneira uniforme e uniforme. Para resolver esse problema, dobrei um cabide de metal em uma forma retangular e coloquei nas ranhuras onde a parte impressa em 3D deveria ir. Em seguida, criei clipes para irem por baixo do cabide para evitar que caísse. Cortei fendas na parte superior do capacete com uma serra e, em seguida, coloquei tudo de volta no lugar. Nós tentamos pela segunda vez e funcionou muito bem!





4) Montagem e pintura


Finalmente, estava pronto para pintar. Desmontei tudo e fiz a primeira demão de branco. Assim que o primer foi feito, mascarei parte do queixo com fita adesiva e pintei o capacete de vermelho. Para a placa frontal, pintei tudo em ouro. Como o ouro seca rápido, foi feito logo, mas a tinta vermelha seca muito lentamente, então deixei secar. Depois que todas as partes secaram, tirei a fita do queixo e disfarcei tudo que estava perto da peça que ainda estava branco. Em seguida, usei papel alumínio e coloquei em volta do restante do capacete. Depois pintei a parte branca de ouro e esperei secar. Então, montei novamente o capacete novamente e colocar tudo junto. Aí fiz o teste final e funcionou!





5) O reator de arco:


Fazer o reator de arco foi o próximo. Primeiro medi o tamanho do anel de neo-pixel e projetei uma caixa para segurá-lo. Então, para a tampa, usei um design de alguém da thingiverse e modifiquei para atender às minhas necessidades. Você pode encontrar o modelo original aqui:http://www.thingiverse.com/thing:33021 O novo design tinha quase exatamente as mesmas características, embora algumas partes dele sejam um pouco desproporcionais. Imprimi a caixa e a parte superior e elas se encaixaram muito bem. O único problema era que o Neopixel era pequeno demais para o caso. Acontece que eu tinha feito meus cálculos errados, então voltei e mudei isso. Desta vez, se encaixou. Em seguida, acrescentei dois orifícios para os fios passarem e uma barra na parte superior para que o fio pudesse entrar, para que eu pudesse usá-lo em volta do pescoço. Finalmente, adicionei um difusor feito de filamento abs translúcido que se encaixa perfeitamente na caixa. A impressão finalmente estava pronta!





A Eletrônica:


Assim que a impressão 3D foi feita, sabíamos que tínhamos uma ótima plataforma para incorporar alguns eletrônicos. Para este projeto, gostaríamos de controlar 1 servo motor que está preso à placa frontal do capacete. Também gostaríamos de controlar um anel de Neopixel no Reator Arc. Usamos um Arduino Uno como base do sistema de controle para este projeto. No entanto, existem vários outros tipos de placas que também podem ser usados ​​e, por esse motivo, mantivemos o software e o hardware genéricos. Na verdade, usamos um Uno e um Arduino101 alternadamente neste projeto. Isso também permitirá uma expansão futura e o potencial de fazer um capacete conectado com o 101's onboard BLE!

O Homem de Ferro precisará acionar o servo motor do capacete e o anel de neopixel do reator de arco. Usamos o MPR121 ADAFRUIT 12-KEY CAPACITIVE TOUCH SENSOR BREAKOUT para fornecer uma interface baseada em toque. Esta placa breakout permite 12 entradas diferentes e se comunica com o Uno usando I2C. Os 12 contatos deixam muito espaço para expansão futura e o I2C faz parte dos pacotes IDE padrão para a família Arduino, dando-nos a capacidade de trocar placas sem reprogramação. Está bem documentado e os exemplos de software fornecidos facilitam a compreensão de como usá-lo em nosso esboço.

Nós conectamos fios com as pontas desencapadas para atuar em nossos interruptores de toque capacitivos. Embora não vejamos o "salto do interruptor" tradicional como o observado com interruptores mecânicos, um único toque irá gerar vários acertos como o loop () no esboço do arduino consulta a placa. Para evitar a “vibração” do servo em resposta a esses acessos, implementamos um mecanismo de atraso de software de 1/4 de segundo ao ler os toques. Depois de testar o Uno e o MPR121, adicionamos o servo motor e as fontes de alimentação.

Levando em consideração o uso de um servo motor sob carga e o desejo de “implantar em campo” este projeto na NYC Maker Faire 2016, uma das considerações mais importantes deste projeto é o fornecimento de energia. Disseram-nos que o design da fonte de alimentação é uma das áreas mais importantes, mas menos glamorosas, da engenharia elétrica. Nenhum de nós é engenheiro elétrico, então a solução que encontramos é uma combinação do que lemos que funcionaria, o que entendemos, o que temos disponível e o que temos que trabalhar. Portanto, não afirmamos que esta é a melhor solução e esperamos quaisquer sugestões de melhorias.

Por causa da carga colocada no servo, o potencial para emf traseiro e as recomendações de https://www.arduino.cc/en/Reference/Servo, optamos por alimentar o servo separadamente do Uno. A alimentação e o aterramento do servo motor foram conectados à alimentação e aterramento de uma bateria 4XAA. Muito importante, o aterramento do Uno, o servo e a bateria devem estar todos conectados para completar o circuito. Fazemos isso conectando o trilho de aterramento da placa Perma-Proto, a bateria 4XAA e um fio do pino de aterramento do Uno juntos, como pode ser visto no esquema do Fritzing abaixo.

Originalmente, também tínhamos o anel Neopixel sendo alimentado pela bateria 4XAA. Mudamos isso porque parecia haver alguma “vibração” do servo quando o anel de Neopixel estava sendo ligado e desligado. Isso, no entanto, pode ter sido devido às baterias fracas no momento em que estávamos testando. Infelizmente notamos isso na noite anterior à Maker Faire e já estávamos no Perma-Proto. Decidimos conectar diretamente o anel de neopixel ao Uno e trocar por baterias novas ao mesmo tempo. Isso resolveu o problema, mas não respondeu à pergunta. Talvez enquanto trabalhamos para melhorar o projeto no futuro, busquemos isso.

Todo o circuito foi prototipado em uma placa de ensaio e então simplesmente movido para uma placa Adafruit ¼ Perma-Proto. Com um gabinete seguro, esta é uma das maneiras mais simples de criar rapidamente um pacote implantável para seu projeto. Projetamos e imprimimos um invólucro personalizado em filamento HIPS azul, visto abaixo. Toda a unidade com baterias foi embalada em um estojo de câmera para o Maker Faire!





O software:


Existem atualmente 2 versões do esboço, IronMan02.ino e IronMan04.ino . Ambos funcionarão com a configuração do hardware conforme descrito neste artigo.

O primeiro, IronMan02.ino é a versão “get-it-done” que segue o espírito de “A perfeição é inimiga da conclusão”. Tínhamos um prazo a cumprir e essa versão, embora não fosse elegante, deu certo. Nesta versão você verá que criamos objetos para representar o Capacete e o Reator Arc. Isso foi feito em antecipação à implementação de multitarefas no arduino em versões futuras, portanto, não foi um trabalho totalmente urgente. Recomendamos a leitura da série de três artigos sobre multitarefa arduino, de Bill Earl, da Adafruit. Nosso código é baseado, especialmente IronMan04.ino, baseia-se nos exemplos, ideias e recomendações deste conjunto de 3 tutoriais. Esses artigos o levarão além do básico da programação do Arduino e permitirão que seus projetos realmente decolem!

Um problema que enfrentamos foi que o painel frontal abriu e fechou muito rapidamente. Resolvemos isso usando o delay () função para desacelerar e suavizar o movimento da placa facial. Sim, se o Dr. Reallyevilbadguy está prestes a atirar no rosto do Homem de Ferro com seu super laser mortal, você quer que o capacete feche rápido, mas para fins de demonstração, o movimento mais lento e suave parece muito melhor.
  // move o capacete para cima, bloqueio de tempo de 1/4 de segundo para evitar vibração / salto na tampa de toque. alternar void up () {if ((millis () - lastSwitched)> 250) {lastSwitched =millis (); if (! helmetUp int currPos =0; while (currPos  

O problema de usar o delay () função é que o microcontrolador não pode fazer mais nada durante o atraso () . Resolvemos esse problema usando a orientação dos tutoriais adafruit acima na segunda versão, IronMan04.ino .

A segunda versão, IronMan04.ino , inclui 2 elementos principais que queríamos implementar, mas ficou sem tempo tentando realizar antes da Maker Faire:
  • Um botão / controle da placa frontal de toque
  • Multitarefa

Quando conversamos com as pessoas sobre nosso projeto inicial, a reação de todos foi:você deve ter apenas um botão / sensor de toque para mover o capacete para cima e para baixo. Não poderíamos ter concordado mais e decidimos implementar isso quando tínhamos tempo. Nossa solução envolve o uso de várias variáveis ​​de estado:
  • flip - para manter o estado da placa frontal
  • lançando - para indicar se a placa frontal está em transição de posição
  • direcionalidade - para indicar mover a placa frontal para cima ou para baixo

Em setup () , sempre iniciamos o capacete na configuração aberta ou para cima. Isso não é absolutamente essencial. Independentemente do estado inicial, alternar o interruptor da placa frontal o levará ao estado correto na segunda vez. No entanto, escrevemos o código para levar em conta que o estado inicial da placa frontal está ativo e, portanto, não há perda de pressionamento de botão no início. É este o melhor caminho? Não temos certeza, mas como algumas das maiores mentes científicas passaram muitos anos trabalhando na teoria de controle, acho que demos certo com este projeto!

Como pesquisamos os toques do MPR121 no loop, um toque percebido pelo usuário gerará muitos sinais de toque. Isso é semelhante ao salto de switch tradicional e lidamos com isso por meio de software. Queremos uma resposta rápida ao sensor de toque e queremos implementar multitarefa, então, em vez de bloquear vários toques no switch / case do loop () função, colocamos um bloco de tempo usando o millis () função no Capacete e ArcReactor objetos, como visto neste fragmento de código do Capacete objeto:
  void flipFaceplate () {// bloco de tempo para proteção contra vibração / salto if ((millis () - lastFlipped)> 500) {. . .  

Novamente, não usando o delay () função preservamos multitarefa em nosso projeto. Pode ser mais sensato usar uma variável para o intervalo de atraso de 500 milissegundos para permitir alterações e testes, mas acertamos com nossa segunda estimativa de 500 e fomos um pouco desleixados aqui.

Para varrer suavemente o servo através de seu ângulo de rotação, precisamos incrementar a rotação do servo lentamente. Colocando um bloco de tempo na etapa angular do servo motor, verificando o tempo atual com o millis () função:
  void Update () {if (invertendo &(millis () - lastMoved)> =15) {lastMoved =millis (); if (direcionalidade ==UP) {currentPos =currentPos + 3; } else {currentPos =currentPos - 3; } Serial.print ("posição atual:"); Serial.print (currentPos); capaceteServo.write (currentPos); } if ((currentPos> =upAngle) || (currentPos <=downAngle)) {flipping =false; }}};  

Mais uma vez, implementamos isso sem o atraso () função. Se você construir este projeto e observar com atenção, notará que, com o IronMan04.ino em execução no Uno, você pode virar o painel frontal e ligar e desligar o Neopixel ao mesmo tempo. Com o IronMan02.ino, o delay () faz com que o seja bloqueado até que o servo pare de se mover. Obrigado Bill Earl!

Esta última linha da função de atualização verifica para garantir que não excedemos a posição superior ou inferior do painel frontal, como o loop () chamadas de função Update () ele verificará isso continuamente após o último movimento do capacete e, em seguida, definirá a inversão variável para falso para indicar que a placa frontal já se moveu para cima ou para baixo. No próximo ciclo, com folheando false, toda a função é essencialmente ignorada.
  if ((currentPos> =upAngle) || (currentPos <=downAngle)) {flipping =false; }  





Direções futuras:


Há tantas coisas que poderíamos fazer com este projeto que não sabemos exatamente por onde começar! Olhos brilhantes são um. Talvez adicionando conectividade BLE com o arduino101? Uma interface de voz? Jarvis definitivamente está chamando por este!

Código

Projeto Capacete do Homem de Ferro e Reator Arc!
https://github.com/lachendeKatze/Iron-Man

Esquemas


Processo de manufatura

  1. Tampa do poço
  2. Ferro para roupas
  3. Fogão de ferro fundido
  4. Capacete de futebol
  5. Ferro
  6. Bateria
  7. UnifiedWater v1
  8. Homem de Ferro
  9. Arduino Power
  10. Entendendo o ferro forjado