Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
TMC 2130
#21
Hola, tendrás que investigar porqué te da ese error al compilar si comentas la línea #define TMC_USE_SW_SPI. No debería hacerlo.
Los finales de carrera no deberían influir en nada sobre este tema y mucho menos si están conectados o no a la placa. Si no lo están, para ella están siempre open.
De todas formas, no hay problema en que esa línea esté descomentada, siempre que en el archivo pins_RAMPS.h pongas las líneas así:

#if ENABLED(TMC_USE_SW_SPI)
 #ifndef TMC_SW_MOSI
   #define TMC_SW_MOSI    51
 #endif
 #ifndef TMC_SW_MISO
   #define TMC_SW_MISO    50
 #endif
 #ifndef TMC_SW_SCK
   #define TMC_SW_SCK     52
 #endif
#endif


Naturalmente, siempre que mantengas las conexiones como la imagen que pusiste.
El hecho de que te dé ese error de compilación, me hace pensar que hay algo que aún desconozco en tu configuración.
Citar
#22
Hola

He vuelto a comentar la línea

    #define TMC_USE_SW_SPI

Compilado y subido sin errores.
He apagado y vuelto a encender la placa y ahora ya no sale el error de overtemperature.
Como de costumbre solo Murphy lo sabe, la informática es así, solo el tiempo puede que permita descubrir porque.


Sí que da como estado al ejecutar M122 en los cuatro drivers 00:00:00:00 que no se si tomarlo como bien o no.
Ahora envías comandos y la placa responde a los mismos, que antes no era posible.


He activado PiNS_DEBUGGING y he revisado la asignación de pins, los que he visto están todos bien, por lo tanto los datos de pins.RAMPS.h los toma correctamente.
He revisado los tres pins de los puertos 50 51 y 52 y están asignados correctamente.
Los fines de carrera los da todos como abiertos, por lo que no es un problema, supongo, para el giro del motor.

Ahora hay que averiguar si es un problema de alimentación o algo similar el que los motores no giren, o que parámetros pueden influir en ello.
Pero de momento avanzamos.

Este fin de semana no me van a dejar, pero lo retomare el lunes o martes.
Gracias Simemart.
Saludos,


Antarjcor
Citar
#23
Hola
Bueno, se han movido el eje X e Y, pero se mueven simultáneamente, que eso debería ser en el eje Z.
Pero lo malo es que no controlo porque se han movido, pero funcionan.
Lo estoy haciendo desde Pronterface, en la línea de comandos.
Primero había probado los comandos M906 y M911, y respondían bien.
Les he puesto en la última prueba 800 en el parámetro  x_current a los tres ejes, y se mueve bien X e Y, a Z no lo he probado todavía, porque no me responden bien.
Buscare los comandos Gcode y lo haré directamente.

Avanzamos.
Gracias.
Saludos,

Antarjcor
Citar
#24
Hola
He revisado los archivos configuration.h, configuration_adv.h y ramps.h y no soy capaz de averiguar que parámetro puede estar provocando que los motores X e Y se muevan juntos.
Los del eje Z se mueven a la par cuando les envío una orden G1, pero los de los ejes X e Y se mueven a la par cuando la orden es para X o para Y.
Está relacionado porque la configuración es coreXY y eso conlleva que ambos ejes giren simultáneamente, aunque la orden sea solo para X,  G1 X100, por ejemplo.

Alguna idea.

Muchas gracias.

Antarjcor
Citar
#25
Hola, por supuesto que en una impresora con cinemática CoreXY, se mueven conjuntamente los dos motores correspondientes a esos ejes. Precisamente en eso se basa este sistema.
Dependiendo cuanto giran y en que sentido cada uno de ellos, se producen los desplazamientos en X y/o en Y.
Si te fijas, verás que no giran lo mismo si la orden es para desplazarse en X que en Y, pero sí se moverán los dos.
En concreto, cuando giran en el mismo sentido, se desplazará uno de ellos (X o Y) y si giran en sentidos contrarios, el otro (Y o X).
Citar