Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Un registro de proyecto para FirePick Delta, la MicroFactory de código abierto

Topología de software y teoría de funcionamiento

OpenPnP es el cerebro de alto nivel de la máquina, que hace cosas aparentemente simples como "recoger esa parte" y "ponerla allí". Muchas bibliotecas y subsistemas le brindan información, y pasa información a los diversos motores y actuadores a través de otras bibliotecas y módulos de software. Fue creado por Jason von Nieda, mucho antes de que se iniciara FirePick Delta. Técnicamente, todavía está en estado alfa, pero el software subyacente es sólido y se ha utilizado en varias máquinas de producción. Aunque estaba bien escrito y era extremadamente modular y extensible, la documentación no era excelente ... Hasta ahora. Con el espíritu del código abierto y la divulgación completa, hemos decidido documentar OpenPnP nosotros mismos. Con suerte, conseguiremos que todo esto retroceda hasta el proyecto oficial.

Los archivos Java que se muestran arriba (íconos "JAR") se pueden reemplazar o usar como una clase base para crear su propia configuración de máquina. Cada uno de los archivos Java anteriores (con la excepción de los modelos de configuración) se puede especificar en el archivo "machine.xml". Si no está familiarizado con Java, esto puede parecer extraño, pero es realmente genial. Significa que puede especificar la ruta a un grupo de archivos .java, y eso determinará qué clases se instancian y usan, cambiando así el comportamiento. Mantiene el código realmente limpio y modular, lo cual es importante para algo tan complicado como una máquina de recoger y colocar. OpenPnP viene con un conjunto de archivos de referencia para una implementación básica de PnP con control de movimiento TinyG, un solo cabezal, una sola boquilla y actuador, alimentación de cinta de arrastre y una cámara que mira hacia abajo. Modificamos muchas cosas para que hicieran todas las locuras que necesitábamos.

Controlador de movimiento: Estamos usando una placa controladora de movimiento personalizada que se inspiró en RepRap RAMPS 1.4 y placas Melzi, que ejecuta firmware Marlin modificado. Escribí un controlador OpenPnP Marlin que envía el código g correcto al controlador de movimiento. Esto funciona muy bien en este momento, pero estamos descubriendo que hacer los cálculos delta y la corrección de la sonda Z multipunto en un arduino de 8 bits con memoria limitada y sin punto flotante parece un poco tonto cuando tenemos toda esa potencia de cálculo encendida. el PI. Además, queremos usar la cámara y una aplicación de calibración XY personalizada para mejorar la precisión, y es mucho más fácil y rápido hacer estos cálculos en la Pi. Sin embargo, este código no es parte de OpenPnP, ya que planeamos ofrecer otras aplicaciones en el futuro. Esto significa que OpenPnP no puede hablar directamente con el controlador de movimiento, debe pasar por una capa de software que realiza los cálculos delta y las compensaciones de corrección XYZ. Empaquetamos todo ese código en FireFUSE (nuestro sistema de archivos en el mapeador del espacio de usuario), lo que nos permite hacer muchas cosas interesantes que veremos más adelante. Esto es bastante transparente en su mayor parte; en lugar de escribir OpenPnP en "/ dev / ttys0", escribe en "/dev/firefuse/sync/cnc/marlin/gcode.fire". FireFUSE convertirá las coordenadas cartesianas en coordenadas delta, calculará la compensación del error utilizando puntos interpolados del proceso de autocalibración de la máquina y enviará este nuevo código g al controlador Marlin. Y ese código será portátil y se puede usar con aplicaciones de impresión 3D, aplicaciones de dispensación de pasta de soldadura, etc. Lo único que se necesita para que OpenPnP hable con FireFUSE es un controlador FireFUSE, que actualmente se está escribiendo.

Controlador de cámara y marco de visión :La compatibilidad con la cámara de OpenPnP era un poco delicada y no admitía la maravillosa cámara Raspberry Pi de 5 megapíxeles. Su visión por computadora era un fino calce sobre el código OpenCV, que había implementado una búsqueda de agujeros realmente básica, pero no mucho más. Karl Lew, nuestro tipo de software, vio esto como un gran problema y ha pasado el último año o dos escribiendo una increíble biblioteca de visión de código abierto llamada FireSight. Escribió docenas de asombrosas rutinas de visión que se pueden agrupar en una tubería, de una manera de muy alto nivel que no requiere conocimientos de matemáticas de nivel superior o de C / C ++ de nivel inferior. Para la cámara, usamos el módulo de cámara RasPi como se mencionó, con una versión personalizada de "raspistill" llamada FirePiCam. Tomamos instantáneas y las guardamos en el sistema de archivos FUSE, lo que evita que gastemos los bits de la memoria FLASH de la tarjeta SD. Para que OpenPnP vea las imágenes y realice operaciones de visión por computadora, Karl escribió una biblioteca java llamada "firerest-client" que hace que todo funcione.

GUI :La GUI de OpenPnP Java es realmente torpe y poco intuitiva, y tener un monitor dedicado conectado a la Raspberry Pi parece un poco loco en 2014, también conocido como Dawn of the Internet of Things. Nos gustaría que la interfaz de usuario fuera una aplicación web personalizada que se pueda ver desde cualquier navegador HTML5. Esta funcionalidad no es compatible directamente a través de OpenPnP, pero se puede hacer con un poco de trabajo. Afortunadamente, Jason escribió OpenPnP donde puede llamar a los constructores de las funciones de configuración de la máquina y del archivo, lo que evita la GUI. Podemos usar un puente node-java para llamar a funciones java desde javascript, y viceversa, sin mucho trabajo, gracias a un código que encontramos en github. Todo lo que nos queda es escribir una aplicación web inteligente usando node.js, Express, AngularJS y Twitter Bootstrap. Ahora estamos en las etapas iniciales de la escritura de esa aplicación. Mientras tanto, podemos ejecutar OpenPNP normalmente y usar la GUI estándar, que nos permite depurar otros bits de la máquina.

Topología de hardware y teoría de funcionamiento

Usamos una Raspberry Pi Model B + estándar. El B + es el RPi que siempre quisimos; movieron los conectores a un lugar más lógico y agregaron un conjunto real de orificios de montaje. Todavía tiene el lento Broadcom 2835, pero por $ 30, ¿qué esperas? A menudo recibimos la pregunta:"¿Por qué usaste un BeagleBone Black?" o una docena de otras computadoras de placa única. La respuesta es bastante sencilla. Estamos apuntando a una máquina de $ 300, y eso significa que tenemos que elegir una computadora de placa única BARATO. Raspberry Pi es la más barata, por lo tanto gana. QED. 🙂 En realidad, nos gusta mucho el BeagleBone black y otras plataformas como Allwinner A4, Intel Galileo e incluso configuraciones más tradicionales como Mini ITX. Todo nuestro software y hardware debería funcionar en esas plataformas. Pero son caras y Raspberry Pi hace el trabajo.

De hecho, nos ha sorprendido el rendimiento con el Pi hasta ahora. No se ilumina rápidamente, pero tiene visión por computadora y ofrece páginas web sin problemas.

Placa ERPIHAT01 HAT

Poco después del lanzamiento de la Raspberry Pi Model B +, la Fundación RPi lanzó una especificación "HAT", que es muy similar a un Arduino Shield, o una capa BeagleBone. Es una placa de entrepiso con forma personalizada que se puede personalizar para agregar cosas elegantes a una Raspberry Pi sin todo tipo de cables y otras tonterías. Había módulos de complementos antes de los HAT, pero no estaban estandarizados. Estamos contentos con la nueva especificación HAT y estamos orgullosos de presentar nuestra FirePick Delta HAT a continuación:

Aquí hay una lista de cosas que hace nuestro FirePick Delta HAT:

Para obtener más detalles:un registro de proyecto para FirePick Delta, la MicroFactory de código abierto


Proceso de manufactura

  1. Introducción a la terminología de código abierto
  2. El código abierto y el IoT:innovación mediante la colaboración
  3. DHT Tiny Breakout para Raspberry Pi
  4. Los mejores accesorios para tu Raspberry Pi
  5. VISTA:Para ciegos
  6. Smart Pen:Proyecto final para ECE5725
  7. 3 consejos para gestionar la logística de su proyecto de construcción
  8. La necesidad del código abierto en el perímetro (eBook)
  9. Cómo elegir la grúa adecuada para su proyecto
  10. Gafas inteligentes, ¿una nueva fuente de productividad para el técnico?
  11. Módulo RTC:la guía absoluta para un proyecto fácil