I'm trying to develop an adaptable robot for use in our biological laboratory. We have access to robots for liquid handling and colony picking (basically touching pins to microbial colonies and moving them to arrays of well with growth medium). I'd like to cobble together something more affordable and accessible using open tools that we and others would be free to develop and modify as we see fit. There are nuances to each application that I won't drone on about right now, but I want to get feedback on what sort of platform seems best suited to the job. We basically need a 3 axis instrument that can travel ~0.5 m in x and y, but substantially less in z is fine -- even 0.1 m would be enough. Resolution is critical, as we need to be able to control very fine movement, ideally down to ~0.01 - 0.02 mm steps with repeatability over the course of a single run. I envision the components that need to be moved around weighing no more than 1 kg. Using an existing design as the starting point seems prudent. It's worth noting there's an "Opentrons" project that launched from a Kickstarter and now sells robots for $2k-$4k. That's certainly not bad compared to other commercial options, but if I can get off the ground for under $1k with the C-Beam or similar, that seems like a better starting point for customization. Based on my initial reading, a CNC machine like the C-Beam seems fundamentally suited to these sorts of loads and specs; a 2 mm pitch lead screw and 1.8° stepper motor should give me 0.01 mm resolution if I've done my math correctly. But maybe another platform (3D printer? something else?) would be a better fit? Thanks in advance for any guidance.
OpenSampler: OpenSource autosampler for use in laboratory may offer something of value. Beyond that all I can suggest would using rotary encoders or a closed loop system to verify accuracy of each movement. ClearPath Servo Motors may also be useful.
I am currently working on a project at work for a nuclear lab with similar resolution requirements, and came across an arduino library that combines the functionality of accelstepper and the encoder library to use an encoder to confirm actual displacement after a move and correct if necessary. While my geometry is different a quadrature encoder and stepper with lead screw elements should get you around where you want to be, as long as you get an encoder with enough resolution. Ill update you with what I find as I complete this project and you can see if it works for you. Autosampler above is probably a great starting place for your geometry, although for your tolerances rigidity should be key. That may all be a ramble but let me know if I can help.
Thanks for the pointers. The OpenSample project looks like a nice concept, but it does seem to lack the rigidity required for reliable positioning. I think that's workable for an autosampler but not our applications, and I'm inclined towards a built with more structural support. I do wonder about positional accuracy issues and positioning feedback. The ClearPath servomotors look wonderful, but I think they're overwrought and expensive at least for an initial stab at a build. Nonetheless, reliable positioning is critical. If I can't count on a stepper missing the occasional step, I'll need work to include an encoder for position feedback. Any suggestions for an encoder? I've seen a couple of designs online mounting a magnet to the motor shaft and using a Hall effect sensor to track revolutions. Maybe there are better options? Thanks!
I'm trying to crack the same nut. Will be looking at Opentrons very closely since I also have to integrate much pipetting as well. Any ideas for making an automated fluid transfer to a sample loop for injection into a MS? Plan to base system around 96 well microplates.
Honestly a linear encoder is the best way to go for the accuracy that you want, but your stated budget of a $1000.00 or less kind of throws that out the window. Rotary encoders will work but you have to bear in mind that when your machine reverses direction you will incur backlash, and while it can be mitigated the error over time can build up well beyond the tolerance of about 1 mil you are looking for. The rotary encoder will track the shaft or lead screw position, not the carriage position, unless you get extra fancy with your implementation. I did find a project that I haven't looked into a lot but may be a good option for you. Mechaduino. Perhaps there are some other people on here who can help with it who have experience or when I have the money Ill buy some and let you know.. Ill keep looking, and the product Rick 2.0 linked to above is a decent encoder, have that style myself.
I don't know how comfortable you are with modifying code (or if you'd have to) but there is a site openpnp.org which does pick and place for surface mount components. This design and code may be a starting point to consider as well.
The 8x8 leadscrew supplied with the C-beam is quite capable of sub 0.01mm resolution. 8mm pitch 200 step per rev motor 8 microsteps 200 stepps/mm or = 0.005mm per step. increasing microsteps will decrease that figure but will also affect accuracy since the distance between microsteps is affected by load and small microsteps have less power. This will affect Z the most as it is lifting that 1kg weight... I would use 4x microstepping == 0.01mm per step and be happy with that.
Certainly if I can't count on the stepper motors not to drop steps, I'll have to incorporate position feedback. I do plan to incorporate a homing routine for each run; even if the instrument position were perfectly reliable, the components it handles are bound to shift around slightly between different runs. So the biggest issues are resolution and repeatability within a run rather than identifying the same absolute position between runs. Homing seems pretty straightforward using limit switches and/or user-guided input. Accounting for any dropped steps seems more complicated. Linear encoders would be ideal but would be shooting too high for this build. Rotary encoders seem suitable, though I'm unsure of the best approach. Mechanical encoders are cheap and simple, but their rated rotational life would only amount to a few runs of the instrument if matched 1:1 with the motor shafts. A Hall effect-based chip looks like an ideal, contact-free option, and I'm relieved to see the Mechaduino project -- well worth $50 for the PCB and soldering work. I think I'll try that mounted to the Nema 23 unless someone can suggest a better option (?).
I should also note that my initial choice of C-Beam CNC as a starting point probably wasn't best insofar as it relies on movement of the table for y positioning, which is especially problematic when using liquids on the table. In that regard, the Cartesian CNC designs seem better-suited. The OX seems like the best bet for a well-tested design with plenty of community support. This does change the xy resolution considerations: a 2 mm pitch belt with 20 tooth pulley still gets me down to 0.025 mm per eighth step if my math is right. That's a little higher than I was shooting but still perfectly acceptable -- the top priority is reliable relative positioning between points on the table. Backlash is obviously a big concern here; I can try compensating by ensuring final positioning moves always occur through movement in the same direction, but is there a fundamental advantage to belts or lead screws in this case?
I would say stick with lead screws. You will get more reliable positioning with them. As far as the designs I know there are some OX lead screw adaptations, or you could change the Y axis actuators for the C beam form the bed to the verticals and make the bed stationary. I want to say Ive seen this done on a C Beam Machine (non XL). Ill look and post if I find them.
Linear Rail CNC Machines This is a OX type with lead screws. Rather than using linear rails just use CBeam Actuators. C-beam Sphinx One with CBeam architecture.
Thanks for the feedback. These all look like fairly strong designs that I expect can deliver reliable positioning insofar as I can count on the motors to behave. Does anyone have hands-on experience with the Nema 23 motors on similar setups? I'm curious whether it's possible to drive the motors in a way that makes missed steps a non-issue in this sort of configuration. If I do end up having to rely on position encoding, it looks like the development investment might make it practically cheaper to go with the pricey ClearPath servos. The higher price tag wouldn't be the end of the world, but it would limit accessibility of the build to the wider community.
One layout worth considering would be C-Beam Prefab Untitled. All stock components, no custom plates required. As for step loss, it should be fairly simple to keep at a negligible level which when combined with homing each trip should make it a non-issue. Just ramp up and down with reasonable acceleration and avoid excessive speed. Wear and tear on the rotary encoder should not be an issue with photo electric encoders.
I saw that Prefab build previously and thought it would be perfect, but I couldn't find details on the build. Maybe it will be updated soon... For a starting build, I'm inclined to use limit switches to home at the start of a run and avoid problematic movements, as you describe. If it doesn't prove robust, I can add encoders or bite the bullet and upgrade to servos.
It's really nothing more than a C-Beam XL with the Y-axis actuators upsized to 1000mm and the parts rearranged into a stationary bed system. I have a feeling a couple of them are about to be built so there should be plenty of information in the near future. If not, all you have to do is ask and someone will guide you through it. Here is a similar concept posted a while back created by Mark Carew which may also suit your needs and be a bit less expensive to build. He probably has a Sketchup file on it but if not it's pretty much a see-and-do build once you understand the parts.
Thanks for all the helpful feedback here. I'm inclined to purchase the SMW3D OX kit since it greatly simplifies gathering parts. It actually looks like we'll have some money from the department slush fund that would put the Cleapath servos in reach. Is it any more/less difficult to go all in with the Clearpath motors at the start? I can see that it might make sense to start with a more "standard" motor + driver + controller setup provided with the OX kit since there seems to be a fairly wide user base. But it's really the same difference or perhaps even easier to work with the Clearpath motors at the outset, I could just go that route. PS: Are there particular Clearpath motors that suit this project? I assume the NEMA 23 footprint is a given if I go with the OX plates, but they offer a wide range of models. My guess is the basic "MCVC" models would be a good match and that I might want to prioritize torque over max speed, but that's not a particularly educated guess!
If you use the SK type motor then aside from the initial setup and the different power suppy it should be a direct replacement from your controller.
In our labs we do a lot of robotics and precise positioning although at very high loads. These are the encoders we use and they are awesome. Under $30, configurable up to 4000 counts per rev, line driver & they have a great set of adapters to suit any shaft. If you direct drive this to a 5mm pitch screw you should get 0.002mm resolution which is ~0.00005". However as @PhotoSgt85 said you have to deal with backlash otherwise your accumulated error will drive you mad. You can accommodate for it in software if you measure it (dial indicator) but it is still inaccurate. Instead I would use an antibacklash ball screw. I havent used the clearpath servos and my experience with integrated hardware is limited but you can find other integrated servos around if you are trying to get the cost down. Thats an Australian supplier but it may give you some other options for search terms. Regarding motor power selection. If you are just moving a sample tool around, not pushing a heavy cutter through material you dont need to spend a fortune. You would be surprised how little power you need just to move things about. Are you at a university lab? If so you may have access to other resources from engineering departments.
Resurrecting this thread since I ended up purchasing an SWM3D (I guess that's now Hobby-Fab) OX kit and the Acme upgrade. It's actually still waiting to be assembled, which I'll have time for early next year. But we also have lab funds to spend down this year (I know, my life is so hard!), and I've been given the green light to purchase a full set of Cleapath servos. I'm trying to figure out which exact Clearpath model I should order. The earlier reply from PhotoSgt85 (thanks!) indicated I'll want to go with one of the SDSK models, and I gather I'll need NEMA23 size, but that includes a dizzying array of options: SDSK Models - Teknic. Any input on which of these to go for? They're all within reach price-wise, but the specs vary considerably. It's worth noting that the options range in length from 3.3" to 5.6" and in weight from 1.4 to 2.8 lbs.