Hi all,
I’ve been trying to solve this in the software instead of adding extra sensors. As the stage moves over a sphere cap, it seems a good approximation that the stage is centred when it’s at its highest position in z, which we can track on a flat-ish sample
In the video above, you can see the height of the stage as a function of xy. Hopefully soon we’ll have some scanning code that (optionally) compensates for this z travel when performing long xy moves
If anyone wants to test my code to recentre, you can get it from Joe Knapper / height_map · GitLab. It runs in a couple of minutes, prints the estimated xyz centred position, and moves there. When I’m running multiple long scans now, I always recentre between scans using the coordinates from this.
Although this doesn’t detect the limits of the ROM, every OpenFlexure Microscope should have the same range. If you’re always starting from that point, I should be able to measure the limit on my v7, and share it so people can set a hard limit - no moves are permitted outside of that range. Some of the code that me and @r.w.bowman have been working on can also detect when the stage doesn’t move properly during a movement; there’s no guarantee that’s because of the limited ROM, but it can still flag something to the user
Comments, questions and testers welcome