Sunday, November 27, 2005

Control on a Smaller Scale

Process control is sometimes done at a very large scale. Monering 10s of thousands of points and controling many thousands of points. Large DCS systems such as Invensys, ABB, and Honeywell are used to control monitor, and provide a Human interface. These systems can cost millions of dollars to purchase and impliment.

Sometimes a smaller solution is needed. PLCs often provide a good solution, GE Fanuc, Allen Bradley, and Modicon have solutions that often tie in to DCS or PCs. The PLCs often often scale to such a size that they are indistinguishable in size to a good size DCS system. National Instruments and Measurement Computing offer an even smaller scale of Monitoring and control. I've used Measurement Computing products to provide small scale solutions using their USB devices and SoftWire. Using the cheap USB device and Softwire I have been able to develop quickly a pump control scheme to perform some scientific experiments. The resulting user interface displays trending and allowed automatic pressure control. Using an existing PC the cost including development is pretty inexpensive.

Even smaller solutions, are needed and used internally to a lot of equipment. Most of us have lots of controllers in homes and work. Places where one might find one of these minature CPUs are in televisions, microwaves, thermostats, and automobiles. The technology , often called embedded, is often concidered out of reach to use in a small number of items. Development can be tedious and expencive.

Keys to easier development are finding a processor that is optimal to the desired use, and a good development system.

A processor should have as many of the supporting functions builtin as possible, not only does this reduce parts count but it also standardises and simplifies usage. making both hardware and software development easier. Of course one doesn't want to pay for features and peripherals one will never use. Some proccessors include flash memory, static memory and/or EEPROM. If one has to use external memory this can tie up chip pins that one can't easily use for other purposes. Other conciderations may be clock speed, power usage, and voltage requirements.

The software, and hardware platforms to program these things can cost thousands of dollars, learning to use the tools can be very time consuming, particularly if there is no available support. Hopefully there will be easily available sample code and schematics on how how they are to be used. Documentation that is readable, yet specific enough is a must for quick development.

A project that I'm undertaking is to use, will be doing input out put and displaying out to a LCD. I haven't done Assembly language programming in 20 years, and my past programming in it is as a traditional hacker. I will be using Atmel AVR series 8 bit processors. These are pretty powerful MPUs and come in a pretty large variety of flavors. They come in with devices handling from 1 Kbyte to 256 Kbyte of code and packages with 8 to 100 pins. I am using the free AVR 4 along with the SK 500 to develop the software and tryout the hardware. There is lots of help and examples from the AVR Freaks Site and Atmels Applications page. There isn't any OS or for these, so one needs to keep in mind that the programer has to pay attention to all the details. Gnu C is availaible in the form of WinAVR and it gets installed right into Studio 4. Although its easy enough to use its not as tempting to use as one might at first think. One really has to understand how the processor works anyway to write good code and to access the different I/O. These things can be pretty tight with code space and assembly does create much tighter code. Still when it comes to handling math and other complex functions it just might serve to change to C.

I've got a ways to go before I reach a real profficiency, but I'm finding it pretty easy to read switches and light up LEDs. I'm hoping to work on a few projects using these. From both a hardware and software point of view these seem to be an easy way to create controllers in the small scale. Some of the uses for these things are:
  • Controllable Power Suplies
  • Programable Thermostats.
  • Robotics
  • Motor controllers
  • Digital Meters.
  • Remote IR Transmiters and Receivers.
  • Clock timers for things lik Microwaves and Coffee pots.
  • Just about anything where computer control is useful for timing and sequencing

1 Comments:

Blogger asdf said...

Hello,

Thanks for your post.. I want to know if i can link you to my blog..
if you use blogrolling you can add me and I will do the same.

Regards.

7:51 AM  

Post a Comment

<< Home