-
-
Notifications
You must be signed in to change notification settings - Fork 161
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CoreXY bug #124
Comments
Hi @oilytin, I don't have a CoreXY machine so it's difficult for me to do the necessary tests. @++; |
By trial and error I found the value 89 works for coreXY +Z+A and the limits work as expected. It also sort of works on my coreXY/UV fork, the motors move as expected but the limits for X and Y dont work (U and V work as expected???) really at the limits of my knowledge trying to sort this 😖. |
With regards to building a Core xy prototype, you could probably get away with 2/4 motors and just observe the rotation. Moving along one axis will rotate the motors in the same direction, and moving along the other axis will rotate the motors in opposite directions. Have done some more digging and found that the same steps as above needs to be aplied to the Initialize step pin masks part of the code in limits.c to get my corexy/uv code working. Im guessing that this is the value that the respective bits of code should return but dont. its as if they only return half at the moment. |
I believe I'm in the same situation as you. I have a CoreXY machine running four-axis on a standard Arduino Mega 2560 and homing is only moving one motor at a time. I don't need to home axis A but do need to home XYZ. I'm unsure how to apply the fix you suggested on May 26th, I can find the line in limits.c but I'm not sure what the value of 89 represents. In the linked workaround they said it was the "combined mask for step pins". Are you able to explain that or how to calculate it for my scenario? My other alternative is to manually home by sending incremental gcode commands and poll the arduino to check when the limit switch has been triggered which I haven't tested yet. Thanks, |
Hi @AngusLawlessDunn , |
Is there anything new on the topic? I have try some value for I have manage to get the CoreXY to home but the A axis don't move or it's move to the sensor, triggert the sensor, drive 5 mm back and I get a error. I try to find the problem in the code without success. (2 hours wasn't enough) |
Hi @Knipex95, I didn't find the time to work on this bug as there was a workaround to home the CoreXY... You say that you managed to have a correct home on the CoreXY, but that there is still a problem on the A axis... Can you post your config.h, cpu_map.h, nuts_bolts.h and limits.c files, and the output of the @++; |
@fra589 Hey I invested about 6 hours of work and made many changes to many files. But I create a new error. :-) |
Hi @Knipex95,
👌
I'm interested with your changes. Please, can you post a zip file with all your Grbl code files?
Did you enable the The hardware limits code is disabled by default to maximize performances. And I also think than software limits are enough and hardware limits are not useful. @++; |
No I don't :) I don't test it but i tink ist will work if I enable it.
I have done the main changes in: But you have to compare it to find all changes. I don't document it. And for a future project I need the dual motor support for self-squaring gantry homing. And a side question is it possible by default to disable the Software limits only from the A axes. |
Just set the MAX_TRAVEL of the A axis to 0 (zero) and the soft limit of the A axis will be ignored. |
I try this already. I set |
Oh darn! Looking quickly in the code, it seems to me that you should get an alarm #10 in this case. You need to deal with this special case in the code by adding a test that defines the max displacement if the value is zero for rotary axis. I probably add this to the code soon :-) @++; |
Hi @Knipex95,
I think than the correct way to add safety will be to use
Grbl and by inherit, grbl-Mega-5X, is not "Arduino" code, but pure highly optimized C code, utilizing every clever feature of the AVR-chips to achieve precise timing and asynchronous operation. Not either C++! In fact, personally, I don't use Arduino to compile it. I use make under Linux which directly calls the avr-gcc compiler. For more information about this, read:
Done ! 😃 @++; |
Hi,
Homing only moves one motor at a time all other corexy movements (jogging etc) are ok.
gnea#49 (comment)
A workaround was posted in the issue above but i am unsure how to apply it here.
Thanks
Anthony
The text was updated successfully, but these errors were encountered: