[MARLIN Y LCD] Ajustar precision del encoder al cambiar variables del firmware

863 views
Skip to first unread message

Fernando Angulo

unread,
Jul 21, 2013, 9:58:13 PM7/21/13
to asrob-uc3m-i...@googlegroups.com
Buenas a todos,
 
Ya que estaba curioseando el firmware Marlin para corregir un problema que tenía con la configuración de las temperaturas máximas y en encoder, me he puesto a curiosear porqué cuando giro un click del encoder el firmware me cambia en dos unidades la variable que estoy corrigiendo.
 
Me explico, si entro en la temperatura del nozzle y giro un click el encoder, me sube/baja 2ºC.
 
Lo mismo me pasaba cuando intentaba mover un eje, ajustar el feed rate o navegaba entre las opciones del menú (aunque en este último caso tenía que girar varios clicks del encoder para conseguir cambiar al siguiente ítem de menú.
 
Lo que he corregido es lo siguiente:
 
1º Hacer que el encoder cambie una unidad a cado paso que dá:
 
    - Se añade esta línea en la fila 80 del archivo ultralcd.cpp:
        #define ENCODER_SCALE 2
 
    - Se va a la línea 892 (ahora 893, después de haber añadido la línea anterior) y se cambia:
        encoderPosition += encoderDiff;
    por:
        encoderPosition += encoderDiff/ENCODER_SCALE;
   
Esto he tenido que hacerlo así puesto que el encoder de mi LCD avanza dos pasos cada click que hace.
 
2º Hacer que pase a la siguiente opción de menú con tan sólo un click del encoder:
 
    - Se cambia el valor de la variable que hay en la línea 82 (ahora 82, después de haber añadido la línea de más arriba al código)
        #define ENCODER_STEPS_PER_MENU_ITEM 1
 
Este valor lo podemos ajustar de forma se lo incrementamos disminuimos la sensibilidad para que haya que dar varios clicks para cambiar de línea de menú.
 
 
Espero que le sirva a más gente.
 
Un saludo,

Iceflow

unread,
Jul 22, 2013, 3:19:17 AM7/22/13
to asrob-uc3m-i...@googlegroups.com
Muy buena info Fernando :D podias subirlo al FAQ ya que estas... jejejeje


--
 
---
Has recibido este mensaje porque estás suscrito al grupo "Clone Wars: Imprimiendo impresoras 3D" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a asrob-uc3m-impreso...@googlegroups.com.
Para publicar una entrada en este grupo, envía un correo electrónico a asrob-uc3m-i...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
 
 

Fernando Angulo

unread,
Jul 23, 2013, 6:24:42 PM7/23/13
to asrob-uc3m-i...@googlegroups.com
Añadido ;)
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a asrob-uc3m-impresoras-3d+unsub...@googlegroups.com.

Iceflow

unread,
Jul 24, 2013, 4:07:19 AM7/24/13
to asrob-uc3m-i...@googlegroups.com
Asi me gusta!! ;)


Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a asrob-uc3m-impreso...@googlegroups.com.

Danniel

unread,
Aug 12, 2014, 1:25:10 AM8/12/14
to asrob-uc3m-i...@googlegroups.com
Hola que tal, pues solo les escribo para decirles que resolvi este mismo problema de una manera un poco diferente y les explico:

Al igual que a Fernando, al momento de mover los motores con el pot del LCD, se me movian en multiplos de 4, es decir que en lugar de moverse 1mm se movian 4mm, en lugar de 10mm se movian 40mm y por tal razon hice lo que comenta Fernando, pero al hacerlo, esto tambien me afecto el Menu y tenia que darle casi 10 click del pot para que se moviera el cursor, asi que me puse a buscar en encontre las lineas donde vienen las escalas de los moviemientos y lo unico que hice fue dividirlo entre 4 para corregir el proble y santa solucion.  ya quedo perfecto. Ahora vere si esto no me afecta algun otro parametro y si es asi les aviso.

Las lineas que modifique que se encuentran en ultralcd.cpp y quedaron de la siguiente manera:

------------------------------------------------------------------------------------------------------------
static void lcd_move_menu_10mm()
{
    move_menu_scale = 10.0/4; // DIVIDIR ENTRE 4 PARA QUE DE LOS MOTORES SE MUEVAN 10 MM
    lcd_move_menu_axis();
}
static void lcd_move_menu_1mm()
{
    move_menu_scale = 1.0/4; // DIVIDIR ENTRE 4 PARA QUE DE LOS MOTORES SE MUEVAN 1.0 MM
    lcd_move_menu_axis();
}
static void lcd_move_menu_01mm()
{
    move_menu_scale = 0.1/4; // DIVIDIR ENTRE 4 PARA QUE DE LOS MOTORES SE MUEVAN 0.1 MM
    lcd_move_menu_axis();
}

------------------------------------------------------------------------------------------------------------
Ojala y les funcione también.
Saludos

Iceflow

unread,
Aug 13, 2014, 8:17:55 PM8/13/14
to asrob-uc3m-i...@googlegroups.com
Estaria muy bien tener esta informacion en la wiki :D podrias animarte y subirla al FAQ, asi serviria de ayuda a otros en el futuro!! ;)

Gracias por compartirla!! :)


--

---
Has recibido este mensaje porque estás suscrito al grupo "Clone Wars: Imprimiendo impresoras 3D" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a asrob-uc3m-impreso...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a asrob-uc3m-i...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

yovana baron

unread,
Nov 21, 2016, 1:50:38 PM11/21/16
to Clone Wars: Imprimiendo impresoras 3D
hola me pudres ayudar cambiar la dirección la perilla ya que esta gira en sentido contrario (derecha disminuye y a la izq aumenta)

Iceflow

unread,
Nov 21, 2016, 5:23:20 PM11/21/16
to asrob-uc3m-i...@googlegroups.com
Que pantalla estas usando y que firmware?

--
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.
Para publicar en este grupo, envía un correo electrónico a asrob-uc3m-impresoras-3d@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/asrob-uc3m-impresoras-3d/5f55c23c-b9f0-4371-bef4-0196e4b1b711%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages