EmbeddedRelated.com
Blogs

Choosing a Microcontroller for Your Vehicle

Ed NutterJune 7, 20161 comment

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.

This article is available in PDF format for easy printing

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.

http://www.digikey.com/en/articles/techzone/2014/f...

http://www.atmel.com/images/45107a-choosing-a-mcu-...


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

http://www.homebrew8088.com/

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.

http://sasteven.multics.org/8088page.html

https://archive.org/search.php?query=intel%208088


Parallax Basic Stamp

https://www.parallax.com/product/bs2-ic

There are a few kits and vehicles based on this chip and form factor available from retailers.


Parallax Propeller


The Propeller has 8 cores.

https://en.wikipedia.org/wiki/Parallax_Propeller

http://engineering.nyu.edu/mechatronics/projects/M...

http://learn.parallax.com/tutorials/language/propeller-c/propeller-brains-your-inventions/propeller-has-8-cores

http://brooksbots.com/Robomagellan.html


Texas Instrument MSP430 Launchpad Value Line Development Kit

http://www.ti.com/tool/MSP-EXP430G2


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

https://www.arduino.cc/en/Main/ArduinoBoardUno


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.

https://en.wikipedia.org/wiki/Arduino


Arduino AtMega2560

https://www.arduino.cc/en/Main/ArduinoBoardMega256...


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

http://www.atmel.com/products/microcontrollers/805...


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.

http://www.circuitstoday.com/8051-microcontroller

https://en.wikipedia.org/wiki/Intel_MCS-51

https://archive.org/search.php?query=intel%208051


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.

https://learn.adafruit.com/embedded-linux-board-co...


BeagleBone Black

https://beagleboard.org/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.

https://en.wikipedia.org/wiki/BeagleBoard#BeagleBo...


Raspberry Pi

https://www.raspberrypi.org/


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.

https://learn.adafruit.com/category/raspberry-pi


What are some other things to keep in mind?



[ - ]
Comment by Tim WescottJune 8, 2016
* Voltage range -- e.g., the STM microcontrollers that I currently like will run from something like 2.5V (I'm not sure of the exact number) up to 3.3V. So you can power them from a single LiPo cell with just a LDO regulator, or you can power them from a trio of dry cells, etc.

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

Please login (on the right) if you already have an account on this platform.

Otherwise, please use this form to register (free) an join one of the largest online community for Electrical/Embedded/DSP/FPGA/ML engineers: