Ok, good news and bad news:
Good news is I got a chance to draw out the hilbert curve svg that you were trying. Bad news is that it drew out fine - no distortion.
I used the current version of the Polargraph controller, with the SVG at the same scale as yours, on the same sized page. My machine is not the same size as yours, but not far off.
The hardware is different though: I'm using a Polarshield, which sits on an Arduino MEGA 2560 and wires up two A3988 motor drivers, hardwired to microstep at 8x.
Usually this uses the polargraph_server_polarshield firmware, but I also tried with the polargraph_server_a1 firmware, with serial steppers configured - same result.
The rest of the hardware is a 9v, 2.66A PSU and two NEMA 17HS13-0404S steppers, motor speed and acceleration were around 2500 (that includes microsteps, so it'd be 5000 on yours to move at an equivalent speed on the page).
Hypothesis: This hilbert curve is a bit of a "torture test", cramming in as much back-and-forth as possible to try and prompt tiny errors, then magnify the consequences of it. I'd be amazed that physical errors (overshooting or dropping steps) would be so consistent between runs, and that there was no sign of them during other drawings (the crown)... But I've been amazed before. Perhaps if you drew hundreds of tiny crowns you'd find that they lost integrity too.
On my stepper drivers I can tune the current to give more or less torque/grip. If yours can also, look at bumping them up a little and see if that makes any difference.
This is a fascinating exploration!
You could try to replicate my settings more exactly by changing to step multiplier of 8 (will still work fine, but will lose half of it's internal resolution) if that's appealing. I don't imagine it will make any difference though.
|