Last year for Alchemy, we decided to launch a really ambitious art project on a really short timeline. It almost didn't get done, but we were able to get it out just in time... and it worked!

Ferris, Abigail, and Robin playing with the
bubble generator

Our project was to build a different kind of art car. Alan got the idea to build an Off Road Wheelchair for our friend Robin, who is an anthropologist and a disability advocate, so that she could get around these outdoor festivals to enjoy all of the crazy awesome stuff that happens there. We did the first round of fundraising at the Alchemy Art Fundraiser (FB event link here) and afterwards Alan, Joy, and Robin set up a second fundraiser at Freeside. Once they raised the money (which still had us on a razor-thin budget), I picked up the project from there and managed the planning and build. As it turned out, I was in way over my head.

The idea was this - Robin had a really hard time getting around at these events and spent most of her time at her camp. She has partial paralysis on her right side, making it really difficult for her to get around, especially on uneven terrain. There's sooo much to see there, so we wanted to help her out. But we didn't just want to help her get around, we wanted make her the most intimidating and crazy-powerful vehicle out there so that nothing would stand in her way! It was our way of making a statement and drawing attention to the idea that Radical Inclusion means that not only should everyone be welcome, but everyone should be able to join in. The way we saw it, if we had the ability to make that happen, then we should.

A rugged, human-powered wheelchair can cost between $2,500 and $8,000. An electric or gas-powered wheelchair can cost upwards of $10,000. Our chair had to take steep inclines (including "effigy hill") and rough terrain on its own power, run reliably for 3-4 day events with spotty access to infrastructure, and have similar accessibility, controls, and behavior to a normal wheelchair.

This was a huge dilemma, which we discussed in detail in our first blog post on the project. The only reasonable solution for our budget was to modify a high-torque zero-turn lawn mower to turn it into a super-powerful, ruggedized wheelchair. It's not ideal, but it's a surprisingly effective solution... especially with a 2 month, $2,300 project.

Humble beginnings for a crazily ambitious project.

So we found a crap zero-turn mower and bought it without the deck for $1,400. It was ugly, had structural damage, electrical problems, body damage, rust, no lights, and was really heavy. However, it also has a 20HP motor and working hydrostatic transmissions that distribute huge amounts of torque to the off road tires independently, meaning that the machine can pivot in place similarly to a regular wheelchair. It was a substance-over-style decision.

After that was a massive series of builds. We had over 30 people work on the project on and off. As the project wore on, we hit bottlenecks and people lost enthusiasm. There were a lot of challenges.

We had a huge number of things to get done to get the project ready. We needed to repair mechanical damage, do some structural welding, remove rust, reduce noise, repair the electrical system, add running lights, and give it style. We added a trailer hitch as well, but couldn't get the right kind of winch to attach to it in time. We'll have to take care of that on the next round.

Kate was one of the leaders on the project and did a lot of
mechanical work, as well as getting the new seat done.

Even with as many people as we had working on it, the project took every bit of the 2 months that we were allotted, including an almost sleepless 72-hour burn to wrap things up at the end.

Safety was the major concern. Everything we did was weighed, checked, and re-checked. We wanted to push the limits of the system, but we wanted to guarantee Robin's safety in the process. So we developed a testing program for the machine and a training program for operators. We watched some safety videos from zero-turn manufacturers together and built a training course behind the shop to practice circles, reverse circles, figure-eights, reverse figure-eights, and 5- 10- and 15-degree inclines from all angles of approach. It was a full day of work even after all of the planning we did.

Originally, Albert from Carbon Age Designs had designed a front clip to attach to the chair to reduce the likelihood of the chair tipping forward. However, we decided that the attachment could bottom our and cause the chair to roll forward, so it was too dangerous to use. Instead, we opted to include an inclinometer on the chair and train Robin on how to use it to keep the chair under 15 degrees for the initial test run. We have time to refine it later.

Igor and Smitty's last minute work to get the project ready

For style we looked to Ferris, one of the Directors at Freeside, who came up with the idea of setting up LED strips on the chair that robin could remote-control. He hacked together a battery power and IR receiver system for it that would be waterproof and set it up. He also added a bubble generator on it so that it will leave a trail of bubbles wherever it goes. We'll try blacklight bubbles on the next iteration.

Finally the day(s) of reckoning came and surprisingly... everything went better than expected! It worked the entire 4 days, though we did have to change the battery out at the end. It worked exactly the way we wanted it to and Robin even got to see the effigy burn up close for the first time. In fact, there was no camp at the event that she wasn't able to make it to including Area 51.

Of course, I wasn't totally satisfied. It was too noisy and I had really high expectations of the final result. The hacker in me wanted to build it from scratch, but the project manager in me was pretty satisfied with the short turnaround and low budget. We've got plenty of time to make it quieter, prettier, and more sleek. In the mean time, it gets the job done really effectively. When it comes down to it, that's really all the project was about in the first place.

Special thanks to Robin for her support and patience, and everyone that put your hard work into this project! We're going to keep developing it for this year's burns and push this idea as far as we can to develop a cost-effective, safe, and outrageous powered off road wheelchair.

Robin, looking stunning on her chariot of torque and ready to rock on any terrain.

Tuesday [5:30p]: CNC Build Project, Public, Free.

Freeside veterans, Preston and Eldon, will be leading this project to assemble and tune a smaller CNC for high-precision work, then design and build a full-size 4' x 4' CNC mill for the space as well.http://www.meetup.com/Freeside-Atlanta/events/109131302/

Have you been itching to donate things to Freeside, but you’re not sure what we need? Have you been looking for volunteer opportunities to use your awesome skills? This monthly post shall be your guide, henceforth!Items we need, in no particular order:

Paint (brighter colors especially, not black/grey/white): we are painting an internet meme explosion mural in the front bathroom, and Carrie needs more paint.

Saturday [12p-?]: Members Meeting, Members-Only.

I've been busy working on this project since I last wrote about it. I have a new PCB designed and built up and another that has since been designed but not yet built. Designing electronics is a process. The first design I had built had an analog mux on it that I was using to push all the current sense signaling to a few ADCs on the board. Later designs needed those pins on the MCU for other purposes so I added an 8 channel ADC to the design and removed the mux all together. I then found that the ADC was too fast to measure the current in a useful way because the PWM I use to adjust the current would give the ADC values that were either 0% or 100% instead of a working average. I knew this going in, but assumed I'd be able to get a reliable average in a reasonable amount of time. For whatever reason though, it took about 300 samples per channel to get an reliable average value. Multiply that by 8 channels and then assume a single byte to store the value and you can see that it consumes at least 2400 bytes (I only have about 500 to work with). It also took about a 12ms to get a value (there was a lot of overhead in the serial communication layer I had not accounted for). Multiple that by 2400 and it would take almost 30 seconds to get reliable current values from all the channels. That was a total epic fail. So, I went back to the drafting table and drew up a circuit that did all the averaging in the analog domain which operates WAY FASTER than any digital circuit can. What I drew up is a three stage low-pass filter for each channel. Image below.

Blue: PWM
Green: 1st Stage
Red: 2nd Stage
Celeste: 3rd Stage

As you can see, the circuit is not exactly trivial (especially if you consider I needed 8 of these added to an already crowded board; 56 more components). The PWM input signal is turned into a low impedance DC voltage source (with the help of an op amp) that is proportional to the duty cycle of the PWM signal and whose DC offset is proportional to the current draw. The second part of that is done with another op-amp and a very large but low impedance resistor and then I do a differential measurement to get the voltage drop across the resistor. I multiply that drop so that the upward bound is just below the top DC rail of the ADC so I get the most bits of resolution. Look up high side current measurement for more details on this. I used LTSpice to help select the values for the RC filter network. The values have a lot to do with the frequency of the PWM input and the speed at which you want it to settle. You can see from the above graphic that I settled on a filter that gives me a decently flat, DC like, signal that settles within 50ms of a current change. This is plenty fast for the purposes of a circuit breaker and should provide excellent user feedback as well. When they turn up a circuit they should see the current like move very fast. This is in fact the case and the video below will show that.

I had another exciting and problematic feature that has been a challenge to create. Market feedback suggested that some constant current capability would be appreciated. At first I thought I may be able to shoehorn this in with a software fix. It turned out to be just too slow to work. When you require constant current you really don't want to overshoot too far or you can fry your load before the circuit has a chance to moderate the current. On the latest iteration of the I added some pretty clever hardware constant current stuff by taking advantage of some features on the MOSFET driver that were for another purpose but could support a constant current function with a little external help. I thought about it for a while and drew up a circuit and had boards built but I never bothered to do ALL the math required to fully understand the circuit I designed. It turned out when it was finished that I didn't understand all the variables that controlled the timing of the circuit. I ended up with a perfectly adequate constant current source, but it oscillated at 20Hz instead of the 200Hz I expected. At first I thought I just dropped a decimal when I was doing the math because 20Hz and 200Hz look suspiciously similar. I redid the math and I had not screwed that up so I had to look more closely to see what was happening. I put it on the scope and then it became quite clear. Remember that 50ms number I mentioned about the settling speed of the 3 stage RC filter I created? Well, if you do the math, you will find that 20Hz is a synonym for 50ms. That was the problem. My filter was too slow to support the constant current feature I wanted to offer. I needed another 10x increase in performance. I knew this was going to be a big challenge and I also knew that my LMV324 op-amps (that were part of the circuit) were not going to be up to the task of moving so fast. I completely redesigned the constant current circuit with high performance op amps and much faster filter. I then went ahead and used LTSpice to model the circuit to confirm the design. This is a somewhat time consuming process, but these 4 layer boards and accompanying stainless steel stencils I am buying cost $200 and take about two weeks to get so its worth the effort to prove out the design before wasting all that time and money.

LTSpice is an incredibly useful tool for these sorts of electrical engineering problems. You can see that I am able to get reasonably fast PWM signal that is at a constant current over a roughly 100Hz time frame. The 100Hz speed is a compromise between the slow speed of the former version and fast speed that I desire. My secret sauce here is that I am using only 2 stages of the filter for this instead of 3 and I am adjusting the the first stages a bit. This is the compromise. I could other wise pretty easily get any speed I wanted but I'd have to have even more passive components on the board and its already packed with parts.
I suppose I"ll leave with a couple videos showing the circuit in action.