|
The EE Compendium is relocating to a new home!
|
The new site has been completely redesigned for easier navigation, and contains
many new categories, including more microcontroller information and an expanded
projects section.
Please visit the the redesigned site and update your bookmarks. The new address is:
http://ee.cleversoul.com/
|
|
Randy Rasa's Engineering Projects
These are short descriptions of some of
the projects I've worked on in the last few years.
I wish I had pictures of all of them, but I guess you'll
just have to use your imagination ...
Power Supply Controller (PSC)
- The purpose of this product is to handle the interface between a
third-party commercial power supply, external lead-acid batteries, and a host
fire alarm control panel. The PSC monitors the output of the power supply,
switching between it and the batteries in the event of power loss or power
supply failure. The PSC also manages battery charging and testing, providing
battery status reports to the host panel. It also monitors the temperature
of the power supply and PSC circuitry, turning on a two-speed fan if the
temperature within the enclosure rises too high. The PSC communicates to the
host panel via a proprietary protocol based on the SPI synchronous serial
bus. The PSC operation is managed by a Motorola 68HC705P9, using software
written with the
ByteCraft 6805 C compiler.
Remote Data Acquisition Card
- This was actually two very similar products, each with different interface
circuitry, but sharing identical processor circuitry and common software.
The card provides either five "Class A" (4-wire) or ten "Class B" (2-wire)
inputs. These inputs may be connected to conventional smoke detectors, heat
detectors, pull stations, or any device that uses a contact closure to
indicate an alarm condition. The card monitors these inputs with an
11-channel, 8-bit serial ADC (TI's TLC540) and a Motorola 68HC705C4
microcontroller, reporting their status back to a host fire alarm control
panel using RS-485 and a proprietary serial communications library
(Cimetrics 9-Bit Network).
The project included modifications to the host fire alarm control panel to
add control and supervision of the networked inputs, and other related
features. The software on the input cards was written with the
ByteCraft 6805 C compiler.
Display Tester
- A real simple little project using an Atmel 89C1051 to test a display board
consisting of a 4-digit, seven-segment LED display, driven by a MAX7219, and
a few discrete LEDs and pushbuttons. I wrote the code using Hi-Tech C for
the 8051.
Remote Annunciator
- This product provides remote annunciation
for a fire alarm control panel. It uses a PIC16C65 to control up to
64 LEDs and a beeper, and read inputs from up to eight switch inputs
and an 8-bit DIP switch. It communicates with the fire alarm control
panel using RS-485 and a proprietary serial communications library (
Cimetrics 9-Bit Network
). The project included adding networking capabilities to the existing
fire alarm control panel software, as well as designing an add-on
RS-485 adapter card. The software on the input cards was written with the
ByteCraft MPC C compiler.
Vehicle Locator System - The purpose of this product was
to allow the tracking of vehicles using GPS (Global Positioning
Systems) satellite data and cellular phones. I designed the hardware,
which consisted of a Motorola 68HC11 processor, non-volatile memory,
UARTs, and a modem. I wrote the software (in C) for the system,
which received data from the GPS radio, logged it to an event
history buffer in non-volatile memory, and communicated with the
cellular phone transceiver. The system also communicated with
a remote command-and-control station, which called periodically
to download event data and to determine the system's current position.
The unit also contained diagnostics which allowed the system
to be fully tested during manufacturing or in the field.
Wireless Voting System - The purpose of this project was
to design a system that the customer could use to conduct voting
at their annual convention. Previously, they had used a wired
system, which limited them to only certain locations, and restricted
the delegates freedom of movement. The system used small, inexpensive
radio transceivers to communicate between several base stations
and about two thousand handheld voting units. The system requirements
were that the communications be fast and reliable, and that the
handheld units run off of a battery. The base station used a
Motorola 68HC11, and the handhelds used a Motorola 68HC705. All
software was written in assembler. In addition to designing much
of the hardware and all of the software, I also designed the communications
protocol, both between the base station and handhelds, and between
the base station and a host computer that controlled the voting
session.
Generator Display - This was a small project that monitored
the output of a gasoline-powered electrical generator, displaying
the generated voltage, current, and loading on a backlit LCD.
The unit also tracked and displayed the system's operating time,
and stored this value in EEPROM. This project used a Signetics
87C751 microcontroller.
Railroad Projects - I have worked on a number of railroad-related
projects, including:
-
Radio Repeater - This product was used designed to improve
RF communications between the rear and front of train in places
where transmissions were marginal due to interference. The unit
listened for incoming messages and re-transmitted them, based
on certain conditions and filters. The unit also had an LED display
that could be used to monitor the ID numbers of messages received.
I designed most of the hardware (built around the Motorola 68HC11),
and all of the software (written in C). The C source was written
to be able to run on both the target system and on a standard
PC. This allowed me to write and test the software while the
hardware was still being designed and built.
-
Test Receiver - This product is used in Railyard control
towers to monitor End-Of-Train radio transmissions. It allows
the operator to view each message as it is transmitted, or to
"lock on" to a specific message and analyze it. It
also allows the operator to detect malfunctioning transmitters.
It uses a Motorola 68HC11 processor, with code written in C.
This program was also written to run on both the target system
and a PC.
-
RLM (Receiver Logic Module) - This product handles the
interface between the End-Of-Train radio and the Information Module.
It receives incoming messages, checks them for errors using the
BCH (Bose-Chaudhur-Hocquenghem) error-detection and correction
protocol, buffers the data, and sends it to the Information Module.
It also handles outgoing transmissions, receiving the data from
the Information Module and adding in the BCH codes.
-
Information Module - This product was designed to be a
user interface that allows an engineer to control and monitor
both the End-Of-Train radio and voice radio. It uses two Rockwell
6501 microcontrollers to handle the user interface and communications.
I designed some of the hardware and all of the software (written
in assembler).
-
RCE Tester- This project used a PC-compatible laptop
computer to monitor, analyze, and test railroad RCE (Remote Control
Engine) equipment. The project required the design of a modem
to communicate with the RCE. The software was written in a mixture
of assembler and QuickBASIC, and included a custom script language
that the customer could use to write his own test procedures.
Frame Grabber - The goal of this project was to design
a logic board, using the standard PC-AT bus, that interfaced to
a small CCD camera. Under computer control, the board captured
a frame from the camera, buffered it in memory, and then transferred
the image either to PC memory, or to an image analysis co-processor
board. I designed much of the hardware, which consisted of interface
logic and PLDs (programmable logic devices), and memory. I also
wrote some of the PLD logic equations, and all of the PC interface
software, which was written in C and assembler, and implemented
as a library that the customer could use with QuickBASIC.
Panel Meters - The goal of this project was to design
a series of industrial panel meters that could be sold commercially.
The design consisted of a Motorola 68HC11 and a group of plug-in
daughterboards that implemented the various interface functions
(voltage, current, temperature, power, etc.). The meter was self-configuring,
adapting its operation based on the hardware that was installed.
I designed most of the hardware and wrote all of the software
(in C).
Laboratory Instrument - This product was used in the laboratory
analysis of chemicals. It controlled a trays of vials, and allowed
the user to extract liquid from a specific vial or sequence of
vials. It used a Motorola 6802 processor and a graphical LCD,
and controlled a stepper motor. It had interfaces for RS-232,
RS-484, and IEE-488 The software was written in assembler.
Weigh Scale - This product mounted on a grain truck, and
was used to monitor the feed as it was dispensed, and allow the
operator to set up and deliver a series of pre-programmed sites.
The unit consisted of a main logic board (run by a Rockwell 6501),
an analog board that interfaced to the load cells, and a display
board that controlled a custom LCD (this also had its own 6501
processor). I wrote all of the software for this product (in
assembler).
Motor Controller - This product controlled a small AC
motor, based on the fluid level in a pipe. It was run by a Microchip
PIC16C54, and its code was written in assembler.
Avionics - I have designed various meters and display
for the avionics industry, most of which communicated using the
ARINC 419 and 429 serial data bus, and were controlled by Motorola
6802 and 6805 processors and microcontrollers.
Summary:
-
I've designed hardware and software for the following processors
and microcontrollers:
- Motorola 68HC11, 68HC705xx, 6802
- Dallas 80C320, Signetics 87C751, Atmel 89C2051
- MicroChip PIC16Cxx
- Rockwell 6501AQ
-
I've used the following programming languages and compilers:
- IAR C (68HC11)
- ByteCraft C (68HC05 and PIC)
- Intermetrics C (68HC11)
- Motorola PASM Assemblers
- Avocet Assembler (6502)
- Parallax PASM Assembler (PIC)
- Hi-Tech C (8051)
- Metalink Assembler (8051)
- Borland C/C++
- DDS Micro-C
- Microsoft QuickBASIC
- Microsoft MASM
- Borland TASM
- HTML
-
I've used the following emulators and development tools:
- Motorola EVMs (68HC11, 68HC05)
- American Transdata Emulator (PIC)
- Nohau Emulator (68HC11)
- Signetics Emulator (87C751)
- Rockwell Emulator (6501AQ)
- TechTools UniROM ROM Emulator
- HiTech "DryICE" 8051 Emulator
This page is Copyright © 1997 by Randy Rasa.
Last updated 02-21-97.
|