Sensing and Control for hobbyists and schools- Actuators

filename: SC1a

Just about anything electrical can be controlled by systems of your devising.

A light, a heating element, a sound producer, or a motor is likely to be at the heart of your system. "Motor" is a pretty broad term... besides the obvious shaft turners, don't forget that with the right mechanical linkages, they can, for instance, open a door, etc. Notice anything about that list? They're all devices for converting electricity into other forms of energy.

How you turn it on or off is more a topic for the programming page of this tutorial. On the page you are reading, I'm trying to consider the devices which respond to electrical signals. Another page that might be of interest covers the basic electronics of connecting a computer's ports to external electronics. Most of the information there is about using the parallel port, but I've started doing some stuff about using the serial port, too, e.g. this page. I've also posted information about connecting things to your program across a LAN or the internet.

Before we turn to our main discussion of actuators, a quick aside....

In the scheme we are working within, displays would come under the "actuator" heading. Display? A simple LED is about as simple as displays can get... although with some imagination, they can "say" an awful lot. You could, for instance, instruct them to pass a message in Morse code.

Happily, the hardware to display alphanumerics (letters and digits... the screen you are reading this on is an alphanumeric display) has become cheap and easy to use. I've given the subject of alphanumeric displays a page of its own.

It is worth distinguishing two great classes of devices: Some, like a simple light bulb, are normally "on" or "off". Others, for example the speaker of a radio can be "off", "on a little (playing softly)", "on medium", "on high (loud)", and stages in between. These two classes are named digital and analog... unfortunate names, but that's what we have. A light on a dimmer would be promoted to the analog class. When we say "digital", the connection with digits is deeply buried... forget about it. Calling some watches "digital" and others "analog" only compounds the confusion, because the terms are being used slightly differently in that context. We also speak of "digital" computers, which doesn't seem to agree with my definition for "digital". (The term is used with computers because the circuits at their heart only care about "on" and "off". What we see on the surface is the net effect of millions of "on"s and "off"s.)

Digital actuators: Light bulbs (if your circuit doesn't get clever and incorporate a dimmer), door locks (locked or unlocked), solenoids (in or out), motors (if your circuit doesn't get clever and provide speed control... see "motors" below), heaters (if... (as lights and motors!))

Analog actuators: Lights on dimmers, motors on speed control (and see below), heaters with variable output.

"Digital analog": This is not a proper term in wide use, but I liked it as an introduction to the following: What would you call a device which could control water flow, turning it off, or on to any one of 8 possible outlets? In a sense it is not analog, because there are 9 possible states. It would probably be classed as digital, though, as it is the sum of 8 digital entities.

Modern computers are inherently digital. Turning lights on or off by computer is child's play. Life, unfortunately, is generally analog, so we find ways to convert from the computer's digital world to our analog reality.

Suppose you want a light that is essentially on a dimmer. I.e., you want to be able to have it very bright, quite bright, dim or fully off. One solution is called pulse width modulation, often abbreviated PWM. To turn the light on or off, you just send electricity or not. To have the light quite bright, you send electricity for the first 80% of each tenth second, and don't for the last 20%. To have the light dim, you send electricity for only the first 20% of each tenth second, and not for the last 80%. You are turning the light on and off so fast that no one will notice. The longer the "on" part, the brighter the bulb looks.

If you have a little time to do a little learning work, the fact that you have read this far tells me that you are probably someone who would enjoy the possibilities afforded by the 1-Wire / MicroLan system. My page on actuators for 1-Wire may be useful.

The information in this section is a "first attempt", from long ago! What is said here about motors remains true and, I hope, helpful. But once you've skimmed it, you might want to jump to a page introducing more pages, all about motors and similar gizmos.

There are two great classes of motors: The "simple" motors, and stepper motors... and I'll mention servos in a moment too, which are sometimes based on one type, sometimes on the other, but you are spared the messy details.

With simple motors, you apply a voltage, and they spin. How fast and how far depends on many things, and if you care, a feedback system is probably what you need: Something that measures what's happening. You can then put provisions into your software to change the voltage applied (either level, or frequency/ duration of pulses... see PWM above). Of course, "simple" motors can be part of fancier systems... for instance they can be at the heart of a system for opening or closing curtains, or any other job that needs something "driven" between "open" and "closed", or "up/down", "left/right", etc. (There's also details there of a shareware Windows program to control such a device.)

Stepper motors are a little harder to control, but cool. And the hard bits of controlling them can be taken care of with dedicated hardware. Magenta sells kits, for one. (They are a UK company, but what they sell travels through the mail easily enough! Stepper motor kits are certainly available from many hobbyist robotics sites.)

With a stepper motor, when you send it a signal, it turns clockwise or counterclockwise a certain number of degrees. This makes creating devices that move to a particular position very easy.

Servos: You can buy, quite inexpensively, the units used by radio control hobbyists to actuate (that word again!) the control surfaces on model airplanes. You don't need the radio control part of the "package".

If you are using a servo motor with an Arduino, there is a library ("Servo") to make your life easy. It deals with generating the stream of carefully timed pulses. Beware: Only some of the Arduino's outputs can be supplied with a stream of pulses. Which outputs are pulse- stream- capable varies from device to device. In other words, the I/O pins you can use for a servo on, say, a Uno, might be different from the pins you can use on, say, a Mega.

The servos have a little arm which rotates "up" and "down", rather than going "round and round" like a more typical motor. You might think of it as the handle on an old fashioned (think Titanic) ship's bridge... the one you've seen in movies that the captain moves to different positions to tell the engine room that he wants "full ahead", or "half astern", etc.

So... you can buy a neat little device that has an arm which can be "told" to go to different positions. How do you tell it? PWM again! (See above) Let's agree to say that when the arm is as far counter-clockwise as it will go, it is at "zero", and let's say that it can only rotate 350 degrees. So we'll call "fully clockwise" "350". Whew. So much for naming of parts. The following will have to be adapted for your servo, by the way... but I hope it makes the principles clear. (Of course, other servos use different control schemes all together.)

To make the servo arm go to "zero", we send it a steady zero volts. To make it go to "350", we send it a steady 5 volts. To make it go to, say, "10", we send it a PWM signal in which the voltage is usually zero volts, but for a little bit of each cycle it is at 5v. On the other hand, to make the servo go to "340", we send it a PWM signal in which the voltage is zero volts for just a little bit of each cycle, and at 5v for most of the cycle. I hope the following graphic illustrates those four cases for you?

Servo with different inputs

You might also want to look at using the "move-head-assembly" motor inside an old floppy disc drive. It is another source of a servo. Ashish in New Delhi, India is doing lots of fun stuff with these, and has published notes to help you have the same fun.

You can also do fun things easily with the servo units from hobbyist radio controlled devices... they are stepper motor based. DACs: In the site's sensors section, I've talked about ADCs, "analog to digital converters". DACs, digital- to- analog converters, exist, too. You make the several digital (on or off) inputs of the device high or low. It converts that multi-digit binary number to a value, and the chips one output is made to supply a corresponding voltage. A common type of DAC has 8 inputs, and will provide 0 volts, 0.01 volt, 0.02 volt.... 2.53 volts, 2.54 volts or 2.55 volts on the output, depending on the inputs. (Binary 1111 1111 is decimal 255).

See also: The Arduino project has a whole page full of neat ideas which would be of interest to people who are interested by what I have in the above pages.

(Remember- the section on motors was written long ago. I have more recently drafted pages, starting at my overview of motors, servos, etc.).

Click this to search this site without using forms, or just use......
powered by FreeFind
Site search Web search
The search engine merely looks for the words you type, so....
*    Spell them properly.
*    Don't bother with "How do I get rich?" That will merely return pages with "how", "do", "I"....

Please also note that I have two other sites, and that this search will not include them. They have their own search buttons.
My site at Arunet.
My newest site. (There are links to it's content here, but the search won't include those pages.).

Ad from page's editor: Yes.. I do enjoy compiling these things for you... hope they are helpful. However.. this doesn't pay my bills!!! If you find this stuff useful, (and you run an MS-DOS or Windows PC) please visit my freeware and shareware page, download something, and circulate it for me? At least (please) send an 'I liked the parallel port use page, and I'm from (country/ state)' email? (No... I don't do spam) Links on your page to this page would also be appreciated!
Click here to visit editor's freeware, shareware page.

Looking for email, domain registration, or web site hosting? If you visit 1&1's site from here, it helps me. They host my website, and I wouldn't put this link up for them if I wasn't happy with their service. They offer things for the beginner and the corporation.

Other projects

This is just one of the guides I have published on the net. Please visit any of the following that relate to interests you have....

Delphi Tutorials
Pascal programming tutorials
Electronics for hobbyists and schools
Main Home Page

Here is how you can contact this page's author, Tom Boyd.

Index of sensing and control pages (From there you can also go to other help from the editor of this page.)

Valid HTML 4.01 Transitional Page has been tested for compliance with INDUSTRY (not MS-only) standards, using the free, publicly accessible validator at validator.w3.org. Mostly passes.

AND passes... Valid CSS!

-- Page ends --