Micromouse - Quadrature Decoders

I have started to develop the quadrature decoders for my mouse, a simple circuit and is mainly programming so its something I can do to break up exam revision.

Here is a picture of the setup:

The main board is an Explorer 16 with a 32 bit PIC microcontroller in there. I have the prototype board connected to the expansion socket and I am then connecting this to the breadboard. On here is a 16F88 and some i2c eeprom. In the back you can see the icd2 programmer.

I have written the software for the 16F88 to act as a i2c slave, and the pic32 talks to it fine and displays the response on the LCD (although took a while to get it all working). The code to decode the quadrature signals from the motors is in there but there is a small bug in the 16F88’s code which triggers a read at the wrong time. The idea is the main microcontroller sets a pin high to make a copy of the current reading and reset the counter, this helps with working out the age of the reading. If I work out what going wrong then it should not be too long before I can plug a motor in and see how it performs…

I also have my LiPo batteries, and gears and wheels for the drive. I am waiting on a pillar drill stand then I can finish making a prototype of the gearbox, and finally see if the motors I have are up to the job!

Posted in: Microcontrollers, Micromouse, Robots April 2008 No Comments Martyn

MINOS 2008

Another year, another MINOS (UK Micromouse conference). This year I only went for the first day, the talks and testing, but was still a great experience. I got quite a few of my questions answered and am now ready to start working on my mouse proper.

The day started off well, no waiting at stations for trains and the weather was kind so I got to Egham about an hour before kick off. The first talk was on Inertial Navigation with Accelerometers from Dave Otten; is a very interesting concept as if the system works you can check to see if the wheels are slipping (something hard to detect, but can have bad consequences if it happens too often). We then had a great talk on using Machine Vision on a micromouse from Richard Nock , a bit over my head but it was early in the day and I had not looked into using sensor arrays for measuring the heights of walls.

Following was an informative talk on Pete Harrison’s mice, unfortunately as I was not around on the Sunday so did not see them run. David Hannaford gave a presentation on intelligent mice, reminds me of some lectures we have had on AI over the past 3 years at Reading.

Michael Beatus gave a presentation on his mouse to date, again not sure how well it actually did as I was not around to see it. Rob Probin then gave an excellent talk on using a camera to find the maze walls, I did something similar for a different application about a year ago and dismissed it as being too much processing for a mouse to do, but Rob seems to be making some progress, will wait an see!

Finally Tony Wilcox gave a presentation on using VHDL to build ‘circuitry’ such as quadrature decoders for mice. Interesting avenue to go down, but I think I am biting off too much with a 32 bit PIC in my design!

I also gave a small presentation on the MOD Grand Challenge, which was followed by a video from Derek Hall of his trip to India (for a micromouse competition).

Was a lot of ‘fun’, and I look forward to going to next years conference with a mouse to present! Anyhow I have already started buying new components, some Lithium Ion batteries are on their way…

Posted in: Micromouse, Robots April 2008 No Comments Martyn

Micromouse Sensors

Ok, its been a while since I did much more than think about my micromouse, but over the last week or so I actually did some ‘work’ on the sensor design…

First off this is all theoretical, I need some bits an pieces before I can test this outside of simulation. Hopefully in the next week or so I will order the bits I need.

The problem: Knowing where you are in relation to the walls of a micromouse maze.

The solution: Sensors.

Commonly optical sensors are used which act upon the basic premise that the diameter of a cone of light will get bigger as it travels, hence the intensity of light over a specific sensing area will vary with the distance the light has traveled. There are also other factors such as scattering and the reflectivity of the surface etc. etc. but there is a correlation, that’s the main point.

I am concerned with detecting the intensity of the light reflected, and removing any noise. My current design assumes that I have a source transmitting IR light at 10KHz and a receiver which converts received light to a current (such as a phototransistor). First I convert this current to a usable voltage, then filter it to remove the noise and then I use a peak detect and hold circuit to get the sensor reading.

You can download the current circuit diagram here: Sensor Test Board - Design 1 (Remember - untested!)

Read the rest of this entry »

Posted in: Micromouse, Robots April 2008 6 Comments Martyn