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

Um log de projeto para FirePick Delta, a MicroFactory de código aberto

Topologia de software e teoria de operação


OpenPnP é o cérebro de alto nível da máquina, que faz coisas aparentemente simples como “pegar aquela parte” e “colocá-la ali”. Muitas bibliotecas e subsistemas alimentam informações para ele, e ele passa informações para os vários motores e atuadores por meio de outras bibliotecas e módulos de software. Foi criado por Jason von Nieda, muito antes do FirePick Delta ser iniciado. Tecnicamente, ainda está em estado alfa, mas o software subjacente é sólido e foi usado em várias máquinas de produção. Embora fosse bem escrito e extremamente modular e extensível, a documentação não era ótima ... Até agora. No espírito de código aberto e divulgação completa, decidimos documentar o OpenPnP nós mesmos. Esperamos que tudo isso seja enviado de volta ao projeto oficial.



Os arquivos Java mostrados acima (ícones ‘JAR’) podem ser substituídos ou usados ​​como uma classe base para criar sua própria configuração de máquina. Cada um dos arquivos Java acima (com exceção do (s) modelo (s) de configuração) pode ser especificado no arquivo ‘machine.xml’. Se você não está familiarizado com Java, pode parecer estranho, mas é muito legal. Isso significa que você pode especificar o caminho para vários arquivos .java, e isso determinará quais classes serão instanciadas e usadas, alterando assim o comportamento. Ele mantém o código realmente limpo e modular, o que é importante para algo tão complicado como uma máquina pick and place. OpenPnP vem com um conjunto de arquivos de referência para uma implementação PnP vanilla com controle de movimento TinyG, uma única cabeça, um único bico e atuador, alimentação de fita de arrasto e uma câmera voltada para baixo. Modificamos muitas coisas para fazer com que ele faça todas as coisas malucas de que precisávamos.

Motorista de movimento: Estamos usando uma placa controladora de movimento personalizada que foi inspirada nas placas RepRap RAMPS 1.4 e Melzi, que executa o firmware Marlin modificado. Eu escrevi um driver OpenPnP Marlin que envia o código g correto para o controlador de movimento. Isso funciona muito bem no momento, mas estamos descobrindo que fazer os cálculos delta e correção de ponta de prova Z multiponto em um arduino de 8 bits com memória limitada e nenhum ponto flutuante parece um pouco estúpido quando temos todo esse poder de computação ligado o PI. Além disso, queremos usar a câmera e um aplicativo de calibração XY personalizado para melhorar a precisão e é muito mais fácil e rápido fazer esses cálculos no Pi. No entanto, este código não faz parte do OpenPnP, pois planejamos oferecer outros aplicativos no futuro. Isso significa que o OpenPnP não pode falar diretamente com o controlador de movimento, ele tem que passar por uma camada de software que faz os cálculos delta e compensações de correção XYZ. Envolvemos todo esse código no FireFUSE (nosso sistema de arquivos no mapeador de espaço do usuário), o que nos permite fazer um monte de coisas legais que veremos mais tarde. Isso é bastante transparente na maior parte; em vez de OpenPnP escrever em ‘/ dev / ttys0’, você escreve em ‘/dev/firefuse/sync/cnc/marlin/gcode.fire’. O FireFUSE transformará as coordenadas cartesianas em coordenadas delta, calculará o desvio de erro usando pontos interpolados do processo de calibração automática da máquina e enviará este novo código-g para o driver Marlin. E esse código será portátil e pode ser usado com aplicativos de impressão 3D, aplicativos de aplicação de pasta de solda, etc. A única coisa necessária para fazer o OpenPnP falar com o FireFUSE é um driver FireFUSE, que está sendo escrito no momento.

Driver de câmera e estrutura de visão :O suporte da câmera OpenPnP era um pouco meticuloso e não suportava a maravilhosa câmera Raspberry Pi de 5 megapixels. A visão computacional deles era um fino calço no topo do código OpenCV, que implementou algumas descobertas realmente básicas de buracos, mas não muito mais. Karl Lew, nosso cara do software, viu isso como um grande problema e passou os últimos um ou dois anos escrevendo uma incrível biblioteca de visão de código aberto chamada FireSight. Ele escreveu dezenas de rotinas de visão incríveis que podem ser agrupadas em um pipeline, de uma maneira de alto nível que não requer matemática de nível superior ou conhecimento de C / C ++ de nível inferior. Para a câmera, estamos usando o módulo de câmera RasPi conforme mencionado, com uma versão personalizada do ‘raspistill’ chamada FirePiCam. Tiramos fotos instantâneas e as salvamos no sistema de arquivos FUSE, o que nos impede de usar os bits da memória FLASH do cartão SD. A fim de fazer o OpenPnP ver as imagens e realizar operações de visão computacional, Karl escreveu uma biblioteca java chamada ‘firerest-client’ que faz tudo funcionar.

GUI :O OpenPnP Java GUI é realmente desajeitado e não intuitivo, e ter um monitor dedicado conectado ao Raspberry Pi parece um pouco louco em 2014, também conhecido como Dawn of the Internet of Things. Gostaríamos que a interface do usuário fosse um aplicativo da web personalizado que pudesse ser visualizado em qualquer navegador HTML5. Esta funcionalidade não é diretamente suportada via OpenPnP, mas pode ser feita com um pouco de trabalho. Felizmente, Jason escreveu OpenPnP para onde você pode chamar o (s) construtor (es) para as funções de configuração da máquina e do arquivo, que ignoram a GUI. Podemos usar uma ponte node-java para chamar funções java de javascript, e vice-versa, sem muito trabalho, graças a alguns códigos que encontramos no github. Só falta escrevermos um aplicativo da web inteligente usando node.js, Express, AngularJS e Twitter Bootstrap. Estamos nos estágios iniciais de escrever esse aplicativo agora. Nesse ínterim, podemos executar o OpenPNP normalmente e usar a GUI padrão, que nos permite depurar outros bits da máquina.

Topologia de hardware e teoria de operação


Usamos um Raspberry Pi Model B + padrão. OB + é o RPi que sempre quisemos; eles moveram os conectores para um local mais lógico e adicionaram um conjunto real de orifícios de montagem. Ainda tem o lento Broadcom 2835, mas por US $ 30 o que você espera. Muitas vezes nos perguntamos:"Por que você usou um BeagleBone Black?" ou uma dúzia de outros computadores de placa única. A resposta é bastante direta. Estamos buscando uma máquina de $ 300, e isso significa que precisamos escolher um computador de placa única BARATO. Raspberry Pi é o mais barato, portanto vence. QED. 🙂 Na verdade, gostamos muito do BeagleBone preto e de outras plataformas como o Allwinner A4, Intel Galileo e configurações ainda mais tradicionais como Mini ITX. Todo o nosso software e hardware deve funcionar nessas plataformas. Mas eles são caros e o Raspberry Pi dá conta do recado.

Na verdade, ficamos surpresos com o desempenho com o Pi até agora. Não é muito rápido, mas oferece visão computacional e exibe páginas da web sem problemas.


Placa ERPIHAT01 HAT


Pouco depois do lançamento do Raspberry Pi Model B +, a RPi Foundation lançou uma especificação “HAT”, que é muito semelhante a um Arduino Shield ou capa BeagleBone. É uma placa de mezanino com formato personalizado que pode ser personalizada para adicionar coisas legais a um Raspberry Pi sem todos os tipos de cabos e outras bobagens. Havia módulos de plug-in antes dos HATs, mas eles não eram padronizados. Estamos felizes com a nova especificação do HAT e orgulhosamente apresentando nosso FirePick Delta HAT abaixo:

Aqui está uma lista de coisas que nosso FirePick Delta HAT faz:



Para mais detalhes:Um log de projeto para FirePick Delta, a MicroFactory de código aberto

Processo de manufatura

  1. Introdução à terminologia de código aberto
  2. Código aberto e a IoT:inovação por meio da colaboração
  3. DHT Tiny Breakout para Raspberry Pi
  4. Os melhores acessórios para o seu Raspberry Pi
  5. VISÃO:Para cegos
  6. Smart Pen:Projeto Final para ECE5725
  7. 3 dicas para gerenciar a logística de seu projeto de construção
  8. A necessidade de código aberto na borda (eBook)
  9. Como escolher o guindaste certo para seu projeto
  10. Óculos inteligentes, uma nova fonte de produtividade para o técnico?