Over this winter break, I’ve had lots of time to do CAD, and I’ve used that time to design a lot of elevator carriages with arm joints. My team’s robot for 2485’s CADathon had one, and now my team’s robot for the recent F4 CADathon has one (or technically two?) as well. Over this time I’ve become a bit obsessed with finding the most optimized way to package an elevator carriage with an arm joint, so I just started designing more and more, and now here I am. None of these designs involve chain tensioners, a shortcoming I am aware of and would not include on a competition robot. (Though I have been thinking about a way to include them in a future version)
Onshape document with all CAD models
Here are the four major iterations so far:
1. WCP inline bearing blocks, inline pivot
This is about as basic as it gets - simple and elegant. A NEO on a MAXPlanetary gearbox powers the rotation, with a gear reduction to an intermediate shaft and a chain reduction to the arm itself, which is mounted on a ⅞” round tube. (The specific size is because ⅞” ID bushings have a 1⅛” OD, meaning they fit perfectly into COTS sprockets with MAXSpline or standard bearing bores.) This carriage measures at 9.5” tall, and 8” wide with a 2 stage MP or 8.5” wide with a 3 stage MP*. Not bad, but it could be better…
*I decided to count the “width” of the carriages as the distance between the outer edges of the side bearings, since some of these will have different structures or bearing setups.
2. WCP inline bearing blocks, offset pivot
This is a very similar design to the first, but with the arm joint offset from the carriage. This allows the whole thing to get shorter, and gives the arm a much better range of rotation. However, because of the 0.25” aluminum plates needed to mount the axle, the carriage is 0.5” wider and is slightly heavier, though pocketing the plates helps with the weight. This carriage is 7.5” tall, 8.5” wide with a 2 stage MP and 9” wide with a 3 stage MP.
3. WCP clamping bearing blocks, 90 degree gearbox
This is where things start to get weird. Inspired by an idea from @cadandcookies, I decided to try using the new MAX 90 Degree Gearbox to turn the motor and MAXPlanetary sideways, and this was the result. The bottom box tube is completely removed, with the only structure between the two uprights now being the MAXPlanetary and the intermediate hex shaft. This carriage is 7.5” tall and 6” wide, with the arm pivot mounted slightly further out than the past version for clearance with the gearbox.
4. Custom parallel plate, 90 degree gearbox
For this version, I ditched the box tube entirely for a fully custom plate setup, mostly based on the TTB elevator bearing blocks. This allows the carriage width to shrink once again, to a ridiculous 4.25” wide. However, due to the custom bearing setup it is slightly taller than the last version at 8” tall. This was also the first version to include an encoder, although one could easily have been added to both of the first two. To make room, I removed the chain on one side of the arm and shifted the gearbox slightly to the side as well. Two chains was somewhat overkill anyway, so this works nicely, and could easily be applied to the previous version as well to mount an encoder in the same fashion. This carriage would be much more difficult to manufacture than any of the others, but it’s still possible with a basic CNC router.
Conclusion
Overall, I think version 3 is probably the “sweet spot” between COTS and custom, and still has an incredible form factor. It can also easily be adapted to fit many different COTS bearing block options. Most of the credit for this has to go to the MAX 90 degree gearbox, which is quickly becoming one of my favorite new COTS parts for the 2023 season.
As for the subject of chain tensioners, the easiest option would likely be to use a slotted connection and a cam tensioner, I just haven’t bothered to add that to any of these designs at the moment. I was also suggested by @nick.kremer to use a slotted connection for the axle with a grub screw, and I’ve been trying to think of a good way to implement that but haven’t quite figured it out yet.