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
Marlin .ino
#1
Hola buenas soy nuevo en este foro y estoy buscando solucion a un problema que tengo de configuracion con Marlin pues quiero añadir un servo para el robot scara y no encuentro o  no esta NUM-
_SERVOS pues no me sale el archivo Marlin.ino os agradeceria la ayuda sin mas me despido con un saludo.Gracias. P. d el Marlin es modificado especialmente para el robot Scara
  Responder
#2
Hola @Morgana550, bienvenido al foro.
En Marlin, la cantidad de servos a controlar se especifica en el parámetro que indicas (NUM_SERVOS) y suele estar colocado al final del archivo Configuration.h.
Que tengas o no un archivo Marlin.ino, solo influye en que el IDE de Arduino cargue o no los archivos de Marlin que se encuentran en esa carpeta: solo es un archivo de texto de presentación, que podrías crear tu mismo con el contenido que quieras y el IDE de Arduino ya te dejará cargar Marlin; si en lugar del IDE de Arduino utilizas otro (PlatformIO, por ejemplo), ese archivo no se necesita para nada.
Otra cosa es que te falten los archivos fuente de Marlin y que solo tengas el firmware compilado (en un archivo .hex o .bin): en ese caso, no podrás modificar nada en él.
  Responder
#3
(11-11-2021, 12:53 PM)Simemart escribió: Hola @Morgana550, bienvenido al foro.
En Marlin, la cantidad de servos a controlar se especifica en el parámetro que indicas (NUM_SERVOS) y suele estar colocado al final del archivo Configuration.h.
Que tengas o no un archivo Marlin.ino, solo influye en que el IDE de Arduino cargue o no los archivos de Marlin que se encuentran en esa carpeta: solo es un archivo de texto de presentación, que podrías crear tu mismo con el contenido que quieras y el IDE de Arduino ya te dejará cargar Marlin; si en lugar del IDE de Arduino utilizas otro (PlatformIO, por ejemplo), ese archivo no se necesita para nada.
Otra cosa es que te falten los archivos fuente de Marlin y que solo tengas el firmware compilado (en un archivo .hex o .bin): en ese caso, no podrás modificar nada en él.

Hola gracias por contestar  he buscado un marlin original y he copiado los archivos referentes al servo en mi marlin el ervo se mueve a su aire pero no reacciona se ha compilado bien pero sigue sin funcionar ,Gracias de nuevo un saludo
  Responder
#4
Hola, no sé a que te refieres con que has copiado los archivos referentes a los servos.
Para configurar los servos en Marlin, solo hay que indicar cuantos se tienen y comprobar que estén conectados en los pines asignados (o asignarlos en caso de que no lo estén).
Por supuesto, tendrá que existir en el firmware el código para controlarlos pues, si no es así, no funcionarán en absoluto.
Marlin tráe código para controlar servos en funciones como el control de sensores tipo BL-Touch y otros, pero poco más: ¿qué función tiene el servo que has añadido?.
  Responder
#5
(16-11-2021, 09:22 PM)Simemart escribió: Hola, no sé a que te refieres con que has copiado los archivos referentes a los servos.
Para configurar los servos en Marlin, solo hay que indicar cuantos se tienen y comprobar que estén conectados en los pines asignados (o asignarlos en caso de que no lo estén).
Por supuesto, tendrá que existir en el firmware el código para controlarlos pues, si no es así, no funcionarán en absoluto.
Marlin tráe código para controlar servos en funciones como el control de sensores tipo BL-Touch y otros, pero poco más: ¿qué función tiene el servo que has añadido?.

Hola buenos dias la funcion de el servo seria una pinza[Imagen: 20211117-072302.jpg] lo de copiar es que he cogido un Marlin original y he copiado los archivo referentes al servo y los he añadido al final de configuracion h de el Marlin que yo tengo que esta modificado para este robot pero imagino que aun me falta algo tengo puesto el jumper de los 5 v y tambien tengo conectado el servo en la primera fila de pines pero nada muchas gracias por tu tiempo pero no encuentro la solucion incluso he intentado ponerme en contacto con el señor que lo monto que no hay forma es el señor Arman Ramos de C.n.c con arduino .Un saludo.morgana550@msn.com

Marlin modificado: https://drive.google.com/open?id=1LEZ... este es el enlace de el Marlin que yo tengo instalado.
  Responder
#6
Hola, lo primero decir que ese enlace de Google Drive que has puesto no funciona, pero ya he utilizado el que tiene el video de Mundo CNC con Arduino, que es este:
https://drive.google.com/open?id=1LEZ4Bb...ORG9Bx7JzC
Sobre el problema que estás teniendo, no aportas suficiente información para poder darte una solución: ¿estás utilizando Mega2560+RAMPS como placa? ¿Qué versión de RAMPS? ¿Tienes programado el código para el control de ese servo?
Para que ese Marlin modificado utilice más de un servo, debería bastar con añadir en el archivo Configuration.h la definición del parámetro NUM_SERVOS, asignándole el número que tengas.
La RAMPS 1.4 tiene cuatro conectores para servos, numerados del 0 al 3 y asignados por defecto a los pines 11, 6, 5 y 4 respectivamente.
Si alimentas los servos desde esos conectores, tendrás que tener en cuenta las limitaciones de corriente del Mega2560.
  Responder
#7
(17-11-2021, 11:51 AM)Simemart escribió: Hola, lo primero decir que ese enlace de Google Drive que has puesto no funciona, pero ya he utilizado el que tiene el video de Mundo CNC con Arduino, que es este:
https://drive.google.com/open?id=1LEZ4Bb...ORG9Bx7JzC
Sobre el problema que estás teniendo, no aportas suficiente información para poder darte una solución: ¿estás utilizando Mega2560+RAMPS como placa? ¿Qué versión de RAMPS? ¿Tienes programado el código para el control de ese servo?
Para que ese Marlin modificado utilice más de un servo, debería bastar con añadir en el archivo Configuration.h la definición del parámetro NUM_SERVOS, asignándole el número que tengas.
La RAMPS 1.4 tiene cuatro conectores para servos, numerados del 0 al 3 y asignados por defecto a los pines 11, 6, 5 y 4 respectivamente.
Si alimentas los servos desde esos conectores, tendrás que tener en cuenta las limitaciones de corriente del Mega2560.

Hola de nuevo, estoy utilizando mega 2560 mas 
Ramps 1,4, no tengo programado el control de el servo lo tengo conectado en el conector 0 y esta alimentado desde ahi mismo tengo puesto un jumper en los pines que hay al lado del reset, deberia poner NUM_SERVOS 0 imagino  y como te daras cuenta esto no es lo mio ,siento las molestias muchas gracias
  Responder
#8
No tienes que disculparte, no causas ninguna molestia.
Como es lógico, si indicas que el número de servos que tienes es 0, no podrás utilizar ninguno pues deshabilitarás su uso en Marlin: debes poner los que realmente quieras utilizar y se habilitarán los pines de control en los conectores correspondientes en la RAMPS. Los 4 servos se numeran de forma consecutiva comenzando en 0, siendo este el más cercano al botón de Reset.
Para la alimentación de los servos no pueden utilizarse sin más esos conectores, pues sus pines de 5V solo están conectados al pin 5V que se encuentra al lado del botón de Reset, por lo que no funcionará nada conectado a ellos a no ser que conectemos dicho pin a una fuente de alimentación.
Hay dos formas de hacer esto: como lo estás realizando tú o con una fuente externa.
En el primer caso, el pin Vcc tiene el voltaje de alimentación del arduino, sean estos los 5V (escasos) que dá su regulador interno o los 5V del conector USB (si está alimentado así): en cualquier caso, hay que tener en cuenta que ambos modos tienen un amperaje limitado (el regulador interno dá un máximo de 1A a compartir por todos los consumidores conectados, el USB normalmente solo 0,5A), lo que hay que tener muy en cuenta si se alimentan los servos de esta manera.
Si con ese amperaje no llega, hay que utilizar una fuente externa, conectando los 5V de ella al pin 5V de la RAMPS y uniendo todos los GND de las fuentes que utilicemos.
  Responder
#9
Hola cuando he leido tu contestacion ya sabia que no iva a funcionar pues he probado el Marlin original por asi llamarlo con el servo conectado como yo lo tengo y funciona bien, cuando te refieres al codigo de el servo quieres decir M280 P0 S45 por ejemplo,he probado con una fuente externa y tampoco funciona el servo como creo que ya te dije anteriormente estando conectado y aunque no actuen las ordenes el servo se mueve cuando le parece bien se abre se cierra etc con lo cual le llega suficiente corriente ,osea lo conecto pongo cualquir codigo en el ordenador lo ejecuto y el servo cuando le parece abre la garra o la cierra sin control osea creo que la cosa esta cerca de la solucion pero hay alguna tonteria que se escapa aparte de ponerle una fuente de alimentacion aparte que lo hare ,y ya te digo no se como agradecerte la pacienta que estas teniendo pero llegado este punto ya por coraje me gustaria hacerlo funcionar un Saludo y gracias de nuevo

[Imagen: 20211118-062801.jpg]
Esto es lo que he añadido a el Marlin que tengo instalado
  Responder
#10
Me parece muy bien que no te rindas hasta hacerlo funcionar, es la postura que yo adopto en todos los trabajos que me propongo realizar.
Sobre la configuración que has añadido, de momento comenta (// al comienzo) la línea //#define DEACTIVATE_SERVOS_AFTER_MOVE y en la matríz SERVO_DELAY solo es necesario tener un valor para cada servo definido: como en tu caso es 1, solo necesitas un valor.
Es raro que el servo se mueva solo y no lo haga cuando envías el M280: si dices que con un Marlin normal funciona bien, quizá a ese modificado le falte algo necesario para ese control.
  Responder
#11
(18-11-2021, 10:52 AM)Simemart escribió: Me parece muy bien que no te rindas hasta hacerlo funcionar, es la postura que yo adopto en todos los trabajos que me propongo realizar.
Sobre la configuración que has añadido, de momento comenta (// al comienzo) la línea //#define DEACTIVATE_SERVOS_AFTER_MOVE y en la matríz SERVO_DELAY solo es necesario tener un valor para cada servo definido: como en tu caso es 1, solo necesitas un valor.
Es raro que el servo se mueva solo y no lo haga cuando envías el M280: si dices que con un Marlin normal funciona bien, quizá a ese modificado le falte algo necesario para ese control.
Bueno pues no te molesto mas agradezto tu interes he vuelto a comprobar y si se abre y cierra cuando le parece cuando teoricamente no deberia hacerlo al tener la orden de Deactive-servos yo tambien pienso que fala alguna orden mas en otro sitio pero donde? He intentado ponerme en contacto con el que lo hizo pero no ha habido manera de dar con el ni redes  sociales ni correo nada de nada,seguire intentandolo cuando funcione te lo hare saber muchas gracias y si tuvieses una inspiracion no dudes en decirmelo.Salu2
  Responder
#12
[Imagen: 20211118-142607.jpg]


Creo que la cosa va por aqui cuando tu me dices que quite el comentario de el desconectar servo me doy cuenta que tambien deveria quitarlo de mas arriba donde Num_servo 1 ,lo hago y entonces me sale esta pagina que no se como modifcarla pero imagino que la clave esta aqui ,
  Responder
#13
Hola buenos dias ya funciona el servo pero ahora tengo el problema que tu decias de la alimentacion pues se desconecta a la que funciona el servo me puedes decir cual es el pin 5 que mencionas anteriormente y como deberia conectarlo gracias
  Responder
#14
Hola, si la alimentación del servo la estás tomando puenteando los pines Vcc y 5V, que se encuentran al lado del botón de Reset de la RAMPS y al activarlo se resetea el Arduino, es que su consumo supera lo que puede aguantar la forma en que estás alimentando este último: tendrás que utilizar una fuente de alimentación externa, para lo que deberás quitar ese puente, conectar al pin 5V el positivo de la fuente externa y el negativo de dicha fuente (GND), al negativo de la alimentación general de la RAMPS.
El pin 5V es este:

[Imagen: Img1.jpg]

Los pines del recuadro están conectados y en el de la izquierda, rotulado como 5V, tienes que conectar el positivo de la fuente externa de 5V: con eso, tendrás alimentación en todos los servos que conectes.
Como es lógico, la fuente deberá suministrar suficiente corriente para que funcionen dichos servos, pero en caso de que no sea así, eso ya no afectará al Arduino.
  Responder
#15
Hola de nuevo muchas gracias ya lo he conectado pero me sigue pasando que si pongo el comando M280 P1 S10 por decir algo lo ejecuta bien pero luego no queda en el codigo osea ejecuto el codigo pero no hace lo referente al comando M280 tengo conectada una fuente de alimentacion de 5 v 6 amp osea porn corriente ahora no es buff me vuelvo loco de esta, yo que pensaba esta mañana cuando empezo a funcionar que ya estaba pero no
  Responder
#16
Creo que te estás liando con el número de servos en el sistema y como se numeran estos.
Si has configurado NUM_SERVOS a 1, solo se habilita un servo en Marlin, pero estos se numeran empezando en 0 (ya hacen incapié precisamente en ello en los comentarios de esa línea en el archivo Configuration.h), por lo que ese servo es el 0, no el 1: en este caso, la orden que quieres enviar a ese único servo del sistema sería M280 P0 S10.
  Responder
#17
Hola Buenos dias no se como agradecerte lo que me has ayudado si necesitas algo que te pueda ayudar no tienes mas que decirmelo ,ya funciona todo de hecho ya funcionaba solo que ayer no se en que momento se estropeo el servo y segun como iva y segun como no hasta que esta mañana lo he descubierto, para no poner otra fuente de alimentacion he sacado de la entrada de las ramps una salida con un regulador a 5 v y en principio va bien no se para y funciona creo que lo dejare asi para evitar otra fuente de alimentacion bueno como te dije al principio ,muchas muchas gracias y un saludo
  Responder
#18
Me alegro que lo hayas solucionado.
Un saludo.
  Responder


Posibles temas similares…
Tema Autor Respuestas Vistas Último mensaje
  De Marlin 2.0.9 a Marlin 2.12 21Curiosos 3 268 22-01-2023, 09:36 PM
Último mensaje: 21Curiosos
  Marlin Builder v1.0: Configurando firmwares Marlin online y de forma muy sencilla Peter13 4 15,137 20-04-2020, 10:07 AM
Último mensaje: Peter13