En 2012, comenzó mi actividad en el campo de la electrónica, mientras que Internet me presentó a muchas personas buenas, algunas de las cuales aún nos comunicamos. Por lo general, compartimos experiencias, éxitos y fracasos, discutimos nuevos productos electrónicos, varias ideas y las novedades que puede desarrollar o estudiar.
Desde entonces, nació una tradición al comienzo de cada año para elaborar una hoja TODO en la que se escribieran las ideas, incluidas las locas. En el proceso, la lista se reabasteció y, al final del año, se resumieron los resultados, lo que sucedió y lo que no.
En las vacaciones de Año Nuevo, repasó un viejo tornillo y tropezó accidentalmente con esos mismos registros. Resultó que de una forma u otra ya se ha implementado. Todos menos un instalador SMD.
Discutimos la idea de su creación más de una vez, pero el mecánico me asustó, ¿y si no funciona? Por lo tanto, aún era más como un sueño imposible.
Bajo la influencia de la nostalgia, subió a mirar videos, suspiró, dándose cuenta de que el sueño seguía siendo un sueño. Luego, por pura curiosidad, miré lo que ofrece el mundo del código abierto y me encontré con Openpnp. No diré que no había oído hablar de eso antes, pero de alguna manera pocos que repitieron la construcción, fue muy alarmante. Esta vez su sitio fue estudiado con más detalle, entre otras cosas, había una lista de bombas, firmware para el controlador y un programa para la PC. Luego, apagando el cerebro por un segundo, ordené la primera parte de la lista y decidí que era demasiado tarde para retirarse.
Espero que de esta introducción haya quedado claro que el autor no había ensamblado previamente máquinas de recoger y colocar. No tenía ningún propósito y hacer un producto comercial. Por lo tanto, no excluyo que más adelante en el texto habrá errores en los términos y algunas conclusiones pueden ser incorrectas. Simplemente estaba interesado en repetir el dispositivo, ordenar sus principios y probar suerte. Me gustaría compartir esto con el lector.
Lo primero que es engañoso es de qué se trata OpenPnP. Incluso hoy es difícil responder esta pregunta. El hardware puede ser muy diferente, por ejemplo, mi compilación se basa en hardware de OpenBuilds y el controlador Smoothieboard, ambas compañías no tienen nada que ver con OpenPnP. Puede tirar fácilmente cualquier componente de la pieza de hierro y cambiarlo por otro. Los principios siguen siendo comunes: hay un programa del mismo nombre para la PC en el que carga pick and place desde su trazador, luego el programa emite comandos al controlador, vaya allí, enciéndalo.
La aparición del programa.

Como se mencionó anteriormente, el marco principal está tomado de OpenBuilds, los rieles de ranura en V se usan como guías. Para mí fueron una revelación, en pocas palabras, es difícil explicar todas sus ventajas, pero es muy simple hacer cualquier diseño de ellas.

Si necesita unir algo al riel, luego se insertan placas roscadas en el lateral, su nombre oficial es tuerca en T.

Son individuales y dobles. Parece un plato ordinario con un hilo, incluso al principio sugerí encontrar algo similar en las tiendas locales, ya que no son baratas. Sin embargo, no se deje engañar por su aparente simplicidad. Su rosca sobresale por encima de la placa y esto resultó ser muy importante al apretar el tornillo. El soporte es muy sólido.
¿Cómo es el movimiento a lo largo de los ejes? La idea básica es que un carro simple se inserta en los huecos laterales, a la plataforma superior de la cual ya puede colocar cualquier cosa.

El carro en sí es simple: es una placa con cuatro rodillos. La posición de los rodillos está regulada por tuercas: excéntricas, ayudan a ajustar la presión de las ruedas al riel. Depende de qué tan apretada se moverá.
Se usa una placa final en cada extremo del riel.

Hay agujeros en el lado de la placa en la que se monta un motor Nema17. Se coloca una rueda dentada en el motor, que tira de la correa, la correa está unida al carro con dos extremos. Por lo tanto, cuando el motor gira en una dirección, el carro se desplaza hacia adelante, mientras que en la otra, hacia atrás.

En el segundo extremo del riel hay simplemente un eje a lo largo del cual se desliza la correa.

Ahora las sutilezas que han surgido. Placa final No sé qué tan difícil es en el original, el hecho es que los precios de los edificios abiertos son en su mayor parte adecuados, pero no un precio adecuado para la entrega. Por lo tanto, casi todo se compró con ali. Incluyendo este detalle.
Las placas se doblan muy fácilmente y la "oreja" inferior se esfuerza por romperse. En el ensamblaje original, el marco está fijado para ello, tuve que usar los agujeros laterales. Pero de lo contrario no jugó un papel, se mantiene muerto en el carril.
Sobre los rieles. Esta es una de las pocas piezas que compré en Rusia, porque existe la opinión de que están siendo expulsadas de China dobladas. No había ningún deseo de comprobar si era así, pero esa compra era para comprarlos a los locales. Según los anuncios, están en todas partes, de hecho o no están disponibles, o nadie quiere contactarlo por 3m. Muy a menudo, bajo la apariencia de V-slot, ofrecen T-slot, que son muy similares y más asequibles. Existe la opinión de que son reemplazables en este caso, pero no se atrevió a verificar. Como resultado, solo estaban disponibles en un solo lugar, llegó a pagar por la entrega más que el precio de los bastidores.
Tornillos En el original, todos los sujetadores con cabeza hexagonal. Al principio no estaba claro por qué. En primer lugar, es difícil obtener la longitud correcta y, en segundo lugar, cuestan un orden de magnitud más caro. Por lo tanto, tomó parte del sujetador con un destornillador Phillips y, sinceramente, se arrepintió más de una vez. El hexágono es mucho más fácil de desenroscar a veces, y cuando todavía no comprende cómo funciona, tuvo que desenroscarlo 10 veces.
El tamaño del campo. La longitud de los listones originales es de 400x400. Creo que muchas personas, como yo, rara vez ensamblan tableros de gran tamaño. Por lo tanto, el tamaño me pareció enorme. En la práctica, este no fue el caso. Aunque es una parte pequeña, pero los extremos se están comiendo, otra parte va a las placas de la esquina, otra parte a la cabeza, etc. Como resultado, el campo real es un poco más de 250x250, y esto no es tanto.
Muelles para tensar la correa. Al principio, los ignoré. Parecía una cosa inútil. En la práctica, en las primeras ejecuciones en el eje Y, siempre hubo un ligero error. Al final, tuve que descubrir qué resorte con una marca extraña de 7/32 ".

De lo contrario, no hubo ninguna pregunta con la base, la mecánica será muy simple. El proceso completo de ensamblaje de un riel se muestra bien en el video.
Quizás tenga la misma pregunta que la mía, ¿por qué no tomar una varilla roscada como guía? ¿Por qué son estos bastidores, cinturones, engranajes? En uno de los foros se llegó a la opinión de que un eje por su propio peso tendrá una ligera curvatura en el centro, lo que creará un error. Y hacer un eje exacto será mucho más costoso.
La siguiente pregunta surge de inmediato, ¿cómo funciona exactamente todo este diseño? Honestamente, no sé cómo evaluar. Subjetivamente, con mucha precisión, superó las expectativas. Si coloca una regla de hierro y la recorre, controlando a lo largo de la cámara, entonces de milímetro a milímetro. No noté una acumulación obvia de error.
La siguiente parte de la historia es el controlador. En el OpenPnP original, hay un Smoothieboard orientado a impresoras 3D, sin embargo, esto no impide que se ajusten a una máquina pnp. Si cava profundo, entonces a bordo tiene un microcontrolador LPC1769 y un par de controladores de motor paso a paso. Deje que algunos lectores me condenen, pero el precio de 150 euros, excluyendo la entrega, parecía inadecuado para un tablero de este nivel. Lo más interesante es que la placa está posicionada como código abierto, pero no pude encontrar la versión sensata de pcb o gerberas.
Como resultado, el problema se resolvió por sí solo, resultó que los chinos tienen una junta similar.

Debemos hacer inmediatamente una reserva de que los tableros son muy similares, pero no idénticos. Las piedras son las mismas y el diseño GPIO es similar, por lo que el software es adecuado. Sin embargo, hay pequeñas diferencias. Todos los ajustes se almacenan en un archivo de texto en la tarjeta de memoria. Hay muchas configuraciones y este es un tema para un artículo separado. Hay Ethernet a bordo, si lo habilita, puede montar los ejes a través de un navegador web.
De lo contrario, todo el control de la placa se lleva a cabo a través de USB-UART, en una PC se define como un puerto COM virtual ordinario, es decir. el programa arroja códigos G en Wart, y el controlador solo los ejecuta. En total, la máquina tiene 3 ejes principales: X: la viga superior, cuando la cabeza va de izquierda a derecha, solo un motor tira. Y: baje 2 carriles, suba y baje dos motores al mismo tiempo. Z - bajando la boquilla hacia arriba, hacia abajo. En este caso, la máquina utiliza un sistema de coordenadas diestro, es decir esquina inferior derecha: la casa es 0, 0. La casa está determinada por los interruptores de límite, de hecho, el GPIO habitual. También se usa un eje C adicional, que es responsable de la rotación del componente.
Sobre los problemas del controlador, no hay nada especial que decir, pero a nivel mundial todas las llagas inherentes al puerto COM son obvias: a veces el puerto se congela hasta que se reinicia la placa. Hubo un error que el controlador a veces iba en la dirección incorrecta, pero fue tratado con firmware nuevo.
Ahora lo más importante es la cabeza. Aquí con ella estaba la mayoría de las incomprensiones. Vale la pena explicar cómo el componente generalmente se captura: por vacío. Para esto, se usa una bomba de 12V, desde la cual el tubo va a la válvula. En el original, la bomba solo funciona cuando se acerca al componente, no tenía un poste grande en el tablero, como en el tablero original, así que temporalmente dejé que la bomba vibrara constantemente.
La válvula está en condiciones normales cerrada, es decir el aire no es aspirado Cuando la cabeza se acerca al componente, se emite una señal, la válvula se abre y la bomba aspira aire a través del tubo. El tubo se aferra al motor con un eje hueco, en el otro lado del motor se conecta una boquilla a través de un adaptador.
Lo que tuvo que enfrentar. El tubo debe ser de poliuretano, ya que es lo suficientemente rígido como para no apretarse. Los motores Nema8 son exactamente iguales en la imagen, pero el vendedor no envió el motor con un eje liso, lo que hizo imposible fijar el adaptador con la boquilla. Tuve que pedir unos nuevos.
La boquilla en sí en el bom original era así

Los experimentos mostraron que es imposible usarlo, como se ve en la foto, es un tubo. Debido a esto, hay muchos problemas con la calibración, ya que la boquilla todavía descansa firmemente sobre el componente. Mientras tanto, en los videos por los que estaba orando, había otra boquilla con un resorte, que al final tuvo que ser ordenada.

La boquilla se baja debido al motor Z, es decir. él se da vuelta y el balancín presiona la parte que sostiene el motor C (lo mismo con un eje hueco).

Eso, a su vez, se mueve a lo largo de una guía lineal y está conectado por un resorte, es decir cuando el motor no presiona el eje Z, entonces, debido al resorte, la cabeza vuelve a su estado original. El eje C, el mismo motor con un eje hueco :) está diseñado para desplegar el componente.
Ahora lo más importante es ¿cómo funciona todo este diseño en ensamblaje? El programa se ejecuta en la PC. Recoger y colocar de su marcador se carga en él. Selecciona los componentes necesarios y especifica el punto fiducial, es decir puntos de ajuste en el tablero. Parecen círculos de cobre en el tablero.

Vas a la "casa", es decir en la esquina inferior derecha a los interruptores de límite, para que la máquina entienda sus coordenadas. A continuación, debe indicar dónde se encuentra el tablero. Para hacer esto, debe conducir sus manos hacia la esquina inferior izquierda del tablero, muy aproximadamente. Comenzamos la búsqueda del punto fiducial, este procedimiento es necesario para comprender el origen exacto y el ángulo del tablero. La búsqueda se realiza mediante la cámara, que se encuentra en la cabeza: alta visión. El reconocimiento de puntos se realiza usando opencv.
En total, se conoce la posición del tablero, debido a la vista superior y los componentes, debido a las coordenadas relativas descargadas de la selección y el lugar. Solo queda comenzar el proceso de colocación.
Aquí llega el momento en que hasta ahora me he detenido. Al final resultó que, comenzar el movimiento a lo largo de los ejes y bajar la boquilla no es lo más importante en este asunto.

El problema era el suministro de componentes. La opción más simple supone que la cinta con los componentes se pegará en algún lugar cerca del tablero. Al igual que con las coordenadas de la placa, para cada componente debe indicar dónde está la cinta. A decir verdad, el proceso resulta bastante tedioso, por lo que debe hacer el suministro automático de componentes de inmediato, pero esta es una historia completamente diferente.
Entonces, para dibujar una línea a todo lo anterior. La experiencia fue interesante. Y sí, valió la pena, incluso si esta no es una solución completa. La mecánica no da tanto miedo como está pintada. El mundo de código abierto, aunque todavía no es tan acogedor, debe agradecerse a todos los que trabajan desinteresadamente por el bien de la gente. Realmente espero que haya algo más que contar sobre este tema en el futuro.
Primeras pruebas con una boquilla vieja
Pruebas con una nueva boquilla.