En este último tutorial, vamos a realizar los ajustes finales que debemos hacer de manera previa a la primera impresión.

Ya teníamos la estructura y la electrónica montada, el firmware definitivo cargado en nuestro Arduino y totalmente configurado, pero antes de imprimir debemos de realizar estos ajustes:

1. Fijar la electrónica al marco y colocar los cables

Debéis de fijar al marco de vuestra impresora la electrónica, yo he usado separadores, pero podéis usar desde bridas hasta tornillos que sean suficientemente largos, aseguraros que ninguna parte metálica toca la electrónica, de lo contrario podéis causar un cortocircuito y dañar de manera irreversible la electrónica.

IMG 0427IMG 0429IMG 0432

Otra cosa que debéis de tener en cuenta, es que la RAMP's no toque con el motor del eje X, ya que va muy pegado a este y al subir o bajar el carro podemos golear la placa y romperla o tocar el botón de reset que trae esta placa y resetear la impresión.

En cuanto a la colocación de los cables, tan solo deciros que lo recojáis lo mejor posible, usando para ello bridas o cinta adhesiva. Para ordenar los cables, yo suelo pasar los mismo por el hueco que queda entre el marco y la electrónica, sacándolos de manera ordenada.

Aseguraos que los cables que van tanto a la cama como al carro tienen recorrido suficiente para que la cama y el carro puedan llegar a sus extremos sin tirar de los cables.

2. Ajustar y revisar la mecánica.

Con la impresora montada, ya podéis comprobar que al moverse la cama el HotEnd llega a los puntos límite de la misma, o lo que es lo mismo, que aprovecha todo recorrido en Y. Si veis que os queda corto en algún sitio, simplemente desplazar la cama alante o atras y apretad definitivamente la tuerca que une la base con el marco.

Otra cosa que tenéis que hacer, y que debéis de repetir regularmente es lubricar las partes móviles de la impresora, para ello poned aceite (usad aceite con teflón si es posible) en las varillas lisas y engrasad la varilla roscada de métrica 5 que sube y baja el eje de las Z.

IMG 0469

Al principio os va a chirriar el eje Z, no os preocupéis, con grasa y un poco de uso desaparecerá.

3. Ajuste de la cama caliente.

El último ajuste que debemos de hacer para conseguir que nuestra impresión no tenga problemas, es nivelar la cama caliente para que tengamos siempre la misma distancia entre la superficie de impresión (espejo o cristal) y la boquilla del HotEnd.

Para conseguir esto, vamos a mover el extrusor, de manera que la boquilla del HotEnd este situada justo en el centro de la cama caliente y cuando lo tengamos en este posición, vamos a hacer un "Homing" del eje Z (hacer un "homing", no es más que ir al punto inicial del eje donde toca el final de carrera). Podéis hacer "homing" a cualquiera de los ejes usando el Pronterface pulsando para ello los botones que encontráis en las esquinas.

homing

Id haciendo "homings" al eje Z al mismo tiempo que subís o bajáis el tornillo que golpea el final de carrera de Z. La distancia optima entre la superficie de impresión y la boquilla del HotEnd la obtendréis cuando entre ambos podáis introducir una hoja de papel de manera que roce un poco.

IMG 0471IMG 0473

Una vez calibrada la altura del tornillo, tenéis que nivelar la cama para que todos los puntos se encuentren a esta misma altura, para ello situaréis el extrusor en una esquina, haréis "homing" del eje Z y regulareis el tornillo que la cama caliente tiene en esa esquina, de manera que quede la distancia suficiente para pasar la hoja de papel. Repetiréis esa misma operación en el resto de esquinas, comprobando en todo momento que se conserva la distancia en toda la superficie de impresión.

IMG 0472

Cuando terminéis de calibrar los tornillos de la cama, podéis añadir alguna tuerca por la parte inferior a estos tornillos para que queden bloqueados en esta posición, de esa forma no se desajustarán tan fácilmente.

Primera impresión

Ya ha llegado el momento de realizar la primera impresión!!! he de deciros, que no os preocupéis si al principio los resultados no son demasiados buenos, ya que a nadie nos ha salido una impresión perfecta a la primera y necesitareis gastar al menos 1 bobina de plástico para llegar a conocer a vuestra impresora y saber que parámetros debéis de cambiar para afinar las impresiones.

Como consejo os diré que trabajéis con plásticos naturales, es decir, plásticos que no tengan color, ya sea ABS o PLA. Esto es importante al principio, porque podéis comprar un plástico que no funcione bien y volveros locos calibrando la impresora, cuando el problema lo tenéis en el propio filamento, por ello comprar ABS o PLA natural para hacer las primeras pruebas y cuando comprobéis que todo va perfecto y está bien calibrada la impresora ya podréis ponerle cualquier tipo de filamento a vuestra máquina (y si imprime mal, sabreis que el culpable es el plástico).

Para esta primera impresión yo voy a hacer una ficha de casino, esta figura es muy sencilla de hacer, y para las primeras impresiones está muy bien, ya que si hacéis algo más grande o que tenga aristas se os puede despegar (empezar siempre por figuras sencillas).

IMG 0433IMG 0434

Podéis descargar la ficha aqui

Para la impresión podéis usar multitud de programas, yo os voy a recomendar 2, que son los que suelo usar, "Cura" y "Repetier-Host" (con slicer como laminador), estos dos programas son muy buenos, y cada uno tiene sus propias ventajas y desventajas, "Cura" es muy sencillo, y quizás para empezar en el mundo de las impresoras 3D sea el más adecuado, "Repetier-Host" con "slicer", es muy bueno, "slicer", te da multitud de opciones de configuración, con la que se pueden hacer impresiones realmente buenas y complejas.

En futuros tutoriales, os enseñare a usar estos programas. De momento podéis descargarlos de sus páginas oficiales la última versión. Aquí podéis encontrar CURA y en este enlace REPETIER-HOST

IMG 0468

Espero que os haya sido de utilidad estos tutoriales y que tengáis vuestra impresora totalmente ensamblada y funcionando, de todas formas, si tenéis algún problema o no entendéis algo, podéis contactar conmigo y os ayudaré en todo lo que pueda.

Cuando tengáis vuestra maquina totalmente afinada, continuad el trabajo y mejorarla, imprimiros piezas para actualizarla. Os dejo aquí mi perfil de thingiverse donde tenéis todas las piezas que he usado en el tutorial y que no vienen en los kits, además iré subiendo piezas nuevas y todo lo que encuentre que pueda seros de utilidad.

 

 

 

 

 

Deja tus comentarios

Enviar un comentario como invitado

0
terminos y condiciones.
Cargar Comentarios Previos
  • Hola Raul , mira me ha salido una pequeña duda y te explico desde el principio para ponerte en situación. Yo adquirí un Kit impresora por Aliexpress y la tarjeta que lo controlaba era una Anet 1.0 , después de quemar 2 placas una por las clema de la cama y a la otra para evitar lo mismo se puse unos relés para no cargar toda la tensión sobre la placa , pero a los pocos dias se quemo algo y no reconocia el USB,por ello me fije en tus tutoriales y lo cambie todo a la Ramps 1.4 ,que te lo comente en el post del LCD.
    Bueno mis dudas son las siguiente :
    1.- Veo que conectas tanto el hotend como la cama directo a la ramps. ¿ Es seguro o es mejor ponerles un rele para protegerla ? ( no quiero quemar mas placas )
    2.- He visto que un compañero a comentado algo sobre los motores , he seguido tu link pero mis motores no los veo , su referencia es SL42STH40-1684A , yo los he testeado y por el momento funcionan pero ¿ Tu crees que puedan dar problemas ?.
    3.- Y por ultimo , he visto algunos tutoriales en los que se habla de la autocalibración de la cama. y mi duda es si eso se utiliza solo la primera vez que montas la impresora o se calibra cada vez que va a imprimir , por saber si es conveniente incorporarlo y claro de ser positiva la respuesta , ¿ Vas a hacer algún tutorial al respecto ?

    Gracias por todo y enhorabuena por tu trabajo , a por cierto porque no pones un buscador en tu web para poder buscar algún tema con facilidad

    Un saludo

  • Hola Julian, las placas Anet, no dan muy buenos resultados, no eres el primero al que le ocurre esto... las RAMPs con Arduino suelen dar mejores resultados, aunque también hay RAMPs de baja calidad que suelen tener problemas en las clemas de conexión a la cama caliente y el HotEnd, no suelen estar preparadas para tanta corriente y al final salen ardiendo...
    Lo normal es que no tengas problemas con las clemas de conexión de tu RAMPs, pero yo te diría que si puedes, le pusieras un relé a la cama caliente (no se lo pongas a la salida del HotEnd), la cama caliente maneja tensiones cercanas a los 10A, esto es la corriente límite en las clemas, por lo que o salen ardiendo o se deterioran muy rápido, en mi caso, una RAMPs de calidad me ha durado 3 años hasta que se ha quemado la clema, por lo que si le pones relé mucho mejor. El no ponerle relé al HotEnd es por que los ciclos de trabajo del HotEnd son muchos mas rápidos y va a hacer que el relé este activándose y desactivándose muy rápido (algo para lo que no está preparado), de todas formas el HotEnd no suele consumir mas de 3 amperios, por lo que tiene mucho margen y no va a quemar la clema.
    En cuanto al motor que usas, por las características que he encontrado en internet parece que está bien, tiene fuerza suficiente y aguanta mas corriente de la que le vas a mandar, por lo que no creo que tengas problemas.
    La autocalibración es una utilidad que traen algunos firmwares (el que tengo en la WEB es antiguo y no la trae), esta autocalibración se hace siempre que se manda imprimir a la impresora y va corregir cualquier desnivel de la base. Yo personalmente no lo uso, si calibras bien la impresora no suele descalibrarse con facilidad por lo que es un añadido que para mi no tiene mucha utilidad, aunque si tu trasladas mucho la impresora puede venirte bien.
    El buscador es algo que llevo mucho tiempo queriendo poner, ya incluso a mi me cuesta encontrar las cosas... cuando hice la pagina no tenia pensado incluir tanta información y ahora es como una mini enciclopedia donde tengo apuntado las cosas que uso casi a diario y que nunca me acuerdo xD lo intentaré añadir lo antes posible.
    Espero que te vaya bien con el montaje de tu impresora, un saludo!

  • Gracias Raul por tu respuesta , la verdad es que si las Anet aunque tienen la ventaja de que vienen pre ajustadas y son mas fáciles de instalar son malas y con una asistencia nula.Seguiré tus consejos y mantendré el rele en la cama solo porque en el hotend ya lo sufri el castañeteo del rele y me toco quitarlo, lo de los motores pues me tranquiliza y en referencia a lo de el autoequilibrado lo desestimare dado que la impresora no va a viajar ni moverse , le cree una urna en metacrilato con aspiración de aire hacia el exterior solo me falta crear una pieza para el filtro de carbono activo, porque sola al tenerla dentro de mi despacho con los olores del ABS sobre todo es algo molesto y algo nocivo.
    Bueno hoy terminare por fin de los últimos pasos para terminar de ajustar la ramp y ponerme al dia de los proyectos atrasados. Una cosa si puedes decirme es que compre un ABS por ebay y bueno al extruirlo ( con la anet ) me salia verdoso y super fragil , no se si por que tendria mas calor del necesario o que . me devolvieron el dinero pero no se si eso es normal ¿ Me puedes decir algo al respecto ? .
    Muchas gracias y sigue con este trabajo que estas haciendo

  • Ya me enseñarás que tal te queda la impresora, si la montas en una caja suele mejorar bastante la impresión, ya que mantiene una atmósfera caliente y no suele dar tantos problemas por corrientes de aire o por que se despegue de la base (sobre todo el ABS da muchos problemas de este tipo).
    En cuanto a los plásticos es un mundo totalmente a parte, hay plásticos buenos y plásticos malos... los principales problemas de los plásticos son que no funden a temperaturas seguras para el HotEnd (hay plasticos que necesitan mas de 250º) que tienen un diámetro irregular, lo que ocasiona defectos en la pieza... o que por composición quedan como burbujas e irregularidades que hacen que la pieza quede muy mal.
    Dentro de cada fabricante te digo que los colores que normalmente funcionan peor son los negros o blancos puros, también hay algunos de bronce o marrones que no quedan muy bien... supongo que serán por los aditivos que le añaden para el color. Yo al principio compraba plásticos por ebay a china, pero deje de hacerlo por que lo mismo te tocaba un plástico que funcionaba genial como uno que iba fatal... y lo peor es que muchas veces piensas que es la impresora cuando lo que funcionan mal son los plásticos.
    Yo hace ya varios años que compro a un productor de filamento español, el filamento que vende es muy regular, todos funden a temperaturas muy parecidas y el diámetro del filamento no tiene apenas variación, en mas de 100 royos de plástico tan solo uno me dio problemas y me lo descambiaron, la empresa se llama Printed Dreams
    Espero que haya podido ayudarte, si necesitas alguna cosa más dímelo, un saludo!!

  • Que tal, he seguido tus tutoriales que estan muy buenos y ayer comence a imprimir , el cubo de 2 cm en abs salio bastante bien, pero no he podido imprimir nada un poco mas grande, me arrastra lo que va imprimiendo, tambien en abs, estoy usando spray de pelo como fiador, algun consejo, gracias

  • Hola gustavo , aunque estoy terminando de montar la impresora con la ramps 1.4 , antes tenia la tarjeta anet y puede imprimir algunas piezas al principio me pasaba lo del arrastre , probe con distintos tipos de lacas ( busca siempre la de mayor fijación , va indicado en en el envase con un numero ) , tambien probe si era ABS con una disolución de acetona y restos de material ABS , esto hace una especie de pasa que la aplicas y le da mas fijacion , tambien me han dicho de poner encima del cristal un tipo de cinta tipo carrocero pero rugosa , pero esto aun no lo he podido probar.
    En fin espero poderte haber ayudado en algo

  • Hola Gustavo, Julián te ha dicho todo lo que necesitabas saber, de todas las cosas que puedes usar para aumentar la adherencia lo mejor es el fijador de pelo (la pasta de ABS en mi opinión pega demasiado) como fijador en España hay uno que funciona genial, se llama Nelly http://www.beautyblog.es/wp-content/uploads2/laca_nelly.jpg
    Si buscar hay un fijador que se llama "3DLac" no es mas que laca Nelly con el exterior cambiado y unas 5 veces mas caro de lo normal xD
    Una cosa mas... ademas de usar algún producto que aumente la adherencia es muy importante hacer una primera capa bastante pegada a la base, cuando pongas la primera capa mira que el filamento quede aplastado, si lo ves redondo debes de bajar un poco mas, eso asegurará la adherencia.
    Si haces esto, no deberías tener problemas, ya me contarás!

  • Hola Raul ,perdon por tanta pregunta pero hay dos cosas que me esta haciendo que no se el porque. La primera es que cuando le doy para hacer un homing llega a la posicion con el final de carrera lo toca pero se queda unos segundo como intentado seguir y el motor en marcha , te dejo este video para que lo veas y asi mas claro ,tambien hay una cosa que no llego a entender el eje Z le ajusto para que al hacer el homing se quede casi tocando el cristal ,pero a la hora de imprimir se queda casi 20 mm por encima del cristal y claro asi no puedo imprimir , como ves en la foto mi Hotend no es tan largo como el tuyo , ¿ Pero eso puede implicar ? ¿ O se puede variar esa distancia en el Marlin ?

    Gracias por tu ayuda



    http://i1233.photobucket.com/albums/ff399/ptriplo/20160728_223911_zpsaqmgcwlu.jpg

  • Buenos días Julián, parece como si no detectara el toque con el final de carrera, no se si es que no golpea bien el final de carrera o que... lo que puedes hacer es poner el carro en el extremo opuesto darle a Homing y darle con el dedo al final de carrera, a ver si así responde. Otro posible problema es la configuración del firmware, ¿que firmware estas usando? con esos finales de carrera debes tener activadas las resistencias de pull-up del firmware, descargate la versión que tengo yo en la web y revísala para poner las cosas igual.
    Si tienes configurado igual el firmware me inclinaría por algún problema en el final de carrera o la conexión.. (pero esto no suele ser lo mas normal).
    Ten mucho cuidado cuando estés manipulando los finales de carrera, si los conectas mal es muy fácil dañar el Arduino!!

    Con respecto a que se levante unos milímetros antes de imprimir eso es debido al software, dime cual estas usando a ver si te puedo ayudar.

    Comentario editado por última vez entre hace cerca de 8 meses y Raúl Diosdado
  • Hola Raul , la verdad es que no suelo ser canson en el tema de preguntas por los foros pero esto me esta superando y la verdad no llego a entender el porque. Mira el tema de los finales de carrera opte por cambiarlos y poner los finales de carrara con terminales de 3 contactos como el de la imagen [img]http://i.ebayimg.com/00/s/NjAwWDYwMA==/z/nSUAAOSwMHdXTFly/$_12.JPG[/img] , y todo fue perfecto a excepcion de lo que te decia el hotend se queda perfecto rozando la cama,pero cuando va a imprimir se eleva casi 1 cm de la cama y al pasar a la capa sigiente pues claro da un salto de varios milimetros y asi es imposible imprimir.

    El firmware es el marlin y bueno todo esta paso a paso configurado tal y como lo pones en los videos , las medidas a la hora de mover los ejes dan correctas en los 3 ejes y lo mismo da en la extrusion del filamento ,por lo que no entiendo el porque se comporta asi.

    Te pongo el configuration.h para que lo mires por si meti la pata y no lo estoy viendo

    
    #ifndef CONFIGURATION_H
    #define CONFIGURATION_H

    // This configurtion file contains the basic settings. // Advanced settings can be found in Configuration_adv.h // BASIC SETTINGS: select your board type, temperature sensor type, axis scaling, and endstop configuration

    //User specified version info of this build to display in [Pronterface, etc] terminal window during startup. //Implementation of an idea by Prof Braino to inform user that any changes made //to this build by the user have been successfully uploaded into firmware. #define STRING_VERSION_CONFIG_H __DATE__ " " __TIME__ // build date and time #define STRING_CONFIG_H_AUTHOR "Darth Raul" //Who made the changes.

    // SERIAL_PORT selects which serial port should be used for communication with the host. // This allows the connection of wireless adapters (for instance) to non-default port pins. // Serial port 0 is still used by the Arduino bootloader regardless of this setting. #define SERIAL_PORT 0

    // This determines the communication speed of the printer #define BAUDRATE 115200 //#define BAUDRATE 115200

    //// The following define selects which electronics board you have. Please choose the one that matches your setup // 10 = Gen7 custom (Alfons3 Version) "https://github.com/Alfons3/Generation_7_Electronics" // 11 = Gen7 v1.1, v1.2 = 11 // 12 = Gen7 v1.3 // 13 = Gen7 v1.4 // 3 = MEGA/RAMPS up to 1.2 = 3 // 33 = RAMPS 1.3 / 1.4 (Power outputs: Extruder, Bed, Fan) // 34 = RAMPS 1.3 / 1.4 (Power outputs: Extruder0, Extruder1, Bed) // 4 = Duemilanove w/ ATMega328P pin assignment // 5 = Gen6 // 51 = Gen6 deluxe // 6 = Sanguinololu < 1.2 // 62 = Sanguinololu 1.2 and above // 63 = Melzi // 64 = STB V1.1 // 7 = Ultimaker // 71 = Ultimaker (Older electronics. Pre 1.5.4. This is rare) // 8 = Teensylu // 80 = Rumba // 81 = Printrboard (AT90USB1286) // 82 = Brainwave (AT90USB646) // 9 = Gen3+ // 70 = Megatronics // 701= Megatronics v2.0 // 702= Minitronics v1.0 // 90 = Alpha OMCA board // 91 = Final OMCA board // 301 = Rambo

    #ifndef MOTHERBOARD #define MOTHERBOARD 33 #endif

    // This defines the number of extruders #define EXTRUDERS 1

    //// The following define selects which power supply you have. Please choose the one that matches your setup // 1 = ATX // 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC)

    #define POWER_SUPPLY 1

    //=========================================================================== //=============================Thermal Settings ============================ //=========================================================================== // //--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table // //// Temperature sensor settings: // -2 is thermocouple with MAX6675 (only for sensor 0) // -1 is thermocouple with AD595 // 0 is not used // 1 is 100k thermistor - best choice for EPCOS 100k (4.7k pullup) // 2 is 200k thermistor - ATC Semitec 204GT-2 (4.7k pullup) // 3 is mendel-parts thermistor (4.7k pullup) // 4 is 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! // 5 is 100K thermistor - ATC Semitec 104GT-2 (Used in ParCan) (4.7k pullup) // 6 is 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) // 7 is 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) // 8 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) // 9 is 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup) // 10 is 100k RS thermistor 198-961 (4.7k pullup) // // 1k ohm pullup tables - This is not normal, you would have to have changed out your 4.7k for 1k // (but gives greater accuracy and more stable PID) // 51 is 100k thermistor - EPCOS (1k pullup) // 52 is 200k thermistor - ATC Semitec 204GT-2 (1k pullup) // 55 is 100k thermistor - ATC Semitec 104GT-2 (Used in ParCan) (1k pullup)

    #define TEMP_SENSOR_0 1 #define TEMP_SENSOR_1 0 #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_BED 1

    // Actual temperature must be close to target for this long before M109 returns success #define TEMP_RESIDENCY_TIME 10 // (seconds) #define TEMP_HYSTERESIS 3 // (degC) range of +/- temperatures considered "close" to the target one #define TEMP_WINDOW 1 // (degC) Window around target to start the recidency timer x degC early.

    // The minimal temperature defines the temperature below which the heater will not be enabled It is used // to check that the wiring to the thermistor is not broken. // Otherwise this would lead to the heater being powered on all the time. #define HEATER_0_MINTEMP 5 #define HEATER_1_MINTEMP 5 #define HEATER_2_MINTEMP 5 #define BED_MINTEMP 5

    // When temperature exceeds max temp, your heater will be switched off. // This feature exists to protect your hotend from overheating accidentally, but *NOT* from thermistor short/failure! // You should use MINTEMP for thermistor short/failure protection. #define HEATER_0_MAXTEMP 280 // Si es de plastico bajar a 250º #define HEATER_1_MAXTEMP 275 #define HEATER_2_MAXTEMP 275 #define BED_MAXTEMP 130

    // If your bed has low resistance e.g. .6 ohm and throws the fuse you can duty cycle it to reduce the // average current. The value should be an integer and the heat bed will be turned on for 1 interval of // HEATER_BED_DUTY_CYCLE_DIVIDER intervals. //#define HEATER_BED_DUTY_CYCLE_DIVIDER 4

    // PID settings: // Comment the following line to disable PID and enable bang-bang. #define PIDTEMP #define BANG_MAX 256 // limits current to nozzle while in bang-bang mode; 256=full current #define PID_MAX 256 // limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 256=full current #ifdef PIDTEMP //#define PID_DEBUG // Sends debug data to the serial port. //#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature // is more then PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max. (10) #define PID_INTEGRAL_DRIVE_MAX 255 //limit for the integral term #define K1 0.95 //smoothing factor withing the PID #define PID_dT ((16.0 * 8.0)/(F_CPU / 64.0 / 256.0)) //sampling period of the temperature routine

    // If you are using a preconfigured hotend then you can use one of the value sets by uncommenting it // Ultimaker #define DEFAULT_Kp 26.36 #define DEFAULT_Ki 1.84 #define DEFAULT_Kd 94.57

    // Makergear // #define DEFAULT_Kp 7.0 // #define DEFAULT_Ki 0.1 // #define DEFAULT_Kd 12

    // Mendel Parts V9 on 12V // #define DEFAULT_Kp 63.0 // #define DEFAULT_Ki 2.25 // #define DEFAULT_Kd 440 #endif // PIDTEMP

    // Bed Temperature Control // Select PID or bang-bang with PIDTEMPBED. If bang-bang, BED_LIMIT_SWITCHING will enable hysteresis // // uncomment this to enable PID on the bed. It uses the same frequency PWM as the extruder. // If your PID_dT above is the default, and correct for your hardware/configuration, that means 7.689Hz, // which is fine for driving a square wave into a resistive load and does not significantly impact you FET heating. // This also works fine on a Fotek SSR-10DA Solid State Relay into a 250W heater. // If your configuration is significantly different than this and you don't understand the issues involved, you proabaly // shouldn't use bed PID until someone else verifies your hardware works. // If this is enabled, find your own PID constants below. //#define PIDTEMPBED // //#define BED_LIMIT_SWITCHING

    // This sets the max power delived to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option. // all forms of bed control obey this (PID, bang-bang, bang-bang with hysteresis) // setting this to anything other than 256 enables a form of PWM to the bed just like HEATER_BED_DUTY_CYCLE_DIVIDER did, // so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED) #define MAX_BED_POWER 256 // limits duty cycle to bed; 256=full current

    #ifdef PIDTEMPBED //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, argressive factor of .15 (vs .1, 1, 10) #define DEFAULT_bedKp 10.00 #define DEFAULT_bedKi .023 #define DEFAULT_bedKd 305.4

    //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) //from pidautotune // #define DEFAULT_bedKp 97.1 // #define DEFAULT_bedKi 1.41 // #define DEFAULT_bedKd 1675.16

    // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles. #endif // PIDTEMPBED

    //this prevents dangerous Extruder moves, i.e. if the temperature is under the limit //can be software-disabled for whatever purposes by #define PREVENT_DANGEROUS_EXTRUDE //if PREVENT_DANGEROUS_EXTRUDE is on, you can still disable (uncomment) very long bits of extrusion separately. #define PREVENT_LENGTHY_EXTRUDE

    #define EXTRUDE_MINTEMP 175 #define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) //prevent extrusion of very large distances.

    //=========================================================================== //=============================Mechanical Settings=========================== //===========================================================================

    // Uncomment the following line to enable CoreXY kinematics // #define COREXY

    // corse Endstop Settings #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors

    #ifndef ENDSTOPPULLUPS // fine Enstop settings: Individual Pullups. will be ignord if ENDSTOPPULLUPS is defined #define ENDSTOPPULLUP_XMAX #define ENDSTOPPULLUP_YMAX #define ENDSTOPPULLUP_ZMAX #define ENDSTOPPULLUP_XMIN #define ENDSTOPPULLUP_YMIN //#define ENDSTOPPULLUP_ZMIN #endif

    #ifdef ENDSTOPPULLUPS #define ENDSTOPPULLUP_XMAX #define ENDSTOPPULLUP_YMAX #define ENDSTOPPULLUP_ZMAX #define ENDSTOPPULLUP_XMIN #define ENDSTOPPULLUP_YMIN #define ENDSTOPPULLUP_ZMIN #endif

    // The pullups are needed if you directly connect a mechanical endswitch between the signal and ground pins. const bool X_ENDSTOPS_INVERTING = true; // set to true to invert the logic of the endstops. const bool Y_ENDSTOPS_INVERTING = true; // set to true to invert the logic of the endstops. const bool Z_ENDSTOPS_INVERTING = true; // set to true to invert the logic of the endstops. //#define DISABLE_MAX_ENDSTOPS

    // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 #define X_ENABLE_ON 0 #define Y_ENABLE_ON 0 #define Z_ENABLE_ON 0 #define E_ENABLE_ON 0 // For all extruders

    // Disables axis when it's not being used. #define DISABLE_X false #define DISABLE_Y false #define DISABLE_Z true #define DISABLE_E false // For all extruders

    #define INVERT_X_DIR false // for Mendel set to false, for Orca set to true #define INVERT_Y_DIR false // for Mendel set to true, for Orca set to false #define INVERT_Z_DIR true // for Mendel set to false, for Orca set to true #define INVERT_E0_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false #define INVERT_E1_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false #define INVERT_E2_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false

    // ENDSTOP SETTINGS: // Sets direction of endstops when homing; 1=MAX, -1=MIN #define X_HOME_DIR -1 #define Y_HOME_DIR -1 #define Z_HOME_DIR -1

    #define min_software_endstops true //If true, axis won't move to coordinates less than HOME_POS. #define max_software_endstops true //If true, axis won't move to coordinates greater than the defined lengths below. // Travel limits after homing #define X_MAX_POS 220 #define X_MIN_POS 0 #define Y_MAX_POS 220 #define Y_MIN_POS 0 #define Z_MAX_POS 230 #define Z_MIN_POS 0

    #define X_MAX_LENGTH (X_MAX_POS - X_MIN_POS) #define Y_MAX_LENGTH (Y_MAX_POS - Y_MIN_POS) #define Z_MAX_LENGTH (Z_MAX_POS - Z_MIN_POS)

    // The position of the homing switches //#define MANUAL_HOME_POSITIONS // If defined, MANUAL_*_HOME_POS below will be used //#define BED_CENTER_AT_0_0 // If defined, the center of the bed is at (X=0, Y=0)

    //Manual homing switch locations: #define MANUAL_X_HOME_POS 0 #define MANUAL_Y_HOME_POS 0 #define MANUAL_Z_HOME_POS 0

    //// MOVEMENT SETTINGS #define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E #define HOMING_FEEDRATE {2000, 2000, 100, 0} // set the homing speeds (mm/min) [50*60,50*60, 4*60, 0]

    // default settings

    #define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,4000,100} // default steps per unit for ultimaker #define DEFAULT_MAX_FEEDRATE {330, 330, 3.3, 45} // (mm/sec) #define DEFAULT_MAX_ACCELERATION {1500,1500,100,10000} // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for skeinforge 40+, for older versions raise them a lot. //(9000,9000,100,10000) #define DEFAULT_ACCELERATION 1000 // X, Y, Z and E max acceleration in mm/s^2 for printing moves [3000] #define DEFAULT_RETRACT_ACCELERATION 2000 // X, Y, Z and E max acceleration in mm/s^2 for r retracts [3000]

    // Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing). // The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder). // For the other hotends it is their distance from the extruder 0 hotend. // #define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis // #define EXTRUDER_OFFSET_Y {0.0, 5.00} // (in mm) for each extruder, offset of the hotend on the Y axis

    // The speed change that does not require acceleration (i.e. the software might assume it can be done instanteneously) #define DEFAULT_XYJERK 15 // (mm/sec) [20.0] #define DEFAULT_ZJERK 0.4 // (mm/sec) #define DEFAULT_EJERK 5 // (mm/sec) [5.0]

    //=========================================================================== //=============================Additional Features=========================== //===========================================================================

    // EEPROM // the microcontroller can store settings in the EEPROM, e.g. max velocity... // M500 - stores paramters in EEPROM // M501 - reads parameters from EEPROM (if you need reset them after you changed them temporarily). // M502 - reverts to the default "factory settings". You still need to store them in EEPROM afterwards if you want to. //define this to enable eeprom support //#define EEPROM_SETTINGS //to disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out: // please keep turned on if you can. //#define EEPROM_CHITCHAT

    // Preheat Constants #define PLA_PREHEAT_HOTEND_TEMP 200 #define PLA_PREHEAT_HPB_TEMP 60 #define PLA_PREHEAT_FAN_SPEED 150 // Insert Value between 0 and 255

    #define ABS_PREHEAT_HOTEND_TEMP 240 #define ABS_PREHEAT_HPB_TEMP 90 #define ABS_PREHEAT_FAN_SPEED 150 // Insert Value between 0 and 255 (tenia 255)

    //LCD and SD support //#define ULTRA_LCD //general lcd support, also 16x2 //#define DOGLCD // Support for SPI LCD 128x64 (Controller ST7565R graphic Display Family) //#define SDSUPPORT // Enable SD Card Support in Hardware Console //#define SDSLOW // Use slower SD transfer mode (not normally needed - uncomment if you're getting volume init error)

    //#define ULTIMAKERCONTROLLER //as available from the ultimaker online store. //#define ULTIPANEL //the ultipanel as on thingiverse

    // The RepRapDiscount Smart Controller (white PCB) // http://reprap.org/wiki/RepRapDiscount_Smart_Controller //#define REPRAP_DISCOUNT_SMART_CONTROLLER

    // The GADGETS3D G3D LCD/SD Controller (blue PCB) // http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel //#define G3D_PANEL //(cambiado, le he quitado las // del principio)

    //The RepRapDiscount FULL GRAPHIC Smart Controller (quadratic white PCB) // http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller // // ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib #define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER

    // The RepRapWorld REPRAPWORLD_KEYPAD v1.1 // http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 //#define REPRAPWORLD_KEYPAD //#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // how much should be moved when a key is pressed, eg 10.0 means 10mm per click

    //automatic expansion #if defined (REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) #define DOGLCD #define U8GLIB_ST7920 #define REPRAP_DISCOUNT_SMART_CONTROLLER #endif

    #if defined(ULTIMAKERCONTROLLER) || defined(REPRAP_DISCOUNT_SMART_CONTROLLER) || defined(G3D_PANEL) #define ULTIPANEL #define NEWPANEL #endif

    #if defined(REPRAPWORLD_KEYPAD) #define NEWPANEL #define ULTIPANEL #endif

    //I2C PANELS

    //#define LCD_I2C_SAINSMART_YWROBOT #ifdef LCD_I2C_SAINSMART_YWROBOT // This uses the LiquidCrystal_I2C library ( https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/Home ) // Make sure it is placed in the Arduino libraries directory. #define LCD_I2C_TYPE_PCF8575 #define LCD_I2C_ADDRESS 0x27 // I2C Address of the port expander #define NEWPANEL #define ULTIPANEL #endif

    // PANELOLU2 LCD with status LEDs, separate encoder and click inputs //#define LCD_I2C_PANELOLU2 #ifdef LCD_I2C_PANELOLU2 // This uses the LiquidTWI2 library v1.2.3 or later ( https://github.com/lincomatic/LiquidTWI2 ) // Make sure the LiquidTWI2 directory is placed in the Arduino or Sketchbook libraries subdirectory. // (v1.2.3 no longer requires you to define PANELOLU in the LiquidTWI2.h library header file) // Note: The PANELOLU2 encoder click input can either be directly connected to a pin // (if BTN_ENC defined to != -1) or read through I2C (when BTN_ENC == -1). #define LCD_I2C_TYPE_MCP23017 #define LCD_I2C_ADDRESS 0x20 // I2C Address of the port expander #define LCD_USE_I2C_BUZZER //comment out to disable buzzer on LCD #define NEWPANEL #define ULTIPANEL #endif

    // Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs //#define LCD_I2C_VIKI #ifdef LCD_I2C_VIKI // This uses the LiquidTWI2 library v1.2.3 or later ( https://github.com/lincomatic/LiquidTWI2 ) // Make sure the LiquidTWI2 directory is placed in the Arduino or Sketchbook libraries subdirectory. // Note: The pause/stop/resume LCD button pin should be connected to the Arduino // BTN_ENC pin (or set BTN_ENC to -1 if not used) #define LCD_I2C_TYPE_MCP23017 #define LCD_I2C_ADDRESS 0x20 // I2C Address of the port expander #define LCD_USE_I2C_BUZZER //comment out to disable buzzer on LCD (requires LiquidTWI2 v1.2.3 or later) #define NEWPANEL #define ULTIPANEL #endif

    #ifdef ULTIPANEL // #define NEWPANEL //enable this if you have a click-encoder panel #define SDSUPPORT #define ULTRA_LCD #ifdef DOGLCD // Change number of lines to match the DOG graphic display #define LCD_WIDTH 20 #define LCD_HEIGHT 5 #else #define LCD_WIDTH 20 #define LCD_HEIGHT 4 #endif #else //no panel but just lcd #ifdef ULTRA_LCD #ifdef DOGLCD // Change number of lines to match the 128x64 graphics display #define LCD_WIDTH 20 #define LCD_HEIGHT 5 #else #define LCD_WIDTH 16 #define LCD_HEIGHT 2 #endif #endif #endif

    // Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino //#define FAST_PWM_FAN

    // M240 Triggers a camera by emulating a Canon RC-1 Remote // Data from: http://www.doc-diy.net/photo/rc-1_hacked/ // #define PHOTOGRAPH_PIN 23

    // SF send wrong arc g-codes when using Arc Point as fillet procedure //#define SF_ARC_FIX

    // Support for the BariCUDA Paste Extruder. //#define BARICUDA

    /*********************************************************************\ * * R/C SERVO support * * Sponsored by TrinityLabs, Reworked by codexmas * **********************************************************************/

    // Number of servos // // If you select a configuration below, this will receive a default value and does not need to be set manually // set it manually if you have more servos than extruders and wish to manually control some // leaving it undefined or defining as 0 will disable the servo subsystem // If unsure, leave commented / disabled // // #define NUM_SERVOS 3

    #include "Configuration_adv.h" #include "thermistortables.h"

    #endif //__CONFIGURATION_H




    Gracias anticipadas por tu ayuda ,porque la verdad me provoca tirarla por el ventana tantos meses parada,me desmoraliza

    Un saludo