Archive for the 'Rooter' Category

R1v2 - Rooter Version 2 - Worklog part 5

So, it was time for RoboTIC 07, and… I’d done nothing with R1v2 since June!

Since the only huge hardware problem i’d been having was with the sensor board, I decided it was time to rebuild it from scratch, and move to a more technologically advanced sensor, so… i shamelessly copied from Min4A, one of the top Singaporean mice.

So, i had decided on using the TSL262, now the problem was to find them! The only place they seem to be available in the UK, farnell, sells them for £3 each in small quantities (pn: 1182351), and since i could find them for $2.52 (about £1.25) each from Mouser in the US (pn: 856-TSL262R-LF), i decided to import a pile of them, and resell what i didn’t need. After perusing the datasheet, i found a good matching Infra Red LED (pn: 859-LTE-209), and put in an order for 50 pairs.

A week later they arrived, along with a nice customs bill, so including delivery, they cost about £2 each, still 1/3 cheaper than it would have been buying locally.

After some planning, and trying different methods of coupling the TSL262 to my ATMega32 uC, i decided to go for simplicity, and coupled the output of my test sensor directly to an ADC. The LED was connected to an IO pin set to output, and tied to ground via a 330Ω resistor.

685.jpg

It gave much more repeatable results than the old sensors, between 5/1024 for no wall at all, and 50+/1024 when there is a wall nearby. Since it seemed to work as expected, with no major glitches, So i moved onto a small stripboard sensor.

687.jpg

This sensor was tested by being plugged into the sensor board plug. Once i had it working, I soldered a sensor board connector to a second piece of stripboard sized to fit in the sensor board slot at the front of the mouse.

706.jpg

Once tested, I built another of the sensors, and attached both to the front and rear of the left side of the micromouse using sticky foam pads, and built a third sensor on the sensor interface board.

702.jpg

704.jpg

So, the hardware of R1v2 is now complete!

Come back soon, when i’ll be walking through the toolchain used to program the mouse, and release the full schematics of the mouse.

R1v2 - Rooter Version 2 - Worklog part 4

I’ve just managed to get the sensors working in r1v2, thought it was time to update the worklog.

Sensors outputting:

p1000250.JPG

Sensor input:

Sensor1 (front left): 49
Sensor2 (front right): 27
Sensor3 (left) : 25
Sensor4 (right): 26

Unfortunately, the sensor input doesnt seem too useful at the moment, as i’m getting either a lot of noise, or too little variance between the nearby and far away readings.

R1v2 - Rooter Version 2 - Worklog part 3

Today i managed to get the motors on R1v2 working properly. I also added a second LED, and wired up the rest of the header for the sensors.

p1000207.JPG

Here is a short video of it running the motors on opposite directions. Tonight I’m looking at getting them working with timers and interrupts, reusing the code i wrote earlier:

R1v2 - Rooter Version 2 - Worklog part 2

Today i finished the board for R1v2. I added two status LEDs to the power lines, one for 5v and one for 3.3v.

Also, i added the header for ICP, a RS232 header, a pair of switches, the header for the sensor board, a uC controlled LED and a hex input switch.

After the hardware was completed, I programmed a quick piece of software to allow me to read the status of the hex switch, and toggle the LED over the RS232 link.

r1v2boardoff.jpg

r1v2boardbtm.jpg

r1v2boardon.jpg

So tomorrow the plan is to get the stepper motors running, using interrupts in the uC.

R1v2 - Rooter Version 2 - Worklog part 1

Due to some last-minute hacking trying to fix rooter’s boards the day before my dissertation demo, and some really really bad connections in between the different boards, I’m now rebuilding and replacing most of the boards. I have decided to keep the regulator board and possibly the sensor board, but everything else on v2 is going on a single piece of stripboard.

This allows me to do away with one of the microcontrollers, and the (very troublesome) connection in between the main board and stepper driver board, and should hopefully leave me with a working mouse!

Here are some WIP pictures from tonight:

r1v2front.jpg

r1v2back.jpg

r1v2board.jpg

I’ll be posting more pictures tomorrow, and a report from the UK MicroMouse Championships at the weekend!

Rooter’s Sensor board, v2.0

I’ve been having some major trouble with my sensors lately on rooter, which has been holding me up for about 2 weeks. This week i decided to spend as much time as possible trying to get them to work, and eventually worked out why v1.0 wasn’t working… The IR LEDs were in the wrong way round! It appears i’d been taken for a fool by the QRD1114 datasheet, and managed to spec up a board where the phototransistors were in correctly, but the LEDs were backwards.

I went back to the breadboard, trying to get the LEDs working as they were meant to, and realised after half an hours testing that I have somehow managed to blow one of the output pins on my AVR, and then chosen that pin to drive the test LED!

After i had worked out that this was the problem, I quickly got an IR LED working, and managed to test it using my digital camera, which can pick up IR!

sensorbreadboard.jpg

With this setup, and the output of the phototransistor tied to ground through a 150k resistor, this gives me a reading of between 100 and 350 on the ADC between 90mm and 20mm, which is perfect for micromouse applications.

After getting a working model on the breadboard, i refactored the schematic i had previously designed in eagle, this time hooking up the LEDs correctly, and improving the Resistor & connector placement, which had been interfering with the stepper board connector, as the two boards hang above each other!

I also added a ‘power OK’ LED, which i might switch for a white ultrabright one to give me a headlight!

sensorboard.jpg

Micromouse hardware complete

robot_side.jpgrobot_front.jpg

Here are some pictures of my completed micromouse chassis, along with all the boards.

robot_chassis.jpg

Everything on the chassis is mounted using velcro, for easy attachment and removal.

robot_boards.jpg

There are 4 seperate boards that make up the control circuitry:

  • Sensor board, containing 4 IR photoreflectors, which attaches to the main control board.
  • The stepper driver board, which uses an ATTiny2313 to sequence 2 step / direction into the correct outputs to drive the motors.
  • The Power regulation board, which carries an LM1084 3.3V regulator, to drive the motors, and a LM2940CT 5V low dropout regulator, to drive the electronics.
  • The main control board, which contains an ATMega16, and controls all the running of the robot, and controls all the maze searching and running algorithms.

AVR Dual Stepper Motor Driver

Got the AVR code for the stepper motor drivers working today, and the Voltage regulation for running from a battery, at this rate, I’ll have the mouse moving by wednesday / thursday :)