Saturday, April 30, 2011

All Done!

After all night of working in the lab which included spending an hour debugging a disconnected microsd card, a broken kinect cable which led to an emergency run to Gamestop on 11th and Market, putting batteries in backwards, wires coming unplugged, putting -12V into our Kinect, shorting a 12V supply, and two broken mbeds, we are all done and it works surprisingly well.

We tested our setup with three different buzzer intensity conversions. Two of our algorithms were linear, with one mapping our max depth from 0 to 63 and the other from 15 (~25% duty cycle, approximately the smallest pwm needed to feel a buzz) and our final one (the one we ended up using) was exponentially decaying.

We did this to give more emphasis to closer objects.

Our final demo consisted of our professor (Prof. Mangharam) navigating a room crowded with people with his eyes closed without touching anyone or anything.

tl;dr: Everything went better than expected.

Power Supply Issues

Up until this point, we have been powering our project from wall outlets. Our final project will be wearable and portable so battery power is a huge concern. We initially thought we could use a 11.1V LiPo 3000mAh battery, but we realized this might be overkill. If all we need is 12V, we can use a battery holder that can house 8 AA batteries. Since AA battery are 1.5V each, our total voltage will be exactly 12V (or close to it).

With this setup, our system worked but it wasn't usable. Our 12V to 5V regulator made the heat sink feel like a stove, and the program ran for only 6 minutes before the voltage output hit 8.3V (the operating limit of the Kinect). Adding another 12V AA battery pack in parallel would increase how long it lasted but it would help our heat issues. Additionally, this method wastes batteries because the BeagleBoard, and mbed can still run after the battery hit the 8.3V mark.

To fix this issue, we first tried separating our power supply into two battery packs, 12V and 6V. The 12V pack worked well with the Kinect, but the 6V pack had too low of a voltage for our voltage regulator to work. Instead, we considered using a diode to to drop the 6V supply to 5.3V which would have worked for the BeagleBoard and mbed, but we didn't have diodes that could handle the ~1.5A that the BeagleBoard and mbed needed.

For our final solution, we used two 12V AA battery packs. One was connected to the Kinect, and the other was connected to the BeagleBoard and mbed through the 12V to 5V regulator.