I have worked in the Missouri S&T Combustion and Spray Dynamics Lab from spring 2013 to present. Primarily I maintain operating test stands and set up stands for use (from obtaining and installing mechanical hardware to developing the LabView interfaces used to operate and record data). My first major project in the lab was to remove an antiquated, somewhat functional in-cylinder pressure DAQ system and integrate the same functionality in to our existing cRIO control system.
This project involved quite a bit of work and research:
- Reverse-engineering the LabView program written years prior to my arrival for a different NI DAQ system (the CFR is based on the cRIO RT/FPGA system)
- Implementing the same functionality on the cRIO by adding a DMA FIFO to the CFR “driver” and writing a custom front-end to dequeue and process the pressure data
- Creating a usable interface that could be easily taught to the TA running the labs
The most complex portion of the project was researching and implementing the DMA FIFO system to pass data between the FPGA and Real Time (RT) controller – I collected a data point at every crank angle and wanted to be able to display a cycle-to-cycle pressure graph along with calculating IMEP.
When complete, my program offered significant improvement over the previous iteration:
- Cycle-to-cycle graphs not only possible but seamless
- Live Pressure-CAD and Pressure-Volume graphs, as well as calculated IMEPn and work without taxing the real-time system.
- Clean, organized, commented block diagram
- User-selectable graph averaging
Aside from the programmatic improvements, I was able to remove an entire cabinet that housed the old computer and DAQ interface, as well as a specialized signal box that was simply inverting the crank position signal – this allowed us to officially control and log data from the CFR from a single cabinet.