This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
ramps 1.4 error en motores
#1
Hola foro. soy nuevo en el tema y en el foro. desde ya les agradezco la ayuda.
tengo varias dudas devido a un error de funcionamiento de los motores. mi electronica es:

ramps 1.4   4x drv8825   arduino artmega 2560   3x nema 17 sc42sth47-1504 ejes x,y,x   extrusor MK8 greeetech con nema 17 42shd0229-24b1 termistor 100k y fan 12v   fuente  12v 20a    finales de carrera en ejes x,y

Le cargue el sprinter para hacer pruebas con pronterface y conecte todo. los finales de carrera responden bien, el extrusor calienta, incluso pude hacer la prueba del pid. a la hora de mover los motores solo el eje x se mueve correctamente, los demas y el extrusor solo sumban y se clavan (hacen fuerza de retención). configure el sprinter bien y siguen los problemas. baje una prueba rapida de la electronica del youtuber profe garcia y el problema continua.

tengo un arduino uno con la cnc shield. me sirvio para probar los motores y drivers y todos funcionan correctamente

queria saber si tengo problemas de compatibilidad en la electrónica o si alguna de las placas puede estar fallando.

se hizo largo jaja. muchas gracias por su tiempo
  Responder
#2
Hola @alfredo116, bienvenido al foro.
Probablemente los problemas que estás teniendo se deban a la regulación de los drivers, pero lo primero que te recomiendo es que instales en el ATMega, la última versión de Marlin, configurada de forma apropiada para tu impresora.
El ajuste de la intensidad máxima que envían los drivers a los motores se puede hacer de dos formas: mediante el ajuste del voltaje de referencia (lo que es más preciso) o ajustando el consumo real a 12V de los mismos.
Hay que tener en cuenta que dicha intensidad debe ser la mínima que permita que el eje correspondiente a ese motor se mueva de forma correcta y que no puede sobrepasar la que toleren los motores: 1,5A para los sc42sth47-1504 y 1,68A para el 42shd0229-24b1.
Estas intensidades son las reales y las que se ajustan por el voltaje de referencia: en el caso de hacer el ajuste por el consumo real a 12V, la intensidad medida es mucho menor (un cuarto, más o menos).
De ambas formas de ajuste, tienes en Youtube videos explicando el proceso: en caso de que no lo tengas claro, no dudes en preguntar.
  Responder
#3
Hola Simemart. Gracias por la bienvenida y tu tiempo.

Ajuste los potenciometros de los drivers con la formula de Vref : Imax= Vref/ 5 *(Res). la Res= R100 lo que me da Imax/2.

mi duda es que el eje X se mueve perfectamente. pero solo ese. cambie los motores y los drivers a la posicion del X y todos se mueven. haciendo cualquier convinacion.
probe tambien con un arduino uno y una cnc shield distintas convinaciones y todas funcionaban bien.

tambien tuve problemas con el marlin 1.1.9, lo instale por que es el que mas guias de configuracion tiene y el problema continua.
marlin no me permite hacer pruebas con el motor del extrusor si no conecto el hoten y este no se calienta. por eso preferi el sprinter.

sigo pensando que puede ser la ramps o el mega. Alguna sugerencia para hacer pruebas?

gracias
  Responder
#4
Hola, mi recomendación de que uses la última versión de Marlin, es porque de esa forma tendrás probado el firmware que deberías utilizar finalmente en la impresora una vez montada (es lo que te recomiendo) y a estas alturas ya hay muchísima información sobre como instalar y configurar Marlin 2.
Para evitar el bloqueo del motor del extrusor durante las pruebas, solo tienes que enviar el comando M302 P1 para permitir el movimiento y M302 P0 para volverlo a bloquear.
Sobre el problema en concreto con los ejes YZE, es bastante raro que vayan a estar mal todos ellos, bien por la RAPMS o por el Arduino Mega, por lo que yo en este caso apostaría por un problema de configuración.
Sobre cómo probar esos componentes, lo único razonable que se me ocurre es sustituirlos por otros que sepas que están bien y ver el resultado (si dispones de ellos), aunque me parece muy improbable que fallen esos ejes y no lo haga el X.
  Responder
#5
De nuevo muchas gracias Simemart.

Me voy a tomar un tiempo para ver videos y leer posts sobre el marlin 2.0 .

No tengo otra ramps u otro mega. pero me alivia que me digas que es solo un problema de configuracion y no un defecto de placas o un error de compatibilidad de los componentes.

Tomo nota de los comandos. y te pregunto si sabes de donde se puede conseguir una tabla con todos los comandos para el marlin. yo cuando los busco me aparecen todos sueltos y con poca explicacion de su uso.

me pongo en la tarea de estudiar el marlin 2.0 y cuando lo instale te informo como sigue el problema

muchisimas gracias por toda tu ayuda.
  Responder
#6
La información más completa sobre Marlin, se encuentra en su página oficial (menú Help): en concreto, los comandos gcode que acepta Marlin los tienes aquí.
No descarto completamente que puedan estar mal la RAMPS y/o el Arduino Mega, solo digo que es bastante poco probable.
  Responder
#7
gracias por el dato. ya lo estube viendo un poco

te cuento que haciendo pruebas con el marlin 1.1.9 desactivando el extrusor M302 P1 me di cuenta de que no es que el eje X sea el unico que funciona bien.

yo solo puedo mover un motor sea cual sea y ese se va a mover bien. el problema surje cuando trato de mover un segundo motor. se bloquea y solo me deja mover el que movi en primer momento. Crees que es un problema de configuración?

tengo el cnc shield. pero no creo que ese se pueda conectar al mega para hacerle pruebas

cada vez creo mas que es una de las placas.
  Responder
#8
Para poder darte una respuesta apropiada, necesito más información sobre cómo tienes conectado todo y sobre cómo realizas las pruebas del movimiento de los motores.
La CNC Shield solo sirve para conectarla en un Arduino UNO, por lo que no vas a poder hacerlo en el Mega.
De todas formas, si lo planteas porque con ella y el UNO te funcionan todos los motores, ten en cuenta que también es distinto el firmware que utilizas en ambas plataformas, por lo que quizá sea este y no el hardware el que está fallando.
Para que puedas progresar en la resolución del problema, tendrás que partir de una base confiable, teniendo todo bien conectado, configurado y comprendiendo bien el funcionamiento del firmware: por ejemplo, Marlin no te dejará mover ningún motor hacia valores negativos respecto a la posición inicial del eje, si antes no se realiza un homing para fijar la posición actual, cosa que no se aplica normalmente en GRBL, si es ese firmware el que usas con el Arduino UNO+CNC Shield.
Si pones alguna foto de cómo tienes conectados los motores en la RAMPS y adjuntas en un archivo comprimido los ficheros de configuración del Marlin que estás utilizando (Configuration.h y Configuration_adv.h), quizá pueda decirte algo más.
  Responder
#9
[Imagen: foto1.jpg]

[Imagen: foto2.jpg]

[Imagen: foto3.jpg]

esas son las conecciones. si necesitas una foto de un conector mas especifico decime

no tengo conectado el hotend ni el termistor por que se vuelve una maraña de cables imposible. Crees que tengo que conectarlos para hacer las pruebas?

el termistor va ennull t0 y el hotend en D10.

creo que asi se envia el archivo


Archivos adjuntos
.rar   Configuration.rar (Tamaño: 46.03 KB / Descargas: 4)
  Responder
#10
// Prueba Shield Ramps, Driver, Motores de Pasos y Arduino MEGA
// By: www.dinastiatecnologica.com
//
#define x_paso A0 // Define el Pin de STEP para Motor de eje X
#define x_dire A1 // Define el Pin de DIR para Motor de eje X
#define x_habi 38 // Define el Pin de ENABLE para Motor de eje X
#define y_paso A6
#define y_dire A7
#define y_habi A2
#define z_paso 46
#define z_dire 48
#define z_habi A8
#define E0_paso 26
#define E0_dire 28
#define E0_habi 24
#define E1_paso 36
#define E1_dire 34
#define E1_habi 30
int retardo = 1000; // Menor numero el giro es mas rapido
int tiempo = 400; // durante cuanto timpo da el giro el motor (vueltas)

void setup() {
pinMode(x_paso, OUTPUT); pinMode(x_dire, OUTPUT); pinMode(x_habi, OUTPUT);
pinMode(y_paso, OUTPUT); pinMode(y_dire, OUTPUT); pinMode(y_habi, OUTPUT);
pinMode(z_paso, OUTPUT); pinMode(z_dire, OUTPUT); pinMode(z_habi, OUTPUT);
pinMode(E0_paso, OUTPUT); pinMode(E0_dire, OUTPUT); pinMode(E0_habi, OUTPUT);
pinMode(E1_paso, OUTPUT); pinMode(E1_dire, OUTPUT); pinMode(E1_habi, OUTPUT);
}

void loop() {
giro(x_paso,x_dire,x_habi);
giro(y_paso,y_dire,y_habi);
giro(z_paso,z_dire,z_habi);
giro(E0_paso,E0_dire,E0_habi);
giro(E1_paso,E1_dire,E1_habi);
}

void giro(int paso_,int dire_,int habi_) {
digitalWrite(habi_, LOW); // Habilita el Driver
digitalWrite(dire_, LOW); // direccion de giro 1
for(int i=0;i<tiempo;i++){ // da pasos por un tiempo
digitalWrite(paso_, HIGH);
delayMicroseconds(retardo);
digitalWrite(paso_, LOW);
delayMicroseconds(retardo);
}
digitalWrite(dire_, HIGH); // direccion de giro 2
for(int i=0;i<tiempo;i++){ // da pasos por un tiempo
digitalWrite(paso_, HIGH);
delayMicroseconds(retardo);
digitalWrite(paso_, LOW);
delayMicroseconds(retardo);
}
digitalWrite(habi_, HIGH); // quita la habilitacion del Driver


esta es la prueba del youtuber profe garcia. Esto devería funcionar no?
  Responder
#11
Te falta un final de carrera de uno de los ejes, como te dice Simemart, carga Marlin y deja de hacer pruebas con otros firmware que no vas a usar, desde pronterface hace home, pero de la manera que lo tienes seguramente te salte error al hacer home porque no está conectado a nada, primero mira si al hacer M119 te devuelve open en los 3 finales de carrera Luego ves pulsando uno a uno y envía otra vez el comando te debe de decir en ese final de carrera Triggered


Para comprobar así la electrónica debes de saber en qué orden se mueven los ejes para pulsar 2 veces en el final de carrera para que se pare el motor, una vez hecho home, como te dice Simemart, los motores se deben de mover siempre y cuando el vref sea el correcto
  Responder
#12
Para comprobar el giro de los motores no es necesario complicarse la vida con códigos como el que indicas, ni conectar nada a la placa más que alimentación, driver y motor.
Descarga de la página de Marlin la versión 1.1.9.2 y solo configura a true la lógica de los finales de carrera de X, Y, Z. Con eso te permitirá mover los ejes, primero solo hacia el lado positivo y después de regreso a la posición inicial.
Si dices que has probado todo en el eje X y funciona, pero no lo hace en los demás ejes, quizá sea problema de la RAMPS, aunque sea muy raro que fallen todos menos el X.
Como poder, se puede comprobar la RAMPS, aunque es un proceso bastante tedioso verificar la continuidad de todas las pistas.
Lo que puedes comprobar fácilmente son los pines de alimentación de los zócalos, por si estuviese ahí el problema:

[Imagen: Img1.jpg]

Tiene que haber continuidad entre todos los señalados con la misma figura/color y con alimentación, en ellos debe haber el voltaje señalado midiendo entre ellos y GND.
  Responder
#13
Simemart hice las comprobaciones de voltaje del esquema. todas son buenas 5 y 12 v como corresponden

cambie la logica de los endstop a true y los motores tratan de girar pero el pronterface me da el mensaje Echo:busy:processing

y los motores dejan de girar.
  Responder
#14
Para acotar el problema, busca una combinación driver/cable que funcione bien y prueba con ella todos los motores en cada uno de los zócalos.
Si el Vref de los drivers está bien configurado y los motores tratan de girar pero no lo hacen, la razón puede estar en que no estén bien cableadas las fases.
  Responder
#15
[Imagen: Whats-App-Image-2021-10-10-at-13-58-00.jpg]


bueno parece que era la fuente.

para probar los motores y los drivers preferi colocarlos en la cnc shield que estaba usando y que estaba seguro que no tenia problemas.Siempre lo hice con la fuente de computadora. se me ocurrio probarlos con la fuente nueva la de 20 A y me trajo los mismos problemas.

esa la reserve para la ramps. por eso nunca la conecte a la cnc shield. grave error.

yo antes usaba una de computadora con la cnc, pero esta no tiene mas de 8A a 12 V cuando compre la ramps y el mega al ver que minimo pide 5A y 11A compre una fuente mas.

pregunta: puedo conectar la fuente de computadora a la ramps en el conector de 5A y hacer pruevas con eso?
solo para asegurarme

la fuente da los 12 V pero creo que no funciona bien el amperaje.
  Responder
#16
Ok, no te indiqué que comprobases la fuente al dar por sentado que era la que utilizabas en todas las pruebas, incluidas las que funcionaban correctamente realizadas con la CNC Shield.
Seguramente da el amperaje necesario para mover un motor, pero se cae en cuanto intentas mover otro sin que se haya desconectado el primero.
Esa fuente ATX te sirve perfectamente para hacer pruebas, conectada a la RAMPS como indicas.
  Responder
#17
Si se que deveria haber probado todo el conjunto antes de hacer especulaciones. NO ME RETES jajaja.

te pregunto. la fuente tiene 3 salidas v+ y 3 v-. todas pueden entregar cualquier amperaje o vienen con una capacidad limitada por salida?

si conecto dos salidas a la entrada de 5A deveria poder moverlos? es decir conectar 2v+ y 2v- a la entrada de 5A serviria? o la fuente no funciona y tengo que buscar la garantia.

voy a hacer pruebas con la de computadora.

Ante todo muchas gracias por todo tu tiempo y paciencia. soy nuevo en electronica imprecion 3d y cnc. pero es un lindo proyecto y aprendo mucho gracias a personas como vos.
  Responder
#18
Todas las fuentes de alimentación de este tipo utilizan un rail común, por lo que el hecho de tener varias salidas en el exterior, solo es para facilitar la conexión de varios dispositivos: no hay ninguna diferencia entre utilizar una o varias al mismo tiempo.
Por lo que comentas, me temo que la fuente está mal y si aún conserva la garantía, deberías aprovecharla para intentar que te la cambien.
  Responder
#19
si la fuente es nueva. la compre para esto. hace una semana. la voy a cambiar. gracias por todo y creo que por ahora eso es todo. un abrazo grande Simemart
  Responder


Posibles temas similares…
Tema Autor Respuestas Vistas Último mensaje
  CoreXY Error motores XY DaToOr 10 3,731 15-04-2016, 01:48 PM
Último mensaje: FLOWALISTIK
  Problema con ramps 1.4 y motores nema 17 Enrique 6 4,005 16-04-2014, 12:50 PM
Último mensaje: kilimanjarto
  Problema Mega+ Ramps 1.4. Tensión motores efvn 3 2,416 10-02-2014, 11:21 AM
Último mensaje: elpuerto
  precision motores en ramps Cisco 2 1,219 07-02-2014, 10:43 PM
Último mensaje: Cisco
  Problema con los motores i la RAMPS 1.4 homer32 4 1,965 10-12-2013, 09:19 PM
Último mensaje: homer32