Buenas,
Creo que has tenido una pequeña confusión con los if's, debes aplicar el bloque según el tipo de ramps que hayas definido en el configuration, si no defines ninguna de las usuales es cuando llegaría al else que has marcado. Esa zona lo que hace es aplicar un pin o -1 según las definiciones. Suponiendo que tengas puesto que usas EFB (Extruder, Fan, Bed), que suele ser lo más habitual con 1 extrusor, cama caliente y ventilador de capa, entraría en la zona que te marco como naranja:
En esta zona asigna a los nombres un pin (MOSFET_D_PIN --> desasignado, D8_PIN el pin físico 8, D9_PIN el pin físico 9 y D10_PIN el 10), luego usa el nombre y si se quieren cambiar, basta con hacerlo en este asignación (puedes ponerle al D10 el pin fisico 9 y al D9 el 10 por ejemplo para permutarlos):
#ifndef MOSFET_D_PIN
#define MOSFET_D_PIN -1
#endif
#ifndef RAMPS_D8_PIN
#define RAMPS_D8_PIN 8
#endif
#ifndef RAMPS_D9_PIN
#define RAMPS_D9_PIN 9
#endif
#ifndef RAMPS_D10_PIN
#define RAMPS_D10_PIN 10
#endif
Aquí asigna al extrusor 1 el pin 10 lógico, ( que según la asignación previa es el 10 físico también) de forma fija
#define HEATER_0_PIN RAMPS_D10_PIN
Estos if están relacionados, si se cumple alguna condición no haría la final, pasa por uno sólo. Lo normal suele ser que esté definida la placa como EFB (primer bloque si tienes puesto 1 hotend, ventilador de capa y cama caliente):
#if ENABLED(IS_RAMPS_EFB) // Hotend, Fan, Bed
#define FAN_PIN RAMPS_D9_PIN
#define HEATER_BED_PIN RAMPS_D8_PIN
Asigna al FAN el pin lógico D9 y a la cama el pin lógico D8. Lo siguiente serían otros casos (el elif es else IF , es decir: ' si no y se cumple '... se comprueban en serie hasta que uno es true o llega al else o final si no hay else)
#elif ENABLED(IS_RAMPS_EEF) // Hotend, Hotend, Fan
#define HEATER_1_PIN RAMPS_D9_PIN
#define FAN_PIN RAMPS_D8_PIN
#elif ENABLED(IS_RAMPS_EEB) // Hotend, Hotend, Bed
#define HEATER_1_PIN RAMPS_D9_PIN
#define HEATER_BED_PIN RAMPS_D8_PIN
#elif ENABLED(IS_RAMPS_EFF) // Hotend, Fan, Fan
#define FAN_PIN RAMPS_D9_PIN
#define FAN1_PIN RAMPS_D8_PIN
#elif ENABLED(IS_RAMPS_SF) // Spindle, Fan
#define FAN_PIN RAMPS_D8_PIN
#else // Non-specific are "EFB" (i.e., "EFBF" or "EFBE")
No es habitual que entre por aquí salvo configuraciones raras
#define FAN_PIN RAMPS_D9_PIN
#define HEATER_BED_PIN RAMPS_D8_PIN
#if HOTENDS == 1
#define FAN1_PIN MOSFET_D_PIN
#else
#define HEATER_1_PIN MOSFET_D_PIN
#endif
#endif FIN DE LOS IF
Cuando mandas que active el D10, ¿se enciende el led asociado al D10 de la ramps?
Si quieres hacer un cambio rápido de prueba y error para descartar, puedes cambiar estas lineas :
#ifndef RAMPS_D9_PIN
#define RAMPS_D9_PIN 10 //9
#endif
#ifndef RAMPS_D10_PIN
#define RAMPS_D10_PIN 9 //10
#endif
subes y con eso habrás cambiado la salida lógica D9 a la 10 y la D10 a la 9, conectas el extrusor en el D9 y pruebas calentar.
También podría ser que no tengas bien definida el tipo de placa en el configuration.h y por eso no te hace bien las asignaciones ¿cual tienes puesta?
Saludos!!
El viernes, 30 de junio de 2017, 13:23:04 (UTC+2), Aisflou escribió:
No se a que se refiere ese mosfet_d_pin, sorry, pero no creo que tenga nada que ver con lo tuyo, como ves, los pines que se usan son el D8, D9 y D10, de ahí sus nombres...
Lo que puedes hacer es cambiar el pin de la salida que no funciona con el de la salida que te queda libre, pero como dices pierdes la posibilidad de controlar un fan de capa... aunque eso lo puedes solucionar con otros pines de la ramps y un extensor de fans por ejemplo...
Has comprobado si el mosfet funciona como debe? si le llegan al mosfet los 12v pero luego cuando mandas calentar no salen por el conector esos 12v o bien tienes el mosfet jodido o bien el pin que manda la señal de activación del arduino al mosfet esta jodido... todo eso puedes comprobarlo con un multimetro si sabes...
De toas maneras, que marlin estas usando? ya tenias otro marlin en esa electrónica antes? has probado a borrar la epprom no sea de algo así... o probado otro marlin...
Tendrás que comprobar tanto lo del firmware como lo físico, creo que lo mas rápido de probar es lo físico y luego ya si no te metes al fregao del marlin...
poque le da valor a MOSFET_D_PIN -1? Podria solucionar mi problema que ese valor fuera distinto. Porque pue solucionar el tema del hotend cambiado la asignacion, pero seguiria perdiendo una salida para el ventilador.
--
Has recibido este mensaje porque estás suscrito al grupo "Clone Wars: Imprimiendo impresoras 3D" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a asrob-uc3m-impresoras-3d+unsub...@googlegroups.com.