Just writing down some info here now, because I’m about to mothball that CXY-V.2-0508 / Melzi 2.0.5 / Melzi 2.0v5 / …
…the Control Board that came with my TronXY X5S kit and that Marlin calls the “BOARD_MELZI_TRONXY” since version 1.1.9.
First about the onboard stepper divers: The’re often called A4988s – but they aren’t.
They are neither Allegro ICs nor did Pololu ever make a carrier with them.
They may be called 4982s, but the marking says “HR4982MTE”.
There is a GitHub list containing the Shenzhenshi Yongfukang (Heroic) HR4988, so the ones on the X5S stock 8bit board are made by “Heroic” and pin-compatible the the Allegro A4982.
So far, so good. If you speak engineering and search for a datasheet maybe this is for you…
If you believe you have a “proper” Melzi board in your printer, you might have heard of the “ROSC” resistor and that it can influence print quality. Nop Head blogged about it (“StepStuck”) years ago. They set the decay mode of the Allegro drivers and I wanted to find out, if the implementation of the “Melzi” Schematic by TronXY causes inaccuracies – especially in the X/Y plane.
It was interesting to see the silkscreen on the TronXY controller board still consistent with the original schematic of Adrian Bowyer.
But as the drivers aren’t Allegros (and maybe even if they were…) I couldn’t see any difference.
Used the OpenSCAD code in https://www.thingiverse.com/thing:8870 to make a 0-and-45-degree version of the “damping and resonance test part”. Gcode was generated (0.2mm layers with walls printed at 50mm/s max; acceleration is at 1250 in X/Y and jerk at 12), then I printed with and without resistors shorted (by turning them 90° and soldering a blob to the pads). They are still named R30, R14, R20 and R24).
Can you spot a difference between the upper and lower part? Me neither.
There is exactly the same resonance (or oscillation – from an eccentric motor pulley?) on both parts. The upper version was printed with the 10k resistors shorted to GND. No difference. So just be glad, that you don’t have those awful TI DRV8825s on your board and don’t fiddle with those ROSC resistors, because you read something about vertical lines on prints made by delta printers somewhere.
Next I used StepperSim to check what the resistors should be like. Next step: revert changes to ROSC pins as the default values were fine. And clean that flux…
I read a lot (e.g. here, here and here) about “vertical lines” and was surprised to see the Prusa Forum finally talk about “felt feet” to get rid of some mechanical resonance in the frame. And my Y-axis seemed worst – the heavier axis. Makes sense.
Months later there was a discussion on Facebook about the maximum speed for (very detailed) circular shapes. And the Melzi board didn’t shine there.
Turned out you could balance buffer sizes a bit (those buffers that caused me to set up my own Marlin 1.1.9 – as someone else totally messed them up) and avoid printing via USB (that’s described here), but ultimately a very detailed model would still flood them.
At some point the tiny movements, that your very detailed STL-file demands, are shorter than your buffers / planner can get filled (be it via the bottleneck USB or by that trusty old workhorse ATmega1284P itself) and your print stutters. Leaving blobs and zits all over the surface.
You can test those detailed circular shapes with the “Nutcracker by Riphaeus” (apart from the high detail it’s an excellent model!) – or use the “Curvy XY-Testshape” I derived from on of MAKE:’s shootout test files. The cylinders were printed with increasing feedrate. The results were not satisfying.
Next problem: Marlin 1.1.9 was using 98% of the Melzi’s flash and somehow that disabled the bootloader. -_- Using an old AVR ISP I could flash both seperately – but only the one flashed last actually worked. And the (proper) COM-Port couldn’t be attached to the Chipi-X I had on hand. So no enclosure for the Atmel ISP…
But while I thought about changing to Klipper something else appeared: BIQU aka Bigtreetech cloned not only the Re-Arm board, but also made the “SKR”, which (nearly) fits into “MKS Gen-L” cases, has stepper driver sockets and runs Marlin bugfix-2.0.x “Smoothieware”-replacement-style. And the v1.1 already was on sale for less than 16,-€ – I went for it wothout much thought…