Choosing a Microcontroller for Your Vehicle
There are many things to take into consideration when choosing a microcontroller or microprocessor for your autonomous vehicle.
Some processors run on 5V and others use 3.3V. Be sure to check the documentation before you buy. Make sure your supply has a high enough amp rating that your microcontroller doesn't lose pwer.
Can the system run using batteries? Large, automotive sized vehicles can be run from large batteries or inverters in the vehicle. Smaller vehicle power supplies must be scaled down in order for the vehicle to be able to move. Regular AC power must be plugged into a wall and would be limited by the length of the wire.
If you are building one item, price may not be a big concern. If you are designing for production, every penny counts.
Storage / Memory
Larger programs take more space to store and to run. Microcontrollers typically do not have the storage space and vast amounts of memory that a microprocessor would normally have. Programs must be smaller and should be more efficient.
Some older chips are no longer widely available, and can be expensive when they are found. This can be a major consideration if you are designing something for production.
Many inexpensive microcontrollers are 8 bit, but prices for 32-bit controllers are getting lower. For a basic vehicle, like a line-follower or simple obstacle avoider, an 8-bit microcontroller like the Arduino Uno is sufficient. If you are going to have many sensors and motors or servos or vision processing, a 32-bit microcontroller with a Real Time Operating System (RTOS) would be a better choice.
Input and Output
When you choose a microcontroller, you must count the number of inputs and outputs that are required for the project and choose the microcontroller accordingly. Something to keep in mind while doing that is the possibility of future expansion.
You must also count types of inputs and outputs, like pulse width modulation for motors and serial pins.
The following is a list of microcontrollers that I own, most were purchased when a couple nearby Radio Shack stores closed down. It is by no means a complete list - each company has different models and each model could have variations.
GM Engine Control Computer for 1991 Chevrolet S10
This is a factory engine control module from a 1991 Chevrolet S10. Its purpose is to control the fuel injectors and read sensor data inputs. Because of its environment, it is housed in an aluminum case.
8088 Single Board Computer
It is no longer necessary to build a Single Board Computer (SBC), like this Intel 8088 model, in order to control an autonomous vehicle. This particular model, built for the Microcontroller classes I took, is limited by size and power requirements. The original project was just the board, but I had to transport mine back and forth from class, so I thought a case would be better. The power supply is from a full-sized computer. It communicates with the "host computer" via a 9-pin serial cable.
Parallax Basic Stamp
There are a few kits and vehicles based on this chip and form factor available from retailers.
The Propeller has 8 cores.
Texas Instrument MSP430 Launchpad Value Line Development Kit
There are different boards and chips available that have different amounts of memory and Input and Output pins.
I haven't used this board much. So far, the problem I have with this board is that there are no holes for mounting it to something.
This board has been called the "Basic Stamp Killer". It is widely available and easy to work with.
There are many kits and add-on boards available for this non-standard pitch form factor.
If you use the 10mm standoffs available at Radio Shack, you will have to file notches or chuck the standoff in a lathe and turn it down in order for them to fit.
This board has many more Input and Output pins than the Uno.
10mm Radio Shack standoffs must be modified for this one, too.
If you want to use a microcontroller dating from around 1980, that is still being used, there is the Intel 8051. The chips above were produced by Atmel.
The boards above are typically small and have a limited number of pins available. This can be a problem sometimes.
If you need more processing power and an RTOS, there are other boards you can use. These include the Arduino Yun, BeagleBone Black, Raspberry Pi, and Intel Galileo, for example.
I just got this board a few days ago, and haven't used it much yet.
One of the 10mm Radio Shack standoffs must be modified a little in order for it to fit properly for this one, too.
I have used this board connected to a television with an RCA plug. You can connect a mouse, keyboard, network cable, and either HDMI or RCA monitor. It runs Linux from an SD card.
Previous post by Ed Nutter:
Choosing a Vehicle
Next post by Ed Nutter:
Unmanned Ground Vehicles - Design Considerations for Snow and Cold Environments
* 5V tolerant inputs -- but check the data sheet, sometimes a part will be advertised as "5V tolerant" but will only be so if it has 3.3V on the inputs.
* Input threshold -- some 5V parts have a CMOS (0-5V) input range, some have a TTL range (meaning that they'll "see" 3.3V as a high).
* Low power sleep modes -- depending on how rapidly the processor can sleep, and how much the current consumption will go down, you can considerably extend battery life.
There -- that's all I can think about just sitting here.
To post reply to a comment, click on the 'reply' button attached to each comment. To post a new comment (not a reply to a comment) check out the 'Write a Comment' tab at the top of the comments.
Registering will allow you to participate to the forums on ALL the related sites and give you access to all pdf downloads.