Add new Kinematic in Repetier Firmware

Hey,

i want to add a new kinematic for my 3d printer. Actually this is not a real new kinematic it is between corexy and cartesian. 
If i move in Z-Direction i have to correct the y-Movement (y += z/2). 
The only Problem is there should i put my code? I tried several things in the motion.cpp, Printer.cpp file with no success.

Can somebody tell me the functions i have to change for success?

Many thanks in advance

Comments

  • What you want is soemthing like cory yz. Easiest hack is to search for

    XY_GANTRY

    in motion.h and motion.cpp and change the equations and motors. There is also a XZ_GANTRY which might be an alternative if you rotate your axis 90° around z so that y becomes x. Then it becomes even easier and you only need to change startXStep and startZStep. Nice thing is that 2 virtual steps are one full step which helps with z/2 function.
  • edited May 2015
    Thank you for the quick response. 

    This is a good idea with the XZ_GANTRY. But i cant figure it out what you mean with the virtual step? Do you have some documentation about that?

    I have to change it in the function "inline void startZStep()":

    #if DRIVE_SYSTEM==ZX_GANTRY
            if(isYPositiveMove())
            {
                Printer::motorX++;
                Printer::motorYorZ++;
            }
            else
            {
                Printer::motorX--;
                Printer::motorYorZ--;
            }
    Maybe i can use something similiar to if(<static variable>++% == 0) Printer::motorX++; ?
    A Problem could be that i have different steps per mm for the z-axis and the y-axis.. 
    #define XAXIS_STEPS_PER_MM 800
    #define YAXIS_STEPS_PER_MM 800
    #define ZAXIS_STEPS_PER_MM 81920

Sign In or Register to comment.