Engineering on the fly has been the go to mantra over the last six months or so. We have iterated a few times on our original designs as we progress through the build, encountered problems that were somewhat unknowable at the time and adjusting to suit as we needed. This has made the assembly a much more enjoyable experience overall, as it doesn’t require meticulous over engineering and simulation beforehand. So far the redesigns have been pretty manageable, but the most recent problem has been the trickiest to solve.
Once we got the end effector (the moving component that holds the chair) to reliable and rigidly move to set positions, it dawned on us that moving is only half of the equation; stopping is by far the more important variable that we need to control. Having pushed the servo motors past their happy operating conditions a few times with very high G manoeuvres, the standard fault mode was always ‘kill power now’. This is a good thing of course, nobody wants a runaway drive smashing into the end of its limits when it detects an error. But in our particular design it also meant that the weight of the chair and it’s (presumably) happy occupant would plummet downward in the event of power failure or servo error. It seemed so obvious afterwards that we need some kind of failsafe braking method for when, not if, we lose power or encounter an error. Engineering on the fly… and back the drawing board.
The traditional motor fail safe brake is a device attached to the back side of a motor (usually built in as a purchasing option) which requires power to release the brake. It was obviously too late for that option by now, and when I was purchasing the motors in the first place the additional length was too great to accommodate. To highlight the unique position our machines’ design had left us in, we were working with very little space either side of the shaft, and just 30mm of clearance from the motor face to the (now reduced length) shaft coupler!
So the next few weeks were filled with loads of research into cost effective and compact braking solutions. The best I could come up with involved repurposing a few techniques from other areas. A brake disc & caliper solution ended up being the thinnest option, specifically components from an ATV as it had the smallest diameter brake disc. The only problem is that disc and caliper systems are active brakes, requiring work to engage the brake, not to release it. To keep the calipers closed as the default state required a passive (unpowered) mechanism like a spring and an active method to overcome the tension from this spring.
Our design ended up using a gas strut to keep the brake locked and a stepper motor driven winch to pull the strut back and release the brake. If power failed (or a servo error was encountered) the power to the stepper motor is removed, the tension within the gas strut forces the caliper to close. And with a hefty amount of engineering on the fly, we managed to fit the brake disc into our tiny clearance of 30mm from the motor to the shaft coupler, and only lost 40mm of travel on each linear actuator overall. We’re very proud of this solution, one that used several off the shelf components put together in this seemingly unique way.
On top of the fail safe brake development, the other major feat was the development of our custom PCB to connect all of the various electronic hardware together. The prototype board I had been modifying as we went along was getting pretty beat up by all the changes, and needed a good overhaul. Tired of soldering tiny cables all over the place on perferated boards just to get the next change going, I decided to learn the art of PCB design.
After a lot of long nights learning, designing and sorting through online component catalogues, I had gotten my very first PCB. Testing and populating the board was pretty straight forward. Lots of checking as I went to make sure it was going to work. I found a few design mistakes on the way leading to a some hack modifications to get it going properly, but all in all it turned out pretty good. To go with the upgrade I’ve made several big changes to the software driving the whole machine. Lots of new code handling the stepper drivers, sensors and making the whole operation very robust for when any sort of quirk might be encountered. There is no room for error here, if all the conditions for operation are not met then the brakes are engaged (or more accurately the mechanism keeping the brakes released is disabled). The last thing we need is a test passenger crashing into the ground.