-
-
Notifications
You must be signed in to change notification settings - Fork 20
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
[BUG] movement too slow with G2/G3 #72
Comments
i tried with latest marlin bugfix 2.1.x, it works great. Your tcpc branch has many errors, in addition to the g2/g3 migration error, there is also the problem of declaring spindle in the adv.h file. I have downloaded the latest version on your tcpc branch, reconfigured it, I will test it in the next few days to give you feedback. i use chip mega 2560 board ramps 1.4 for 5 axis machine, has limit switches for all 5 axis. |
What do you mean with tcpc branch? Do you use my Marlin2ForPipetBot branch ? With that branch I can enable SPINDLE_FEATURE without problems. Please provide your configs (Configuration.h, Configuration.adv) and the exact error message. You can attach files by putting them in a .zip archive. Then add a new comment below. While editing the comment, click on the button "Paste, drop or click to add file" below the comment. |
These are the 3 files I have edited in there, In the pin ramps file, I edited the endstop part to add home points for axis a and c |
The change in commit d632ff3 was an attemt to fix an issue with erratic, fast moves when a G1 command involving only linear axes was followed by a G1 command without F parameter that involved rotational axes. The compiltion error when SPINDLE_FEATURE and ABORT_ON_SOFTWARE_ENDSTOP were enabled is now fixed in branch Marlin2ForPipetBot with commit 00e49de. |
I downloaded your latest fix, compiled it, no more errors appear at the moment. I will test it on my cnc router. |
PI3_chess-king.zip |
video.zip |
Am I annoying you by asking too many questions? I discovered an error that I cannot use g38 in the adv.h file if I use tcpc kinematics. I love your firmware, so I want to apply it to multi-axis CNC machines, or robotic arms. i know the marlin platform doesn't prioritize cnc work. If I bother you, then please try to fix the g2/g3 error. |
I appreciate any feedback. Please report as much issues as you can. I have a lack of time and I am not a "hardware guy", so I depend on testers and discussions like this to improve support for mills in Marlin. I will look into these bugs one at a time, whenever I have time to spare. |
I cherry-picked the two most recent change-sets affecting G2/G3 from MarlinFirmware/Marlin. One of the commits was called "Fix G2/G3 error in limit speed", so that might already fix the issue with G2/G3. Please test the latest Marlin2ForPipetBot branch from today Enble G38 with a non-cartesian machine at your own risk. It was never tested. Make sure that the rotational axes are in neutral (zero) position before you send G38: Probing currently can only work if your tool and probe is oriented in Z direction and when the table / printbed is oriented in the XY plane. Switch to tool 0 for probing. HOTEND_OFFSET for tool 0 must be 0. To compile with G38_PROBE_TARGET, remove the following 2 lines from file Marlin/src/inc/SanityCheck.h before compilation:
|
I just recompiled, and am excited to test this g2/g3 fix. We'll come back to this g38 topic once we're done with the g2/g3 fix. I will need some time to rebuild my multi-axis cnc router, with tests using high precision measuring tools. will then respond to you. |
Previously discussed topic, I don't know if it can help? |
what a mess, marlin bugfix 2.1.x branch cannot connect to cura software like your branch. |
video when testing code with Marlin-Marlin2ForPipetBot branch, the response from the software is too strange |
I can confirm that G2 is totaly broken in Marlin2ForPipetBot. On my machine, trajectories and feedrate are wrong, even when compiling for a cartesian machine (no special kinematics defined). It was working at some point,. Looks like some wrongly zero-initilized variable, but I cannot find it. The fr_mm_s varibale in the body of the function Planner::_populate_block shows correct values when executing G2 commands, so that is not the issue. I think the easiest and best way for me to fix this is to rebase onto current bugfix-2.1.x. Initially the new branch I plan to create will not support G49 or G43, it will allways be in TCPC mode. I have already rebased kinematics, quick_home and tool change. TOOLS and G10 is missing. It will take some weeks to have something ready for testing. Sorry for the inconvenience |
I feel a bit regretful if I have to go back to the beginning, the official branch on the marlin homepage, or the bugfix branch makes me not very confident about the part that creates pulses to make the axes move, the sound of the moving motors is not as smooth as the Marlin2ForPipetBot branch. your. |
DerAndere1. |
I am building an additional handle for a cnc machine by using an Arduino nano to generate rotation pulses for the x y z axes. communicates with the motherboard via the RX TX interface. Everything on the handle is fine, but connecting to the motherboard is not possible. I don't know if the mega 2560 chip allows multiple PORT RX TX ports. |
I have completed the handle job version from a free source code, the problem is that I am testing the rx tx communication with the MKS GEN L board, the firmware allows using additional port 2. However, the central controller My heart is building on a multi axis cnc router which is a mega 2560 kit and ramps. I haven't figured out how to solve this problem yet. haha |
a 2560 motherboard is an 8 bit version |
Looking at your compiler error list; |
I have connected handle job to board meg2560 + ramps via rx tx port. firmware marlin bugfix 2.1.x |
DerAndere1 |
DerAndere1 |
yesterday i went back to compiling on mega 2560 chip with ramps 1.4 board and MKS_GEN_L. the two standards i have used for testing to ensure that the tests are less prone to errors due to faulty chip boards. i found an error where the y and z axes were swapped, at first i thought it was because i tested on the stm32f407vet black board test kit which is a faulty board so this problem occurred. can you check this problem again? the g2/g3 - g0 movements were too smooth beyond my expectations. |
change that to:
and maybe also test
change that to this:
If that did not help, please send a copy of the pins_MKS_GEN_L.h file from your Marlin firmware as a .zip file |
Disconnect the Stepper Motors, enable PINS_DEBUGGING and use |
For RAMPS V1.4, |
hello |
M43 output looks as expected. If
change it to the following:
|
There will not be any ramps errors or any other board errors. I have carefully checked with the firmware on the official marlin branch, they work correctly with the pinout |
interesting. It must be a specific bug related to RAMPS or the atmega2560 environment that I am unable to fix because I have no RAMPS and I cannot reproduce the described behaviour on other boards. In any case, changing file pins_RAMPS.h as advised in my previous comment should be a workaround. |
testing on black stm32f407vt board also has this error, i will find some boards from other brands to test. i am just afraid that it is a serious error in the future if the firmware is tested more in real life. |
Do I understand correctly that M43 T P46 or M43 T I P46 toggles one of the 4 pins with the silk screen label "Y" on your RAMPS? You can test it by attaching a LED + matching resistor in series between the Y_STEP pin and GND |
do you have email? i still have a Marlin2ForPipetBot tested on 4/20/2024, i just reloaded the old version and it works fine. i will send you two old versions and the current version. the old version before g2/g3 debugging still works fine. |
You can compress them into a .zip file and upload them here, But I already went through the changes and could find nothing that would impact mappings of axes to pins. In the mean time, I updated the Marlin2ForPipetBot branch and rebased it onto current MarlinFirmware/Marlin to include improvements to G28 and G30. When you use the current Marlin2ForPipetBot branch and enable |
Dont forget to send M502 followed by M500 after flashing Marlin |
the whole thing is too big i cant post here, maybe i will download your latest version, be patient with small modifications and see how it goes. i have not tried compiling with IDE, currently using visual studio code not sure if the compiler causes errors. |
everything new is here right now? |
Yes, the new Marlin2ForPipetBot branch is the default branch and thus what is displayed on the main page at https://github.com/DerAndere1/Marlin . If you want to make sure, use the branch dropdown menu and select the desired branch (Marlin2ForPipetbot). Compilation using Visual studio code with the platformIO extension should work fine. Using the PlatformIO-IDE extension for Visual Studio Code will yield the same results. Other IDEs are not recommended. |
I downloaded the latest version, compiled and everything seems to be fine, now just to assemble the mechanical part and run the tests. maybe the re-download and compiling completely helped me find the error that my previous tests didn't notice. maybe this warning line is causing the error ( platformio run --silent -e mega2560 |
I just pushed a commit to the Marlin2ForPipetBot branch that fixes compilation with SPINDLE_FEATURE. Happy to hear that the problem with the swapped axes is fixed now on your end |
Spindle_Feature was reworked to support lasers, spindles and extruders on the same machine. Please report If spindle - related functions do not work as expected. |
This is the error reported.
|
thanks for testing. that error is now also fixed. I never tested with ABORT_ON_SOFTWARE_ENDSTOP disabled before. with multi axis machines I feel it is much safer to have ABORT_ON_SOFTWARE_ENDSTOP enabled. With that feature you can send |
I have never used that feature either, because on industrial CNC machines, it is strictly forbidden to run close to the limits. They are strictly managed on the CAM software, collision checking during the code generation process is also checked. I often use mechanical limits to cut off the direct power source if there is a collision. On a side note, what 5-axis 3D printing software are you currently using? I am testing a small software running on the Phthon platform, never having used Phthon before makes it difficult for me to install. |
Can't these two be on at the same time?
This is a warning when both are enabled.
|
you need to slightly customize your Configuration_adv.h file to enable both at the same time. but be aware that I never had the time to test this Replace the Spindle / Laser section with this
|
why marlin and grbl software can not connect to each other? i have a 5 axis grbl software shared for free, my idea is to turn it into 3d printer gcode cutting software and also 5 axis cnc. |
I tried to integrate 5axis kinematics into grbl-HAL, but did not succeed so far, because I am unfamiliar with their codebase. My next plan is to open an issue in the grbl-HAL repository and post the code for the kinematics calculation there, so their team can take over and integrate it. However, grbl-HAL is still missing support for extruders, hotends and heated beds. That has to be added by someone else. Note that Marlin is in fact the result of adding Support for 3D printing to grbl 1.0. I was also approached by the ReprapFirmware (RRF) team and I am colaborating with them: I offered to check their 5 axis kinematics implementation once Jörgs code (https://github.com/JoergS5/RepRapFirmware_robot) is ready for review (See https://forum.duet3d.com/topic/17421/robotic-kinematics/379). |
What do you mean by TCPC special kinematics? i send you grbl 5 axis software, i have tested it works well with 5 axis. i don't understand everyone's intention, the fact that i don't use grbl, mach3, linusCNC.. because they depend too much on the computer. they are not like marlin, separate screen and independent. i think grblcnc is the same as linuscnc, TCPC need to change in the software. the movement part of the E extrusion axis we can code the control algorithm like the spindle - laser control. ` |
do you know him? i also tested the software he built. it works very well even like a paid gcode export software NX-CAM that i am using. if it is possible to combine all of them to create a gcode export software for 3d printers, it would be great. |
GRBLGRU SOFTWARE DOWNLOAD LINK |
Did you test the latest
bugfix-2.1.x
code?No, but I will test it now!
Bug Description
WITH SYNTAX G2/G3 X Y Z I J F THE AXIS DO MOVE BUT VERY SLOWLY
This potential bug was first reported by @printercnc here: #55 (comment)
Bug Timeline
unknown
Expected behavior
Feedrate should be accoring to parameter F
Actual behavior
Feedrate too slow
Steps to Reproduce
TODO
Version of Marlin Firmware
unknown
Printer model
custom
Electronics
unknown
Add-ons
unknown
Bed Leveling
None
Your Slicer
None
Host Software
None
Don't forget to include
Configuration.h
andConfiguration_adv.h
.Additional information & file uploads
TODO
The text was updated successfully, but these errors were encountered: