Phoenix Turbine Builders Club

Previous Back Next

Introduction to Electronic Systems Development

February 28, 2005

Last month we talked about our vision for 2005, in which we focus primarily on solar applications of the disk turbine. Now that we have spent several years covering turbine building techniques, fuel systems and solar reflectors, it is high time to delve into the details and specifics of Carnot cycle (steam, vapor) systems -- with an emphasis on solar power.

Last fall we talked about various solar reflectors, drive mechanisms and their application to turbo electric power. This month we are going to take a look at the electronic side of system development. At first many of you may think that electronics is way too mysterious to handle, but by the end of this series, both novice and pro will be able to assemble and program working embedded systems.

We're going to begin by examining a couple of development systems that I use for everything from combustion controllers to hacker-proof security keys.

"front end" computerThe "front end" for these easy-to-use development platforms is a basic X86 compatible computer. All X86 compatible computers are IBM compatible, and may be anything from an original 8088 IBM personal computer to the latest AMD 64 or Pentium IV.

The "front end" computer generally handles functions such as:

bulletuser interface
bulletembedded systems I/O (input/output)

The developer software I use on my X86 computer is PowerBasic (www.Powerbasic.com). Although PowerBasic is available for either the DOS or Windows environments, I prefer the DOS version. DOS applications run faster and with fewer bugs and fatal errors.

The second half of the development system is what we call the embedded processor. Embedded processors may be used in conjunction with the X86 front end computer, or they may be programmed to operate in a fully autonomous, robotic mode -- completely independent from the user interface. The determining factor is in how the two systems are programmed.

Now some of you may already have programming experience in some language like C or C+ but we are going to show how to program in the easiest, most straight-forward fashion using Basic -- on both the front end and embedded target processor.

We already mentioned that we use PowerBasic on the front end computer. PowerBasic is not only the easiest of programming languages to learn, but it runs just as fast or faster than the "C" language after compiling the code. And most importantly, Basic is the easiest language to debug, and the most universal for all parties to work with.

The target/embedded processors we work with include the following architectures:

bulletX86
bullet1802
bullet8051
bulletAVR
bulletPIC

Of all of these, we prefer using PIC processor and development systems due to their ease of use, low cost, and language similarities to PowerBasic. Our processor of choice is the MicroChip PIC 18F84 part. It is low cost, easy to program, and operates with a minimum of auxiliary parts.

The programming language we use is PicBasic Pro, which can be purchased directly from MElabs (www.melabs.com). MElabs also sells a complete line of development products, including a low cost programming board and application boards.

An alternative embedded system would utilize MCS Electronic's BasCom language (www.mcselec.com) with the AVR/8051 processors.

Another choice is to use ICOP Technology's 386 embedded system module (www.icoptech.com). At $65 for a single board and the ability to run Dos applications (compiled PowerBasic modules), this may be a very cost effective route for one-off designs. 

So you can see that there are a number of viable options for electronics development of our solar dish aiming and tracking system.

Now let's take a closer look at our (IBM-PIC) development system.

As mentioned earlier, the IBM/X86 computer is an ideal platform for the user interface and target processor I/O. An older computer may be used as the core of a dedicated development system, or the family computer may be used for this purpose.

The Epic programmer (MElabs) is connected to the front end X86 computer using a parallel cable for programming. Once the PIC processor is programmed, it is removed from the Epic and inserted into a run or application circuit. A serial cable connects the run circuit back to the X86 for runtime interaction.


Programming setup

Runtime interaction

Application circuit

That's all there is to the embedded processor development system. It is very simple, straightforward and easy to use once assembled.

Next month we'll cover the dish aiming and tracking system overview and how it relates to the system development hardware. 

In future editions we'll get more into programming development. Until then, get your hardware and software together and get ready for some hot robotics work.

Ken Rieli

Last updated: March 09, 2005 08:39 PM

Phoenix Turbine Builders Club

FREE Open Source Forum

http://phoenixnavigation.com/ptbc/home.htm