-
Notifications
You must be signed in to change notification settings - Fork 90
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
Non-smooth motion while engraving #570
Comments
Which sender? |
The primary use case is uploading via HTTP and then streaming from SD with $F=filename. To test if there was a problem with SD, I tried Universl Gcode Sender over USB. Both with exactly the same results. My settings are: $0=10.0 |
I see that you have a rather high max feedrate, which feedrate is set in the file you are trying to run? FYI the new Pi Pico 2 is very likely able to handle higher feedrates since it has a FPU, speeding up floating point calculations significantly. According to the specs it can replace the Pi Pico since it pin compatible. I will add support for it when I get may hands on one. |
The feedrate I try is even higher (Visicut was still configured for 48000), I assumed grblhal will cut if off to 30000. The file has +/- 500 G1's per line of 15cm. That means 1600 gcode-commands per second. Does that sound close to or over the limit? I already worried about maybe getting to the limits of the pico. Thanks for the hint of the $398, will experiment with that tuesday. By the way, where could I have found this setting? It isn't in the wiki's settings page. Support for the Pico 2 would be great. I just ordered some to experiment with. I can send you one if you want? |
It will.
I'll have to run tests to find out. For that I need a file generated by your software.
I (or someone else) need to revise that page, and write a lot more supporting documentation...
Thanks, I would have ordered some myself already if it were not for soon going abroad for a while. Will do so when I arrive and they become available there. BTW the iMRX1062 (Teensy 4.x) driver is in a class of its own when it come to engraving speed, it is/has a 600MHz MCU with a FPU. I have managed to achieve feedrates > 50000mm/min and transfer of ~400Kbytes/s over USB with it. |
I tried tonight with 10000 mm/min, also with double and half the $398. Then the slowing down didn't occur, but it still "clunks" sometimes. This doesn't happen with simple, large, linear moves (so therefore I wouldn't expect it to be a hardware-problem). The primary use case is uploading via HTTP and then streaming from SD with $F=filename. To test if there was a problem with SD, I tried Univeral Gcode Sender over USB. Both with exactly the same results. I attached a sample file. I think it's quite clean, only containing G1's and G0's. By the way, I set the power to 0 in visicut, so therefore there aren't any lines with power. Normally the G1's alternate with 0 and high power. reproduceren_engrave_probleem.gcode.txt What should be done to compile for Pico 2? Maybe I can try myself :) |
Sorry, I wasn't accurate in my previous comment. I did try Universal Gcode Sender and got the symptom of slowing down during "lines" of engraving. In my head, that had a 1 to 1 relation with the clunking. I just retried and it didn't! So the problem is with reading from SD. |
And btw, I disconnected the ethernet cable and then the clunking seems even not to happen when streaming from SD. |
Are you using a dedicated ethernet port on your PC for the board or do you connect to a switch or router? If the latter it could be due to general network traffic generating a lot of interrupts? |
It's connected to a switch, as we want to be able to upload jobs from visitors own laptops. So I came to the same hypothesis. Do you think the Pico 2 will help here too? |
Maybe, has to be tested. Another option could be to move the SD card and ethernet code to the second core (both since the SPI bus is shared). I have no idea how much work that would be - I have not done any multi-core programming before. The iMRXT1062 (Teensy 4.1) or STM32H7xx/STM32F7xx drivers are likely better options since they have on-chip ethernet controllers. |
I'd still like to test with a pico 2. What should be done to compile for pico 2? Building in an other board is quite some work, so a pico 2 as drop-in replacement would be a nice option for us :) |
Pico 2 support is coming soon. |
I have now updated the driver for SDK 2.0.0/RP2350 and committed the changes. The Web Builder is not yet updated, will do so a bit later. FYI I build with VSCode on a Windows machine, switching between boards seems to be a hit and miss sometimes... |
50000mm/min with teensy 4.1 refers to a raster processing speed? or are we talking about photos? what should be the optimal setup (hardware and firmware) to be able to reach the highest speed (without slowdowns) in photo engraving? |
Increase the planner buffer size by setting $398, the iMXRT1062 can handle up to 1000. Max speed and acceleration settings $11x and $12x must also be tuned to match what the machine is capable of. And do not forget to enable character-counting streaming mode (Agressive buffering in ioSender) in the sender. This can have a major inpact on how fast data is transferred to the controller. |
I played with various settings like speed up to 30000 and acceleration up to 5000, $398=1000 but for photo engraving I could not go beyond 15000 and, in any case, I saw jerky movements for each single line, it was not a smooth linear movement from right to left and vice versa...teensy 4.1 and tb6600 at 36v, nema 17...I do not understand what to change to increase the speed |
Perhaps step pulse length? BTW are your TB6600 drivers really TB6600s? |
about the tb6600 I also have big doubts but in the end I use 16 microsteps and 36v power supply. The steps/mm are 80 for X and Y, the pulse length is 3 (the tb6600 declare 2.3 min pulse), speed 40000 on X and 20000 on Y, accelerations 2000 on X and 200 on Y (due to the appearance of oscillations on greater accelerations) and $398=100, I also tried up to 1000. |
Hi there,
I'm trying to convert our laser cutter to grblhal with a pi pico in the picocnc board. I have it running, but still seem to have a problem. The problem is, that when I send a job containing very many small G1-codes (engraving as generated by Visicut), the movement isn't steady. Even if the speed is the same for all G1's per "line" (y-position), you can see it decelerating and accelerating (in the middle of the line, where there are more "dots" (G1's)), so seemingly it is a result of the many g-codes. Also, the machine sometimes "clunks" during these moves. The problem doesn't seem to be the speed, as we run it at speeds that should be possible looking at other lasercutters.
I use firmware as generated by the web builder (just tried new version)
Could this be buffer related or something? Any ideas?
Regards,
Pim
The text was updated successfully, but these errors were encountered: