Monday, March 28, 2016

(Not so) Small update

Ok I'm back. It's been a while but I'm still doing some pretty awesome things. First let's recap the past couple of months. We built a huge work bench for the shop. Here's some pics:

Cristin cutting the boards for the new work bench
The new work bench! Only 5 more to go.

The work bench turned out great! (The top isn't attached to the legs yet but we'll get there.) It's huge and stands about elbow height so no need to bend over or be uncomfortable while working. 

This table has been very busy this winter. I decided to change a bunch of things on the rover to make it more user friendly and programmer friendly as well. I changed out the Pololu Maestro servo controller for a 16 channel servo controller from Adafruit. The programming for this is pretty straight forward and easy to understand. I haven't figured out how to change the servo speeds yet with it though. Something about changing the pulse width in the programming. So far the things I've tried in the program haven't done anything. The servos still move at full speed. Because of this constant adjusting of code, I decided to find a way to program the Arduino wirelessly. Adafruit again had what I needed (I really should almost ask for a small sponsorship since most of the electronics have come from them). They have a great product that provides a bluetooth serial link between a PC and an Arduino and allows for wireless programming. Unfortunately I could never get the programming part to work but the bluetooth capability is amazing and it opens the rover up for mobile apps for demonstration purposes. 

Once I got the new servo driver and bluetooth adapter working, I decided that there was a big flaw in my design for having 2 batteries for the rover to switch between. Since changing from LiPo packs to solid celled packs (for safety sake), I lost the extra wires that the LiPo's have that I was going to use for sampling battery voltages. So I needed a way to measure battery voltage with the arduino while using the battery and while the other battery was charging on the solar panel. It just wasn't going to work with my setup anymore because of the way I had things wired. The other problem was how much heavier these packs are compared to the LiPo's. It was causing the rover's suspension to sag and the wheels to tilt in. I decided I needed to redo the power panel for 1 battery. I spent quite a few hours drawing the circuits and re-soldering everything. Eventually I put together a pretty simple circuit where the battery and solar panel feed into the main power board where there is a voltage divider that turns voltage from the battery and solar panel to a safe under-5-volt range for the Arduino to measure. The solar panel is toggled on and off with a relay so when the battery voltage reaches just over 8 volts, the solar panel will turn off and then turn back on again when the battery voltage gets below 8. The Arduino stays on all the time and can toggle the camera, motors, and metal detector on and off depending on batter voltage. This process I managed to test on my lunch break a few days ago. 

Solar panel and battery powering the Arduino which is talking to the laptop
Showing that the battery can actually charge while the Arduino is on and talking

Judging by the time it takes to charge, which was 0.04 volts in a half hour, I figure if the rover were to just sit and do nothing but communicate day and night, the battery voltage would get below the necessary 5 volts for the Arduino to stay on, after about 3 days. So my next step is to develop a way for the rover to sleep at night. Either through programming or a circuit with a photo resister in it. 

But first, I need to still upgrade the metal detector arm because it no longer reaches the ground and also add a new pan and tilt camera mast (once again from Adafruit. Check 'em out if you haven't!) so I can look up while trying to navigate using just the camera. 

These upgrades should probably happen before the Wings of the North Museum grand opening events in early May that I have been asked to show off the rover for as part of a space related display. This should be a lot of fun! I actually just figured out a way to drive the rover using a gamepad to make it easier for people to drive it if they wanted to. I just downloaded a simple program called JoyToKey that converts button presses to keyboard commands. Super easier and makes driving the rover a breeze! 

And in other news, this rover project may have to get put on hold a little bit while Cristin and I work  on another rover project for the...Mars Desert Research Station! Big project that we got asked to do last week by friend who is participating in research out there. It'll involve a similar rover but a little bigger and able to drop off a small "CubeSat" to study plant growth and then follow the teams on EVA's. The rover will be driven by a team member inside the habitat module and then as a proof of concept, it'll be able to be driven by Cristin and I from the University of North Dakota's Lunar Habitat module. This is going to be awesome! We'll be driving the rover from 1000 miles away! I might start a new blog for this project so everyone can follow along. The plan is for the team of scientists to be out there around March of next year so we have just less than a year to have it done. In the mean time I will be trying out new products like EZ-Robot's kit and also testing the crap out of Inspiration to make sure the concept of this rover will work. So stay tuned!


No comments:

Post a Comment