Software development of a data acquisition system for a race car.
Reference: Dr. Joe Morgan
RaceDAQ 2000 is creative name that my group gave to the final
project of my Signal Conditioning and Data Acquisition class. This project
consisted of outfitting an SAE Amateur AutoCross hardware requirements, each team was also to
create a GUI interface that could be used to view all sensor information in real
time, and provide some basic analysis tools. Our GUI allows the user to click on any sensor gauge to view a history graph of that sensor. It also contains VCR-like functionalities that allow the user to play through a recorded log file in any speed, direction,
etc… In addition to these requirements, our group implemented a wireless
connection to allow a track-side computer to view the racecar information in
real time. It was a pretty fun project.
Fuzzy Logic RaceCar
FPGA development of an autonomous race car.
Reference: Mike Backich
This class taught the inner workings of a simple
4-bit microcontroller on the logic gate level. Originally, our big class project
for the semester was to demonstrate a working 4-bit microcontroller on Altera‘s Flex 10K
Logic Device. In addition to this however, our sophomore level class decided
to challenge a senior level control systems class to create an autonomous
vehicle that could follow the current through a wire around a track. This
project is done every semester by the seniors in the control systems class, but
never before has a sophomore class attempted to do the same. The primary
difference was that the senior class uses a regular off-the-shelf
microcontroller and uses a PID control system. Our class decided to implement
our own microcontroller and control the car using fuzzy logic. Despite
many hours of hard work, the car never did run due to lack of time and
participation by the whole class. However, this project was not a total failure.
Myself, and a very small number of other students who actually worked on the
project, designed a working 16-bit microcontroller using Altera Max+plus
II on the logic gate level. It was actually an 8.8 fixed-point
microcontroller with many specialized functions along with decimal retaining
divide and multiply functions. Because I did most of the design of the
microcontroller architecture, I was also given the responsibility to write the
operating program for the car since I had the clearest understanding of our
microcontroller’s assembly language. As a side note, this 200 line program had
to be hand assembled into 16-bit binary numbers, it was a very interesting
experience to say the least. The car’s control system was supposed to operate
using fuzzy logic, which pretty much remained fuzzy because we could never get
the fuzzy logic to output results that made sense, but I’m convinced this was
only due to lack of time to debug the project. Otherwise, according to our
simulations the microcontroller worked properly, which is quite an
accomplishment in my opinion.
Aviation Research Lab – Easterwood Airport
Software development monitoring and control capabilities.
Reference: Dr. Joe Morgan
The ARL was a
laboratory at Easterwood Airport here in College Station, TX, owned and
operated by Texas A&M University. The goal is to setup a research lab at a
working airport to provide a place and resources for other companies and
agencies to test and develop new aviation related technologies. Namely,
technologies that would improve security and safety in an airport environment.
We are currently seeking funding, so I am helping Dr. Morgan by setting up a
variety of small demos to be presented to companies and government agencies.
Currently I have helped develop two of these demos:
The first is a simple client/server application developed in
LabVIEW using DataSockets. The Server has a default routine of operation. A user
can monitor this operation using any regular web browser. The user can also
alter this operation by using the client application. This simple program is
simply to illustrate our ability to remotely monitor and control a device or
The other project I helped to develop was
the implementation of an X10 video system, and incorporating Internet based controls of these video cameras. Specifically, the package came with three wireless cameras.
Each camera has a power cable, but wirelessly transmits its video back to a base receiver at 2.4 GHz. The receiver puts out NTSC video, which is read into the computer using a USB converter. This information is displayed in the custom application using X10 plugins. However, only one camera can transmit at a time. When one camera is on, the other two cameras are off. We can control this on/off struggle using the X10 Firecracker. The Firecracker is a small device that plugs into the serial port. It communicates at 300MHz to a small box plugged into any available power outlet. The box then communicates with the cameras through the
power lines, enabling one camera and disabling the others. Pretty neat, eh!? This system is remote controlled using our custom client application.