Instalación del firmware del microcontrolador

From RepRap
Jump to: navigation, search
Guía de construcción de Mendel en español



Motherboard-programming.jpg
RepRap tiene una placa base que es el controlador global de la máquina. Cada extrusor tiene un controlador secundario. La placa base y los controladores de extrusión tienen que ser programados. Esta página te dice como hacerlo.
OJO esta página describe como instalar el firmware RepRap estándar. Hay alternativas al firmware estándar disponibles y están todas en Comparison of RepRap Toolchains(en inglés).

Tanto la placa base como el controlador de extrusión necesitan tener un bootloader instalado antes de que les puedas cargar los programas. Solo hace falta hacer esto una vez, y, si compraste placas preparadas, el bootloader ya estará instalado en ellas. Pero si hiciste las placas tu mismo, tienes que cargarlo. las instrucciones para instalar el Bootloader están aquí(en inglés).

Antes de comenzar

Instalar el software de Arduino para Sanguino

Antes de que puedas descargar en tu placa base Sanguino, necesitas tener el entorno Arduino instalado para ser capaz de reconocer el procesador Atmel 644p.

Descarga e instala el software de Arduino, luego descarga la extensión para Sanguino desde la web de Sanguino de Zach.

Las nuevas versiones de arduino (desde la 0018 y posteriores) tienen un mejor soporte para hardware como el Sanguino, así que solo necesitas añadir una carpeta en lugar de editar un montón de cosas.

Copia la carpeta de Sanguino que está en el archivo zip en tu carpeta arduino-00XX/Hardware de tal forma que tu estructura de carpetas quede como esto:

    arduino-00XX/Hardware/Sanguino

¡Asegúrate de que seleccionas Sanguino en el menú de placas!


Las instrucciones que siguen a continuación están desfasadas y solo son aplicables para versiones viejas de Arduino y Sanguino.

Necesitarás copiar las carpetas de los archivos del núcleo que has descargados a sus respectivas localizaciones.

   * copia sanguino-software-1.x/cores/sanguino a arduino/hardware/cores/sanguino
   * copia sanguino-software-1.x/bootloaders/atmega644p a arduino/hardware/bootloaders/atmega644p
   * copia todas las carpetas de sanguino-software-1.x/libraries/ a arduino/hardware/libraries/ 
     sobrescribiendo las librerías existentes.

A continuación necesitas editar el achivo boards.txt para añadir el Sanguino para la placa disponible. Se encuentra en arduino/hardware/boards.txt

Reinicia el entorno Arduino y ahora puedes descargar tu firmware al Sanguino.

Estas instrucciones están también disponible desde aquí(en inglés).

Programando la placa base

Compilar

El programa en C++ que debe ser cargado en la placa base esta en el directorio mendel/firmware/FiveD_GCode/FiveD_GCode_Interpreter de la descarga. La última versión está aquí en el repositorio Subversion de RepRap, pero cuidado con esto - puede ser una versión de desarrollo inestable. La versión estable está localizada en reprap-mendel-yyyymmdd.zip que descargaste cuando instalaste el software anfitrión Reprap. Instalando RepRap en tu computador

En tu directorio de descarga hay una archivo de configuración de la distribución llamado configuration.h.dist. Cópialo a un nuevo archivo llamado configuration.h. La razón para esta copia es que, cuando descargas una nueva versión de RepRap, puede que no quieras sobrescribir tu archivo de configuración personal.

Carga el Entorno de desarrollo Arduino y carga el sketchbook mendel/firmware/FiveD_GCode/FiveD_GCode_Interpreter/FiveD_GCode_Interpreter.pde. Tu nuevo archivo configuration.h debería aparecer como una de las pestañas.

Haz click en esa pestaña y repasa el archivo. Está comentado(en inglés) en toda su extensión y da instrucciones de lo que hacer para configurar el firmware para tu instalación RepRap particular. Cuando lo hayas editado, selecciona File->Save.

En el entorno de desarrollo Arduino selecciona Tools->Board->Sanguino luego selecciona Sketch->Verify/Compile.

El programa debería compilar sin errores.

Cargar

Enchufa el cable USB<->serial que fabricaste en esta página(en inglés) en el conector de seis pines en el extremo izquierdo de la placa base como se muestra. Asegúrate de que consigues conectarlo bien. La conexión RTS (que debería tener color verde) va al extremo superior del conector etiquetado "GRN" en la placa base. El conector de tierra (de color negro) va al fondo, etiquetada "BLK".

Comprueba que tienes un jumper ajustado al conector de 2-pin por C8 en la placa base justo a la derecha del conector de 6 pines que estas usando. Este es el jumper que permite a la placa que sea programada.

Enchufa un cable USB en la toma USB-B, pero no conectes el otro extremo a tu computador aun.

Comprueba la lista de conexiones en Tools->Serial Port y anótalas. Luego conecta el cable USB y comprueba la lista de nuevo - debe aparecer una nueva entrada (en Linux será algo como /dev/ttyUSB0, y en Windows será como COM5). Selecciona esa nueva entrada si no ha sido seleccionada automáticamente por el software de Arduino - es la interfaz USB que acabas de conectar.

A propósito - ahora el LED de Encendido de la placa base debería estar encendido. La placa base es alimentada por USB.

Selecciona Upload to I/O Board (el pequeño cuadro con una flecha hacia la derecha). Después de unos pocos segundos el LED de debug en la placa base debería parpadear - esto significa que el programa se está cargando en la placa.

Después de unos pocos segundos más el entorno de desarrollo Arduino debería decir Done uploading y el LED de debug debería reducirse a un pulso regular de unos 2 Hz. Esto significa que el programa RepRap está ejecutándose en la placa base.

Si la carga no funcionó, desconecta el cable USB, espera un par de segundos, y conéctalo de nuevo. Luego (con la mano que no usas el ratón) mantén apretado el botón de RESET de la placa base. Pon el ratón sobre el botón Upload to I/O Board, suelta el RESET, e inmediatamente haz click con el ratón.

O haz click en Upload to I/O Board y luego mantén apretado el botón de reset hasta que veas el texto blanco en el botón del IDE de Arduino, entonces inmediatamente suelta el botón de reset, y espera para el Done uploading...

Para ver como verificar la placa base ya programada, sigue este enlace(en inglés).

Programando un controlador de extrusión

Extruder-programming.jpg

El procedimiento para este es muy similar al de programar la placa base.

Compilar

El programa en C++ que debe ser cargado en los controladores de extrusión está en el directorio mendel/firmware/FiveD_GCode/Extruder de la descarga. La última versión esta aquí en el repositorio Subversion de RepRap, pero cuidado con esto - puede ser una versión de desarrollo inestable. La versión estable está localizada en reprap-mendel-yyyymmdd.zip que descargaste cuando instalaste el software anfitrión Reprap. Instalando RepRap en tu computador

En tu directorio de descarga hay una archivo de configuración de la distribución llamado configuration.h.dist. Cópialo a un nuevo archivo llamado configuration.h. La razón para esta copia es que, cuando descargas una nueva versión de RepRap, puede que no quieras sobrescribir tu archivo de configuración personal.

Carga el Entorno de desarrollo Arduino y carga el sketchbook mendel/firmware/FiveD_GCode/Extruder/Extruder.pde. Tu nuevo archivo configuration.h debería aparecer como una de las pestañas.

Haz click en esa pestaña y repasa el archivo. Es bastante pequeño. Los comentarios(en inglés) dan instrucciones de lo que hacer para configurar el firmware para tu instalación RepRap particular. Cuando lo hayas editado, selecciona File->Save.

Si estas usando un termistor como sensor de temperatura del extrusor deberías también mirar el archivo temperature.h. Selecciona la tabla que corresponda a tu tersmistor. Si estas usando un termistor para el cual no hay una tabla estándar eso no es un problema. Hay un programa Python para generar tablas para cualquier termistor. El programa está en tus archivos RepRap en mendel/firmware/createTemperatureLookup.py. Mira esta página para más detalle(en inglés).

En el entorno de desarrollo Arduino selecciona Tools->Board->Arduino Diecimila or Duemilanove w/ ATmega 168 luego selecciona Sketch->Verify/Compile.

El programa debería compilar sin errores.

Cargar

Enchufa el cable USB<->serial que fabricaste en esta página(en inglés) en el conector de seis pines en el extremo izquierdo del controlador de extrusión como se muestra. Asegúrate de que consigues conectarlo bien. La conexión RTS (que debería tener color verde) va al extremo inferior del conector etiquetado "GRN/RTS" en el controlador de extrusión. El conector de tierra (de color negro) va en lo alto, etiquetado "BLK/GND".

Enchufa un cable USB en la toma USB-B, pero no conectes el otro extremo a tu computador aun.

Comprueba la lista de conexiones en Tools->Serial Port y anótalas. Luego conecta el cable USB y comprueba la lista de nuevo - debe aparecer una nueva entrada (en Linux será algo como /dev/ttyUSB0, y en Windows será como COM5). Selecciona esa nueva entrada si no ha sido seleccionada automáticamente por el software de Arduino - es la interfaz USB que acabas de conectar.

A propósito - ahora el LED de Encendido del controlador debería estar encendido. El controlador de extrusión está alimentado por USB para programarlo, y se auto alimenta del suministro de 12 voltios cuando está en funcionamiento. Algunos de los otros LEDs se iluminarán también - esto está bien.

Selecciona Upload to I/O Board (el pequeño cuadro con una flecha hacia la derecha). Después de unos pocos segundos el LED de debug en el controlador de extrusión debería parpadear - esto significa que el programa se está cargando en la placa.

Después de unos pocos segundos más el entorno de desarrollo Arduino debería decir Done uploading y el LED de debug debería apagarse.

Si la carga no funcionó, desconecta el cable USB, espera un par de segundos, y conéctalo de nuevo. Luego (con la mano que no usas el ratón) mantén apretado el botón de RESET del controlador de extrusión. Pon el ratón sobre el botón Upload to I/O Board, suelta el RESET, e inmediatamente haz click con el ratón.

Para ver como verificar el controlador de extrusión ya programado, sigue este enlace(en inglés).

Véase también

La página Firmware de 3ª generación(en inglés).