Esta página describe la extrusora de filamentos alimentada por CC diseñada por MOST.

Tenga en cuenta que la calibración (descrita a continuación) requiere un sistema GNU/Linux y un conocimiento avanzado razonable de hardware y software. En particular, necesita saber cómo editar un programa, cómo compilar un programa para un microcontrolador AVR independiente y cómo cargar ese programa en el microcontrolador. Esta página explica brevemente cómo hacer esas cosas, pero las explicaciones no están dirigidas a principiantes.

Asamblea del tablero de control

Lista de materiales

  • Placa de circuito impreso del controlador (1)
  • ATMega 328p, 32-TQFP (1-cpu1)
  • Resistencia smd de 100k, 0805 (3 - R1, R2, R3)
  • Resistencia smd de 4,7k, 1206 (1 - R4)
  • Cristal de 16MHz, HC49/SD (1 - Y1)
  • MOSFET, IRLR2905PBFCT, TO-252, 2 pines (3 - Q1, Q2, Q3)
  • Condensador smd de 22 pF, 0805 (2 - C1, C2)
  • Tapa electrolítica smd 10mF, 3x5,3 (1 - C3)
  • Diodo smd de 5V 1A, DO-214AC (3 - D1, D2, D3)
  • Terminales de tornillo de dos postes, paso de 0,2" (3 - P8, P10, P13)
  • Fuente de alimentación CC-CC, 7-28 V (1, PSU1)
  • Cabezal de pasador de paso de 2x3 0,1" (2 - P14, P15)
  • Cabezal de pasador cubierto de 2x3 con paso de 0,1" (1 - P12)
  • 1x2 cabezales de pasador de paso de 0,1" (6)
  • 1x3 cabezales de pasador de paso de 0,1" (2)
  • 1x4 cabezales de pasador de paso de 0,1" (3)
  • OPCIONAL 1 pin para acceso a los pines 11, 19 y 26 de ATMega

Asamblea

El tablero de control requiere una soldadura cuidadosa. Lo ideal sería utilizar un horno de reflujo (se puede utilizar un horno tostador si se tiene el cuidado adecuado). Dado que muchos de los componentes se montan en superficie, la soldadura manual es un desafío. Lo siguiente supone que la soldadura se refluirá.

  1. Configure el voltaje de salida de la fuente de alimentación DC-DC en 5V. Esto DEBE hacerse antes de soldar la fuente de alimentación CC-CC al tablero de control. Intentar configurar el voltaje después de soldarlo en su lugar destruirá el ATMega AVR.
  2. Frente del tablero de controlParte trasera del tablero de controlTenga en cuenta que los componentes se soldarán tanto en la parte posterior como en la frontal de la placa.
  3. Frontal con componentes SMD soldados en su lugar.Llene todos los componentes SMD en el frente de la placa con pasta de soldadura y haga refluir la soldadura.
  4. De vuelta con componentes poblados.Llene la parte posterior del tablero con componentes con orificios pasantes.
  5. Cree y actualice el firmware del controlador ( aquí ).
  6. Monte la placa en el marco del extrusor (aún no hay una placa de montaje diseñada).
  7. Conecte los distintos componentes a sus respectivos pines etiquetados en la placa del controlador (pantalla LCD, codificador, calentador, etc.)
  8. Cuando se instala la placa del sensor, su cable de comunicación se conectará al encabezado icsp en la placa del controlador.

Tablero de sensores

Lista de materiales

  • Placa de circuito impreso del sensor (1)
  • Matriz de sensores lineales AMS-Taos TSL1406R (1)
  • Atmel ATTINY45-20SU SOIC de 8 pines (1)
  • Resistencia SMD de 133-150 ohmios, 1206 (1)
  • Cabezal de pasador cubierto de 2x3 (1)
  • 1 cabezal de 2 pines (1)
  • Cable de cobre sólido 28-30 AWG (para sensor TSL)
  • LED rojo de 3 mm y cable de conexión con carcasa de clavija hembra de 1x2
  • 1 m de longitud de cable plano de seis conductores con carcasas con llave
  • Tornillo M2 x 12 mm (2)
  • Arandela M2 (2)

Asamblea

El sensor tiene almohadillas y orificios que son más pequeños que los típicos cabezales de clavija con paso de 0,1" (2,54 mm). NO intente utilizar un cabezal de clavija estándar para perforar el sensor; cuestan $30.

  1. Suelde los componentes SMD al frente de la placa del sensor.Coloque los componentes SMD y refluya. Suelde los cabezales de pines de 2x3 y 1x2 al frente de la placa.
  2. Suelde el conjunto lineal a la placa.Suelde trozos cortos de cable de cobre en la parte posterior de la placa y suelde el conjunto de sensores TSL1406R a los cables de cobre.
  3. Cree y actualice el firmware al AVR del sensor ( aquí ).
  4. LED en cubierta.Instale el LED en la cubierta con epoxi.
  5. Sensor en cubierta.Instale el sensor en la cubierta impresa con dos tornillos y arandelas M3 x 12 mm. Conecte el LED al cabezal de 1x2 pines y conecte el cable plano de 6 conductores al cabezal cubierto de 2x3 pines. Conecte el otro extremo del cable plano al conector icsp de la placa del controlador.

Cómo calibrar el extrusor de filamentos DC

Esto requiere un sistema GNU/Linux y un conocimiento avanzado razonable de hardware y software. En particular, necesita saber cómo editar un programa, cómo compilar un programa para un microcontrolador AVR independiente y cómo cargar ese programa en el microcontrolador. Esta página explica brevemente cómo hacer esas cosas, pero las explicaciones no están dirigidas a principiantes.

Resumen de los pasos

  1. Obteniendo dependencias
  2. Cree firmware de depuración.
  3. Cargue el firmware de depuración en la placa del sensor.
  4. Cargue firmware de monitoreo a un Arduino.
  5. Verifique la salida del sensor.
  6. Ajuste el firmware de depuración y repita hasta que el resultado sea satisfactorio.
  7. Cargue el firmware regular ajustado a la placa del sensor.
  8. Ajuste el firmware y repita hasta que la salida sea satisfactoria.
  9. Cargue el firmware de producción en la placa del sensor.
  10. Cree el firmware de la placa principal y cárguelo en la placa principal.

Cómo funcionan estos pasos

A continuación se ofrece información sobre cómo funcionan estos pasos.

Obteniendo dependencias

Necesitará obtener la biblioteca para su pantalla LCD y colocarla en las bibliotecas de la carpeta de su cuaderno de bocetos. Necesitará las bibliotecas Arduino de nuestro GitHub y las guardará en la carpeta de su cuaderno de bocetos. Aquí hay un enlace a las bibliotecas de Arduino [1] . Es posible que sea necesario encadenar la biblioteca de su pantalla dependiendo de lo que esté haciendo.

Construyendo firmware

El repositorio de github contiene todas las fuentes en el directorio de firmware. El firmware para la placa principal está en el extrusor, el del sensor está en el sensor. El código en sensor-graph es para el monitoreo Arduino que se utiliza para mostrar los datos medidos en la pantalla.

Si se instalan todos los requisitos, todo se puede construir usando el comando make. (La instalación del paquete arduino-mk debería incluir todo lo que necesita). El código en el extrusor y el gráfico del sensor también debería poder compilarse desde la interfaz de usuario de Arduino, pero es posible que no funcione.

Cargando firmware

El firmware se carga mediante ICSP. Usamos un Beaglebone que conecta cuatro de sus pines digitales y la alimentación de 3.3V al conector ICSP. Se requiere un archivo de configuración avrdude para que esto funcione. Además, la versión avrdude de Debian Jessie (y anteriores) tiene un error que impide que funcione. Esto se ha solucionado en Stretch. Para ver un ejemplo de cómo se hace esto, consulte flash-bbb y avrdude.conf en https://github.com/mtu-most/franklin/tree/master/server/ .

Al cargar firmware se debe utilizar el conector ICSP de la placa que se programa. Este es el encabezado cubierto de 6 pines. La clave del cabezazo siempre está del lado del poder.

Estamos usando una conexión USB para conectarnos al hueso de beagle, por lo que si no estás usando una conexión USB, estos comandos no funcionarán. Debe mover el firmware desde la computadora al hueso beagle con el comando " scp build-uno/extruder.hex debian@192.168.7.2: " y luego desde el hueso beagle a la máquina con " sudo avrdude -C +avrdude.conf -c bbbmelzi -p atmega328p -U lfuse:w:0xe2:m ". Este comando no se ejecutará si no tiene este [2] del repositorio de franklin. Puedes poner eso en el hueso del beagle con este comando " scp avrdude.conf debian@192.168.7.2: ".

Ejecutando el programa de monitorización

Para esto, la computadora debe tener instalado python-websocketd (lo que requiere python-network y python-fhs del mismo lugar). El firmware debe instalarse en un arduino y un cable debe conectar todos los pines entre el encabezado ICSP del Arduino y el encabezado ISCP de la placa del sensor. El Arduino no tiene un encabezado cubierto; la llave debe estar en el exterior del tablero. En caso de duda, mida qué pines tienen 5 V.

El script del servidor necesita obtener los datos seriales del Arduino en su entrada estándar. Esto significa que primero es necesario configurar el puerto y luego entregárselo al servidor:

Luego use un navegador para ir a http://localhost:4567/ . Deberías ver un gráfico de la medición del sensor.

Ejecutando el programa espía

Para el segundo paso, se debe monitorear la salida del firmware normal. Esto se hace con el programa sensor-espía. Se carga en un Arduino similar al programa sensor-graph y envía el último valor recibido del sensor al puerto serie.

Para usarlo, simplemente vea la salida del puerto serie con:

Al pasar un trozo de filamento a través del sensor, debería cambiar su valor.

que cambiar

El firmware del sensor tiene dos configuraciones definidas cerca de la parte superior que deben cambiarse según su compilación. Se llaman SALTAR y RETRASAR. La salida del sensor debe ser aproximadamente horizontal. En la mayor parte del sensor lo es, pero cerca de los bordes baja a cero. Por esta razón no se utilizan los bordes. SKIP define cuántos píxeles se omiten en ambos lados. Tenga en cuenta que el número total de píxeles es 768 y mide cada 2^EACHBITS píxeles, por lo que si ve que sucede algo en el píxel 20 y EACHBITS es 5, en realidad es un píxel 20*32=640.

Para el monitoreo, es posible que desee disminuir EACHBITS. Tenga en cuenta que el número total de píxeles medidos no puede ser mayor que 255.

DELAY es el tiempo de integración, en unidades arbitrarias. Configúrelo para que la señal sea lo más alta posible, pero no sobreexponga.

El píxel más bajo se utiliza como posición de la sombra. Pero si su valor es superior a VALID_LIMIT, se descarta y no se envía ninguna medida a la placa principal. Así que asegúrese de que esté normalmente por encima de ese valor y que la sombra lo lleve por debajo de ese valor.

Una vez hecho esto, se debe cargar el firmware normal. Pero inicialmente, esto se hace con un cambio: la línea que define SEND_MAX debe estar descomentada. Eso hace que el sensor envíe el valor máximo de cada medición en lugar de la posición de la sombra. El programa sensor-espía debe usarse para verificar si el DELAY es bueno y, si no lo es, debe ajustarse.

Una vez que esté bien, la línea SEND_MAX se debe comentar nuevamente y se debe cargar la versión final del firmware. El sensor-espía se puede volver a utilizar para comprobar que todo funciona bien.

scp firmware.hex debian@athena-11.local:

make make MONITOR_PORT=/dev/ttyACM0 BOARD_TAG=mega2560 subir sudo avrdude -C +avrdude.conf -c bbbmelzi -p attiny25 -U flash:w:firmware.hex:i stty -F /dev/ttyACM0 115200 raw

Icono de información FA.svg Icono de ángulo hacia abajo.svgDatos de la página
AutoresBas Wijnen , Jerry Anzalone
LicenciaCC-BY-SA-3.0
IdiomaInglés (es)
Relacionado0 subpáginas , 11 páginas enlace aquí
Impacto967 páginas vistas
Creado21 de abril de 2016 por Joshua M. Pearce
Modificadojulio 14, 2023 por Felipe Schenone
Cookies help us deliver our services. By using our services, you agree to our use of cookies.