Astro Findings

What Is An Embedded System?

Whenever the word microprocessor is mentioned, it conjures up a picture of a desktop or laptop computer running an application such as a word processor or a spreadsheet. While this is a popular application for microprocessors, it is not the only one and the fact is most people use them indirectly in common objects and appliances without realising it. Without the microprocessor, these products would not be as sophisticated or cheap as they are today. The embedding of computers into equipment and consumer appliances started before the appearance of the personal computer and consumes the majority of microprocessors that are made today. In this way, embedded microprocessors are more deeply ingrained into everyday life than any other electronic circuit that is made. A large car may have over 50 microprocessors controlling functions such as the engine through engine management systems, brakes with electronic anti-lock brakes, transmission with traction control and electronically controlled gearboxes, safety with airbag systems, electric windows, air-conditioning and so on. With a well-equipped car, nearly every aspect has some form of electronic control associated with it and thus a need for a microprocessor within an embedded system.

A washing machine may have a common microcontroller that contains the different washing programs, provides the power control for the various motors and pumps and even controls the display that tells you how the wash cycles are proceeding. Mobile phones contain more processing power than a desktop processor of a few years ago. Many gadgets contain microprocessors and there are even kitchen appliances such as bread machines that use microprocessor-based control systems. The word control is very apt for embedded systems because in virtually every embedded system application, the goal is to control an aspect of a physical system such as temperature, motion, and so on using a variety of inputs. With the recent advent of the digital age replacing many of the analogue technologies in the consumer world, the dominance of the embedded system is ever greater. Each digital consumer device such as a digital camera, DVD or MP3 player all depend on an embedded system to realise the system. As a result, the skills behind embedded systems design are as diverse as the systems that have been built although they share a common heritage.

There are many definitions for this but the best way to define it is to describe it in terms of what it is not and with examples of how it is used.

An embedded system is a microprocessor-based system that is built to control a function or range of functions and is not designed to be programmed by the end user in the same way that a PC is. Yes, a user can make choices concerning functionality but cannot change the functionality of the system by adding/replacing software. With a PC, this is exactly what a user can do: one minute the PC is a word processor and the next it’s a games machine simply by changing the software. An embedded system is designed to perform one particular task albeit with choices and different options. The last point is essential because it differentiates itself from the world of the PC where the end user does reprogram it whenever a different software package is bought and run. However, PCs have provided an easily accessible source of hardware and software for embedded systems and it should be no surprise that they form the basis of many embedded systems. To reflect this, there are many great microcontroller projects to build a simple hobby gadget or a sophisticated data logging system for a race car.

If this need to control the physical world is so great, what is so special about embedded systems that has led to the widespread use of microprocessors? There are several major reasons and these have increased over the years as the technology has progressed and developed.

In case you are searching the Internet for info about the topic of internet marketing, then make sure to check out the site that was mentioned in this line.

Tags:
Posted in Hardware · August 22nd, 2010 · Comments (0)

Introduction To Microcontrollers

What are microcontrollers? They are what their name suggests. Today they can be found in almost any complex electronic device – from portable music devices to washing machines to your car. They are programmable, cheap, small, can handle abuse, require almost zero power, and there are so many variaties to suit every need. This is what makes them so useful for robotics – they are like tiny affordable computers that you can put right onto your robot.

Augmented Microcontrollers and Development Boards

In a pure sense, a microcontroller is just an IC (integrated circuit, or a black chip thing with pins coming out of it). However it is very common to add additional external components, such as a voltage regulator, capacitors, LEDs, motor driver, timing crystals, rs232, etc to the basic IC. Formally, this is called an augmented microcontroller. But in reality, most people just say ‘microcontroller’ even if it has augmentation. Other abbreviations would be ucontroller and MicroController Unit (MCU). Usually when I say ‘microcontroller’ what I really mean to say is ‘augmented microcontroller.’

As a beginner it is probably best to buy an augmented microcontroller. Why? Well because they have tons of goodies built onto them that are all assembled and debugged for you. They also often come with tech support, sample code, and a community of people to help you with them. My microcontroller parts list shows the more popular types that you can buy. They tend to cost from $30 to $150 depending on the features. This will give you a good introductory to microcontroller programming without having to be concerned with all the technical stuff.

In the long term however you should build your own augmented microcontroller so that you may understand them better. The advantage to making your own is that it will probably cost you from $10-$30.

Between getting a full augmented board and doing it yourself is something called a development board. These boards come pre-augmented with just the bare basics to get you started. They are designed for prototyping and testing of new ideas very quickly. They typically cost between $15 and $40.

What comes with the IC?

There is a huge variety of various microcontrollers out on the market, but I will go over a few common features that you will find useful for your hobby project.

For robots, more important than any other feature on a microcontroller, are the I/O ports. Input ports are used for taking in sensor data, while output is used for sending commands to external hardware such as servos. There are two types of I/O ports, analog and digital.

Analog Input Ports

Analog Ports are necessary to connect sensors to your robot. Also known as an analog to digital converter (ADC), they recieve analog signals and convert them to a digital number within a certain numerical range.

So what is analog? Analog is a continuous voltage range and is typically found with sensors. However computers can only operate in the digital realm with 0’s and 1’s. So how does a microcontroller convert an analog signal to a digital signal?

First, the analog is measured after a predefined period of time passes. At each time period, the voltage is recorded as a number. This number then defines a signal of 0’s and 1’s as shown:

The advantage of digital over analog is that digital is much better at eliminating background noise. Cell phones are all digital today, and although the digital signal is less representative than an analog signal, it is much less likely to degrade since computers can restore damaged digital signals. This allows for a clearer output signal to talk to your mom or whoever. MP3’s are all digital too, usually encoded at 128 kbps. Higher bit rates obviously mean higher quality because they better represent the analog signal. But higher bit rates also require more memory and processing power.

Most microcontrollers today are 8 bit, meaning they have a range of 256 (2^8=256). There are a few that are 10 bit, 12 bit, and even 32 bit, but as you increase precision you also need a much faster processor.

What does this bit stuff mean for ADC? For example, suppose a sensor reads 0V to an 8 bit ADC. This would give you a digital ouput of 0. 5V would be 255. Now suppose a sensor gave an output of 2.9V, what would the ADC output be?

Doing the math:

2.9V/5V = X/255
X = 2.9*255/5 = 148

So how do you use an analog port? First make sure your sensor output does not exceed your digital logic voltage (usually 0V -> 5V). Then plug that output directly to the analog port.

This bit range could also be seen as a resolution. Higher resolutions mean higher accuracy, but occasionally can mean slower processing and more succeptability to noise. For example, suppose you had a 3 bit controller which has a range of 2^3=8. Then you have a distance sensor that outputed a number 0->7 (a total of 8) that represents the distance between your robot and the wall. If your sensor can see only 8 feet, then you get a resolution of 1 bit per foot (8 resolution / 8 feet = 1). But then suppose you have an 8 bit controller, you would get 256/8=32 ~ 1 bit per centimeter – way more accurate and useful! With the 3 bit controller, you could not tell the difference between 1 inch and 11 inches.

Digital I/O Ports

Digital ports are like analog ports, but with only 1 bit (2^1=2) hence a resolution of 2 – on and off. Digital ports obviously for that reason are rarely used for sensors, except for maybe on/off switches . . . What they are mostly used for is signal output. You can use them to control motors or LED’s or just about anything. Send a high 5V signal to turn something on, or a low 0V to turn something off. Or if you want to have an LED at only half brightness, or a motor at half speed, send a square wave. Square waves are like turning something on and off so fast that its almost like sending out an analog voltage of your choice. Neat, huh?

Programming Languages

The lowest form of programming languages is the machine language. Microcontrollers need to be programmed with this.

An example of machine language:

3A 10 51
E6 DF
32 38 00

Obviously neither of us could ever memorize what all those seemingly random numbers and letters do, so we would program in a higher language that makes much more sense:

If (language == easy) print “wow!”;

These higher languages would then be compiled automatically into a machine language, which then you can upload into your robot. Probably the easiest language to learn would be BASIC, with a name true to itself. The BASIC Stamp microcontroller uses that language. But BASIC has its limitations, so if you have any programming experience at all, I recommend you program in C. This language was the precursor to C++, so if you can already program in C++, it should be really simple for you to learn. What complicates this is that there is no standard to programming microcontrollers. Each has its own features, its own language, its own compiler, and its own uploading to the controller method.

One of the very popular devices is the AVR micrcontroller family. They are used in professional automotive and simple hobby projects. Using AVR micrcontrollers is pretty simple because there are many tutorials and the development tools are free.

Shortcut to important info about the topic of internet marketing – go through the web page. The time has come when concise information is really within your reach, use this chance.

Tags:
Posted in Hardware · August 7th, 2010 · Comments (0)

Categories

  • Arts
  • Business
  • Cars and Trucks
  • Coding Sites
  • Computers
  • Cooking
  • Crafts
  • Current Affairs
  • Databases
  • Education
  • Entertainment
  • Finances
  • Gardening
  • Healthy Living
  • Holidays
  • Home
  • Internet
  • Legal
  • Medical
  • Men Only
  • Motorcyles
  • Our Pets
  • Outdoors
  • Relationships
  • Religion
  • Self Improvement
  • Sports
  • Staying Fit
  • Technology
  • Travel
  • Uncategorized
  • Web Design
  • Weddings
  • Women Only
  • Writing
  • Archives

  • September 2010
  • August 2010
  • July 2010
  • June 2010
  • May 2010
  • April 2010
  • March 2010
  • February 2010
  • January 2010
  • December 2009
  • November 2009
  • Meta

  • Log in
  • Valid XHTML
  • XFN
  • WordPress
  • SEO Powered by Platinum SEO from Techblissonline
    Powered by WordPress Lab