Delta Stage Not Moving in a Straight Line When Doing a 1D Scanning

Hi, thanks for the genius design of the delta stage, our lab has a way to replace the crappy piezo stepper which is at the edge of broken.
But I didn’t use the openflexure-server, which is well-optimized for the delta stage. I use LabVIEW to control the stage by sending serial commands instead, and use the same cartesian-delta transformation matrix which I found in the source code of the openflexure-server. But as you can see in the video, when I do a 1D scanning in the same X direction, the image also moves in the Y direction half-way, the trace looks like a sine-wave instead of a straight line. I haven’t done a backlash correction yet, but I think the backlash only has an effect when the stepper motors inverse the rotating direction. So the wiggling trace really puzzles me. Could anyone give me some advice on how to optimize that? Any idea will be greatly appreciated!

@QuantumFlow this is a cool application.

Do you mean that the stage reaches the correct end point - it has moved overall only in x, but that along the way it does not move in a straight line? The stepper motor movements are not synchronised, and for one of the Cartesian directions on the delta one of the motors will have a total number of steps to travel that is more than the other two. The Sangaboard drives steps at a constant rate I believe, so the smaller number of steps would finish the move first.

Thanks for your help!
Yes, it moves overall along the X axis, but sometimes it has some Y-direction movement mixed into the X movement (it shouldn’t).
For the X movement, there’re two motors involved in this process, as is shown in the screenshot. Motor 1 rotates 34 steps while motor 2 rotates 34 steps in the opposite direction. So I guess the unsynchronisation is not an issue?
I use the resin instead of PLA to print the six gears, maybe that will have some negative effect on the outcome?

I would have thought that x would have been fine in that case, with the two motors moving at the same number of steps per second in opposite directions it would move smoothly. The issue I was talking about would be in y in your coordinates. It does sound as though something is sticking.
If you observe the gears on the motors, do they look to be moving at the same speed and starting/stopping together?
Also do the motor gears and the big actuator gears all seem to be moving at constant speed?
Are all the gear teeth well formed? You can test by moving ~2000 steps and trying again. A full revolution of the small motor gear is about 4000 steps, so 1000 or 2000 steps is a different part of the gear.
Finally, if you have been using the stage a lot the actuator screw/nut will wear very quickly if they are not oiled as in the instructions.

The brute force solution is to make a large travel in several small steps, to make the motors keep together at the intermediate points.

The cartesian versions of the stage are a little more straightforward for smooth linear motion. Do you need 3-axis positioning? We can easily generate an x-y version of the cartesian microscope from the source, or the Block Stage gives 3-axis cartesian motion, but without access in the centre of the stage.
(Edited out repeated text)

Today I did a 2D scanning using the laser under a 50X objective lens, the result doesn’t look very nice, maybe it has something to do with the backlash correction…
The stepper motor moves 3 steps each time, scanning a 160x160 grid and taking the image based on the strength of the reflected laser.

I also have some images of lower resolution: 20x20, 40x40, and 80x80:
Untitled picture
Untitled picture2

The way I do scanning is like this:

So the perfect result should be multiple inclined parallel lines.
I did notice that the stage will go in a weird direction when changing lines, (such as finishing the first line scanning and going up to scan a second line). Sometimes making the second line even partially overlap with the first line, maybe that’s the cause for the glitched image.
I’ll really appreciate it if anyone can tell me the typical backlash value of this system.

Backlash is large on the scale of your scans. On a microscope running the Openflexure server there is a camera stage calibration tool that measures the backlash. For the cartesian microscope I think it is usually about 70 steps (and I would set backlash compensation at 200 steps to be on the safe side) but I have not got one in front of me to check right now.

The Delta stage geometry is different, but the mechanism of the gears and actuators is the same which is where most of the backlash will be. The additional complication will be that you need to deal backlash in the motor axes, not the cartesian x,y,z axes. Remember also the move to the start point of the scan. You need to consider the direction of that and any possible backlash, especially when the total motion in your scan is of the order of the expected backlash.