Thursday, 22 December 2011

Motor Tests



Finally I have power and a robot chassis so time to start work on putting everything together and testing it!
The robot is powered by a 7.2V NiMh 4300mAH battery, this is connected to a Dagu High Power switch. This switch allows a manual on/off or one to be fed from some other electrical source, either a switch mounted elsewhere or from a microprocessor controller. The switch is then wired into the VNH5019 motor shield. This in turn powers the Arduino and gives power to the motors.

Wednesday, 21 December 2011

Batteries

Power requirements for this robot are going to be slightly more than a few AA's in a battery holder. The chassis can carry unto 2 sub C packs with are often found in RC cars. The Arduino requires an input between 7v and 12v as it has its own voltage regulation to 5v and 3.3v and the motors in the chassis required around 6v - 7v, so I decided on a 7.2v pack. The VNH5019 can power the Arduino however it features no regulation so the voltage input to it must be suitable for both the motors and Arduino, which 7.2v is.
I naively plunged straight in and ordered some Lipo (Lithium Polymer) batteries as most robot websites seemed to stock them in their various forms. I picked out a 7.2v Sub C sized pack, and Lipo charger. However after placing the order I decided to look into the types of batteries a little more and found to my horror Lipo maybe wasn't the best choice. It seems they require a lot of care and attention with regards charging and discharging. Batteries had to be kept balanced and couldn't be fully discharged.
After looking at various forums it became clear this was something that really should be used outside the home in a garage or workshop rather than a spare bedroom due to "abused batteries" potentially catching fire. Lots of sites recommended charging in flameproof bags or buckets of sand. Now a lot of this info was written when Lipo's first came out and I know things have probably moved on since then, but I really didn't want to risk it.

Saturday, 17 December 2011

Robots! Part 2



Well it finally arrived, thanks to Robosavvy and the Royal Mail :). The kit comes with the main chassis already built along with the motors and suspension system. All that I had to do was fit the motor axial mounts and the wheels. I left the 2DOF arm off for now, mainly as the chassis is a little bigger than expected and it may have trouble moving around with the arm on. This kit has the 75:1 motor gear boxes and the specification sheets says it will do upto 3km/h. This chassis also has the option of the 34:1 gearbox that will do 7km/h which is a little fast for indoors! Perfect for an outside robot though.
The motors with the Wild Thumper are also quite beefy. Rated at 6VDC (usable between 2VDC and 7.5VDC) with a stall current around 6amps, the Arduino is not going to be able to drive these directly.
Once I started looking around at the various motor shields for the Arduino, one thing quickly became apparent. Motors upto 2A were fine but anything above this was going to require a special motor driver board. The problem was also compounded by the fact the Wild Thumper's motors where connected together in pairs (Both right side act as one, as do the left side). This meant a potential 12amps should the motors stall, on the plus side I could get by with a single or dual motor board.
Pololu seemed to offer a wide variety of motor control boards and after looking around I found the VNH5019 which would control both motors and was an Arduino shield, BONUS! As it was a dual motor driver it also worked out cheaper than buying 2 separate boards. In addition to this Pololu have also written an Arduino library to use with the shield.

Wednesday, 14 December 2011

Robots!

So after playing about with the Arduino for a few weeks now, doing things like ultrasonic rangefinders, temperature monitors I decided to start looking for robot chassis. Not having access to a workshop, only a desk I knew I was going for a robot kit in some way, shape or form be it one that was pre assembled or one that required some assembly but could be done using only a few simple tools ( no machining required! ).
There are various online stores for robotic parts selling kits, however I found there were basic kits that didn't look like they'd last me long and left little room for customisation to products that were just chassis costing hundreds of pounds to full kits costing thousands!. What I wanted was something that allowed me to customise how I wanted, something that would last both in terms of durability and as the project grows and potentially something that could take a knock or two.
Some of the various models I considered.
  • DFRobot Tracked kit - with a review from RUG Community. This kit seemed to contain just about everything I'd need however it just didn't look durable enough. It also seemed to lack many expansion options. It may be been able to carry a sensor or to but nothing much. It also contained a customised Arduino board that I already had. On the plus side quite cheap :).
  • DFRobot 4WD - with a review from RUG Community. This kit seemed a great kit to start with with quite a lot of expansion options should I need them. The only thing that put me off this kit was the fact the motors didn't seem too powerful and could be hard to replace if the need arose.
  • Dagu Wild Thumper 4WD - with a review from RUG Community. The review from RUG was for the 6WD version but Dagu also do the smaller 4WD. This platform appears to have the power, expandability and the robustness required.
I did look at various models from Lynxmotion however they seemed to be just a little too pricey for what I required. In the end I went for the Dagu 4WD Wild Thumper, with the 2DOF arm pack. All ordered and should be here in a few days (depending on how bad the Christmas post is already :) )

Monday, 12 December 2011

Ultrasonics



As the final goal is a robot, collision detection is a must. There are various types of detection from IR (Infra-red) range finding, ultrasonic, laser and actual collision detection through use of a push button of something similar. For the purposes of this post I'll be documenting my findings with ultrasonics, however I do intend to look into IR and maybe even laser at some point.
There are many ultrasonic modules on the market, ranging from £10 - £100+. Interfaces range from TTL, I2C and Serial. However by far the easiest to interface with Arduino is the PING sensor. The PING sensor itself is relatively cheap and accurate enough for a basic collision avoidance robot, however SeeedStudio do an even cheaper model (about 2/3 the price of the PING). This is a simple 3 wire sensor, 5V, GND and SNG (which can be connected to any digital pin on the Arduino).
Using the PING tutorial and the inbuilt LCD library that comes with the Arduino IDE, I created a quick demo. All wiring drawings can be found in the respective tutorials.

Monday, 5 December 2011

What is Arduino?


Its an open source (Cheap!) micro controller, developed to be easy to use and flexible. As its open source anyone can build a board and market it. Popular board makers include official Arduino boards, DFRobot and Seeedstudio. It comes in multiple forms from the Nano with 14 digital and 8 analog pins to the Mega with 54 digital and 16 analog pins. The Arduino can be programmed using open source software provided by Arduino on Windows, Linux and Mac platforms.
Code is written in Sketches, and quite closely resemble the C programming language syntax and keywords.
I've tried other micro controller systems however as I'm developing on a Mac, and Arduino has a huge support community, I think its the better choice than say PICAXE or BASIC Stamp. Most Arduino boards accept a USB connection and can be programmed this way.
The board I'll be using is the Duemilanove which features 14 digital pins and 6 analog pins. This should be enough for most basic projects and perhaps my first robot :)