Showing posts with label arduino. Show all posts
Showing posts with label arduino. Show all posts

Friday, August 19, 2011

Initial electronic and electrical parts list

Very quickly I came up with a list of the electronic and electrical parts I would require for the first version of my robot, SHORT-E. I bought the parts from a couple of sources: an Ebay seller in Hong Kong and Robot Shop. This is what I got:

An Arduino starter kit from Ebay (31€ inc. p&p):
  • Arduino Duemilanove w/ ATMega 328
  • breadboard
  • 1602 LCD module
  • USB cable, some jumper wires, potentiometers, LEDs, buttons, resistors, etc.
Other stuff from Robot Shop EU:
  • Devantech SRF05 ultrasonic range finder (sonar)
  • Dagu mini pan&tilt kit w/ two mini servos (for pointing the sonar in different directions)
  • Lynxmotion multi-purpose sensor housing MPSH-01
  • a battery holder for 4 AA batteries (4*1.5V=6V, for powering the servos)
  • a 9V battery jack with an Arduino-compatible plug (for powering the Arduino, obviously)
  • some break-away headers for soldering into the sonar module
I already had:
  • two GWS S03N servos modified for continuous rotation (to be used as drive motors)
I suspect my "Arduino" Duemilanove is not a genuine Arduino. The price was suspiciously cheap and there seem to be some cosmetic differences compared to images of genuine ones. While the design is open source and anyone is allowed to make and sell Arduino-compatible boards, they shouldn't be using the name Arduino. Oh well, the Chinese aren't too strict about these things.

I was planning to add other parts later. With only the parts listed above I would have to resort to open loop motor control, which would probably cause SHORT-E not to be able to drive completely straight, and to slow down if going uphill, etc. So already when I ordered my first batch of parts I knew that I would at least have to get some components for making rotary encoders later.

Choosing a robot brain

Choosing a robot brain took some research and thought. In the beginning I was determined that my robot would run Linux. I wanted to be able to connect a web camera and communicate with the robot using WiFi, and thus a Linux board seemed to be the obvious way to go.

First I considered using a Mini-ITX form-factor Atom-based motherboard. There were few problems, though. First of all, they are relatively expensive, and still a bit too big to be installed on the Scooterbot base. Second, they wouldn't be able to control most robot sensors and actuators without adding a separate controller card. Third, and this is the biggest problem: they consume a lot of power, and would require batteries that are either big and heavy or very expensive.

Then I turned to look at embedded Linux development boards. Many of them looked ok, but they were very expensive. It seems that nobody wants to sell this stuff to hobbyists, and thus the developer packages cost and arm and a leg. Community support also seems scarce, probably because these devices are mostly used commercially.

Next I looked at Chumby One. Now this looked promising. A hacker-friendly, open-source, complete Linux computer with a 454MHz ARM processor, 3.5" touch screen, audio, WiFi, and USB, optional Li-Ion battery, and available for 79€ in my country. The only problem was that it wouldn't easily connect to sensors and actuators, at least without some major hacking of the mainboard. There is also a Chumby Hacker Board that's better equipped for low-level interfacing with stuff, but it costs the same as a complete Chumby One and doesn't have the screen, or the battery compartment.

So, even if I were to eventually use a Chumby, I would need something for interfacing with my sensors and motors. And remembering the first law of recreational robotics, that something could perhaps also initially serve as the first brain of SHORT-E. I would be starting simple. I just needed something I could later connect to a Chumby, i.e. something with USB.

I turned to look at Arduinos. They are Atmel ATMega microcontroller development boards based on open source hardware designs, especially intended for "artists, designers and hobbyists". There is an active community that develops both hardware ("shields" that can be mounted on top of the Arduino board, e.g. DC motor controllers) and software. Extensive libraries and a tailored programming language (simplified C with Arduino-specific extensions) with a custom Integrated Development Environment (IDE) make programming efficient and easy. And best of all, Arduinos can be programmed and interfaced with through USB.

So, I decided that SHORT-E's first little brain would be an Arduino. Later it would perhaps step back and assume the role of a sensor and motor controller as a Chumby or some other Linux box would take over as the main computer.