Skip to content
campbellsan edited this page Oct 23, 2014 · 9 revisions

Brrrrrrr. Here, you can see all my parts.

Ultrasound range finder I use this to tell how far away things are. I can measure down to 10 centimetres and up to several meters depending on the surface.

Raspberry Pi Camera I use this for input to my computer vision algorithms.

LEDs I have two, tri-colour ultra bright light emitting diodes. I use these as a flashlight at night, to provide illumination for the camera and to create dazzling displays.

Servos I have two servos to pan and tilt my head, so that I can look around as I rove.

Guzunty CPLD The glue chip that allows all my parts to work together. It provides a communication path to the ATMega microcontroller that operates my wheels, and it directly controls my head servos and controls the brightness of my LEDs.

Speakers I can talk in stereo!

Audio board A little amplifier that allows me to raise my voice.

Raspberry Pi My main brain, I use this to connect to the internet, to receive commands from my remote controller and to process input from my camera.

Motor controller This allows the Arduino to control current to my twin motors.

Arduino This is my secondary brain. It is this 16MHz ATMega controller that keeps me balanced at all times. The micro controller reads the IMU sensors and computes my current angle from the vertical, it then applies just the right amount of torque to the motors to keep me standing up. It never rests, performing this computation 200 times a second.

Lithium Polymer Battery The blue pack on my bottom deck provides all my power. It is a 11.1 volt (nominal) 3 cell battery. Depending on what I am doing, it can power me from between half an hour to three hours.

Wheel I balance on two 124mm rubber tyred wheels.

Inertial measurement unit I use this to know which way is up. This is an essential sensor for keeping me well balanced! This unit is an Invensense MPU-6050 which has a three axis accelerometer and a three axis gyro scope. I only actually use two accelerometer axes and one gyroscope axis for balancing. The sensor is mounted as close to the axes of the motors as possible. This is so that the gyro in the unit can accurately measure the rotation of my body caused by the torque applied to the wheels.

Motor I use two 12 volt brushed DC motors with spur gearboxes. Each motor is fitted with an encoder that I can sense to tell exactly how far each wheel has rolled. The encoders are accurate to 1/1920th of a revolution. That's 0.2 millimetres!

Power Supplies You can't see these, because they are behind everything else, but there are two power supplies, one for the servos and one for everything else. The servos need their own because they create a lot of electrical noise which causes my Raspberry Pi to reset all the time. Every time that happened, I got terrible amnesia!