I've decided to document my latest project.
I've described this project a little here (post #5). Since Hanno has asked about my progress I've decided to continue describing my project in this thread (and not continue to hijack Ravenkallen's thread).
The base for this robot will be a Rover 5 platform from SparkFun. I'm also have a set of mecanum wheels to use with this robot.
I plan to use Hanno's machine vision method with this robot.
Here are some pictures of my Propeller Proto board with a ADC08100 attached to a breakout board.
A lot of Hanno's code uses only the top four significant bits of the ADC. I wanted to experiment with all eight bits from the ADC.
From my little PASM experience, I know that the Prop can read fastest from the lowest pins. I attached the ADC output pins to pins 0 to 7 of the Prop. Pin 8 is connected to the ADC's clock pin.
I removed two pins from a row of male headers and bent the pins inward from both sides to connect the eight output pins from the ADC to the desired pins on the Prop.
I'm hoping to use the camera with a laser for range finding. I want to be able to detect obstacles and drop offs (steps). I also want to use it this set up for other machine vision experiments.
So far I've just sent the INA values for pins 7 through 0 to PST. I get higher values when I point the camera at brighter objects and lower values when it's pointed at darker objects. I think the ADC is working.
While I want this robot to be able to roam around autonomously, I also want to be able to control it remotely. I also want to received information from the robot. My current plan is to use a Nordic nRF24L01+ module to send and receive information from the robot.
Supposedly this module can communicate at 2Mbps. One of my goals is to modify the current driver to take advantage of this speed.
The Rover 5 has four motors and four quadrature encoders. The manual doesn't specify with wire does what with the encoders. As one would expect the red wire is 5V the black is ground with the white and yellow wires are the signal wires.
The Mecanum wheels come with hubs that are a little too large to fit in the center of the wheel. I used a 4-40 bolt with a nut and washers to mount the hub in my drill press. I then just touched some sandpaper to the spinning hub until it fit snuggly inside the center of the wheel.
The center hole of the hubs are also a little too small for the Rover 5's shafts. I used a 4mm drill to bore the hole a little larger. I temporarily attached the hubs to the wheels to make them easier to hold while I used the drill press on the hubs.
Here's a pdf file I found on using Mecanum wheels.
As I've started to add up the number of pins I'll need for this project, I'm starting to think I'll need a second Prop on this project.
Here's my pin count so far:
Machine vision ADC: 9
Nordic module: 6? (I'm not sure if I need all six or if I can get by with 5)
Shift registers for motor control, laser and LEDs (you have to have LEDs on a robot): 3
Quadrature encoders: 8
Emic text to speech: 3
I'd like to keep pins 28 & 29 free for I2C devices: 2
I also want to keep pins 30 & 31 free for debugging: 2
So that leaves me with -1 pins. I'm pretty sure there are other devices I'd like to use with this robot that will take extra pins.
I think I'll move motor control to a second board. I'm not sure if I'll use a second Propeller Proto board or if I'll just use a small protoboard. I'll need to think about where I'll put all the chips I'll be needing. I plan to use SN754410 chips to control the motors. I'll probably stack a couple of these chips on top of each other to make sure they can handle the current. The stall current on the robot's motors is 2.5A.
Well that's it for now. Man, it sure takes a lot of time to document this stuff.
I'm starting a blog. I don't have a link yet because I wanted to link to this post in my first blog post so I have submitted my first blog post yet.
Hopefully I'll keep this thread current with my progress.