Date: Mon, 7 Nov 2005 23:10:57 -0600 (CST) Subject: microcontroller passes QA X-UID: 101 Content-Type: IMAGE/JPEG; name="img2393.jpg" Content-Type: IMAGE/JPEG; name="img2394.jpg" It's not realistic as I'm acting as both development and QA. But I'm confident that everything microcontroller related works. The Sharp IR sensor is cool. Range is very limited, a few feet at best. This limits it's utility to when the robot is moving very slowly. I can think of some scenarios where it might be useful, say if the robot must travel between two obstructions. It would then slow down, hunt for the opening and drive through. It's pretty obvious that no one sensory modality is enough. A combination of stereo vision, structured light from two laser levels, the Sharp IR sensors, and GPS position reports (once per second only - at 15 mph, the robot then covers 22 feet - and the accuracy is only a five to ten foot circle) for map navigation will be barely enough. For steering accuracy, a combination of a potentiometer and the piezo gyro combined will allow the robot to have both a sense of front wheel position as well as vehicle yaw. Here's an example of fault detection. Let's say that the potentiometer reading jumps between 0x7f to 0x80 (midpoint after analog to digital conversion) but yet the rate gyro indicates constant vehicle yaw. This either means the robot is sliding or the steering mechanism is broken. PWM frequency for the drive motors is 1.975 KHz. That is a little lower than I'd like but should be o.k. The general rule of thumb is that brushed DC motors should be driven at a frequency between 1 and 4 KHz as a best compromise between longevity and efficiency. PWM frequency for the steering motor is 175 Hz as it is generated in software. This is very low and will be hard on the motor (on top of being severely overvolted). As it cost less than $10 for the gear motor, a rechargeable battery pack, and a power supply, I'm not bothered. My worry is that the frequency is so low that either the H-bridge will shut off or the rotor won't turn. I won't know the answer to this until I start testing the motor control board tomorrow night. The power MOSFETs I'm using have an inherent parasitic diode so should be ok handling flyback voltages from the motors. However, all of the motor control circuits I've seen for robots and hobby RC have flyback diodes. My design omits them. I've seen one web page that said what I'm doing is ok. It would suck to have everything check out and then blow half of the transistors the first time the motors spin up.