RaceDAQ

Student
Software development of a data acquisition system for a race car.
Spring 2000
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 Mechanical Engineering project, our class was just responsible for designing and installing the additional electronics. The intent is to use this information as a training tool to improve driver performance. Each group in our class was assigned to a particular attribute of the car to measure. In my case, it was acceleration in both the x and y directions, where z is pointing straight up, and x is point towards the nose of the car. In addition to the 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

Student
FPGA development of an autonomous race car.
Spring 1999
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 UP1 Programmable 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.