10-04-2014, 06:24 PM
Ya he conseguido cargar el firmware y que me mueva los motores con la Mega+RAMPS 1.4. El patillaje es igual que la 1.3 y para ello he copiado la definición de pines del firmware Sprinter, que me funcionaba (con la fresadora de CD)
No he visto claro cómo modificarlo para el motor esclavo, y he hecho una chapucilla provisional: Por debajo de la RAMPS he conectado los tres pines de control que van al driver X también al driver E! que no uso.
#define X_STEP_PIN 54 #define E_1_STEP_PIN 36
#define X_DIR_PIN 55 #define E_1_DIR_PIN 34
#define X_ENABLE_PIN 38 #define E_1_ENABLE_PIN 30
He revisado el código y los pines 30,34 y 36 no se usan en ningún otro sitio, por lo que no hay peligro de activarlos con 0 y 1 simultáneamente, lo que me imagino que no le gustaría al arduino.
Ahora cuando muevo X obtengo una salida exactamente igual en E1, por lo que podré mover los dos motores de X cada uno con su driver.
De momento las pruebas las estoy haciendo con los motores fuera de la fresadora, hasta que le ponga los finales de carrera, por si acaso. Pretendo conectarlos como en la RAMPS, con 3 cables, común a la entrada y los otros dos a + y a -. Aunque en el esquema aparecen resistencias, me imagino que no son necesarias, porque se pueden activar las de pull up internas.
Es posible que más adelante sustituya los finales de carrera por otros ópticos o de efecto hall, porque me parece que me van a quedar voluminosos y me quitarán algo de recorrido. Ya veremos.
Código:
/****************************************************************************************
* Arduino Mega pin assignment
*
****************************************************************************************/
#if MOTHERBOARD == 33
#define MOTHERBOARD 3
#define RAMPS_V_1_3
#endif
#if MOTHERBOARD == 3
#define KNOWN_BOARD 1
//////////////////FIX THIS//////////////
#ifndef __AVR_ATmega1280__
#ifndef __AVR_ATmega2560__
#error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
#endif
#endif
// uncomment one of the following lines for RAMPS v1.3 or v1.0, comment both for v1.2 or 1.1
// #define RAMPS_V_1_3
// #define RAMPS_V_1_0
#ifdef RAMPS_V_1_3
#define X_STEP_PIN 54
#define X_DIR_PIN 55
#define X_ENABLE_PIN 38
#define X_MIN_PIN 3
#define X_MAX_PIN -1 //2 //Max endstops default to disabled "-1", set to commented value to enable.
#define Y_STEP_PIN 60
#define Y_DIR_PIN 61
#define Y_ENABLE_PIN 56
#define Y_MIN_PIN 14
#define Y_MAX_PIN -1 //15
#define Z_STEP_PIN 46
#define Z_DIR_PIN 48
#define Z_ENABLE_PIN 62
#define Z_MIN_PIN 18
#define Z_MAX_PIN -1 //19
#define E_STEP_PIN 26
#define E_DIR_PIN 28
#define E_ENABLE_PIN 24
#define E_1_STEP_PIN 36
#define E_1_DIR_PIN 34
#define E_1_ENABLE_PIN 30
#define SDPOWER -1
#define SDSS 53
#define LED_PIN 13
#define FAN_PIN 9
#define PS_ON_PIN 12
#define KILL_PIN -1
#define ALARM_PIN -1
#define HEATER_0_PIN 10
#define HEATER_1_PIN 8
#define TEMP_0_PIN 13 // ANALOG NUMBERING
#define TEMP_1_PIN 14 // ANALOG NUMBERING
#define TEMP_2_PIN 15 // ANALOG NUMBERING
No he visto claro cómo modificarlo para el motor esclavo, y he hecho una chapucilla provisional: Por debajo de la RAMPS he conectado los tres pines de control que van al driver X también al driver E! que no uso.
#define X_STEP_PIN 54 #define E_1_STEP_PIN 36
#define X_DIR_PIN 55 #define E_1_DIR_PIN 34
#define X_ENABLE_PIN 38 #define E_1_ENABLE_PIN 30
He revisado el código y los pines 30,34 y 36 no se usan en ningún otro sitio, por lo que no hay peligro de activarlos con 0 y 1 simultáneamente, lo que me imagino que no le gustaría al arduino.
Ahora cuando muevo X obtengo una salida exactamente igual en E1, por lo que podré mover los dos motores de X cada uno con su driver.
De momento las pruebas las estoy haciendo con los motores fuera de la fresadora, hasta que le ponga los finales de carrera, por si acaso. Pretendo conectarlos como en la RAMPS, con 3 cables, común a la entrada y los otros dos a + y a -. Aunque en el esquema aparecen resistencias, me imagino que no son necesarias, porque se pueden activar las de pull up internas.
Es posible que más adelante sustituya los finales de carrera por otros ópticos o de efecto hall, porque me parece que me van a quedar voluminosos y me quitarán algo de recorrido. Ya veremos.