Saturday, September 10, 2016

Choosing a Microcontroller for Your Vehicle

There are many things to take into consideration when choosing a microcontroller or microprocessor for your autonomous vehicle.

Voltage
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.

Power
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.
Price
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.
Availability
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.
Capability
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.

Parallax Propeller
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.

Arduino Uno
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.

Arduino AtMega2560

This board has many more Input and Output pins than the Uno.

10mm Radio Shack standoffs must be modified for this one, too.

Intel 8051
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.

BeagleBone Black

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.

Raspberry Pi

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.


What are some other things to keep in mind?

No comments:

Post a Comment