Introduction to Electronic Systems DevelopmentFebruary 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.
The "front end" computer generally handles functions such as:
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:
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.
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.
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.
|
Last updated: March 09, 2005 08:39 PM
![]()
FREE Open Source Forum