mcniko311 Posted December 2, 2009 Report Share Posted December 2, 2009 Basic Strategy: I'm trying to measure in-cylinder pressure of an IC engine using a cRio (NI 9205 for pressure, NI9411 for encoder). We're using a quadrature encoder so pressure data can be recorded with respect to engine time (ie crank angle degrees). The FPGA writes pressure data to a FIFO each time it receives an A pulse (720/revolution). One engine cycle is two revolutions so a complete data set is 1440 points in the FIFO buffer. The RT VI waits until there are the correct number of points in the buffer and then reads the FIFO. Issue: This strategy works when the engine speed is less than 1600 rpm and a display on the RT shows a perfect pressure trace for each cycle. At anything greater than 1600 rpm the pressure trace begins to drift wrt crank angle degrees. To me this indicates that the FPGA is missing an A pulse meaning it takes longer for the FIFO buffer to reach 1440 data points. Questions: Is it possible that the FPGA/9205 is not fast enough to capture each A pulse and write a data point? Is this a sound strategy for transferring data from the FPGA to the RT VI? Is it possible that the FPGA is sensing every A pulse but cannot write data because the RT is querying the FIFO? Any suggestions for how to fix this would be greatly appreciated. Thank You. FPGA_Main.vi rt_main.vi Quote Link to comment
Lodestar Posted December 3, 2009 Report Share Posted December 3, 2009 (edited) Basic Strategy: I'm trying to measure in-cylinder pressure of an IC engine using a cRio (NI 9205 for pressure, NI9411 for encoder). We're using a quadrature encoder so pressure data can be recorded with respect to engine time (ie crank angle degrees). The FPGA writes pressure data to a FIFO each time it receives an A pulse (720/revolution). One engine cycle is two revolutions so a complete data set is 1440 points in the FIFO buffer. The RT VI waits until there are the correct number of points in the buffer and then reads the FIFO. Issue: This strategy works when the engine speed is less than 1600 rpm and a display on the RT shows a perfect pressure trace for each cycle. At anything greater than 1600 rpm the pressure trace begins to drift wrt crank angle degrees. To me this indicates that the FPGA is missing an A pulse meaning it takes longer for the FIFO buffer to reach 1440 data points. Questions: Is it possible that the FPGA/9205 is not fast enough to capture each A pulse and write a data point? Is this a sound strategy for transferring data from the FPGA to the RT VI? Is it possible that the FPGA is sensing every A pulse but cannot write data because the RT is querying the FIFO? Any suggestions for how to fix this would be greatly appreciated. Thank You. Your VIs here need some other necessary parts, but you don't give. We can't open these VIs successfully. mcniko311, You should know the maximal sampling rate of your system and what is the number of FIFO' s bytes. you need make sure that an overflow doesn't happen. Lodestar Edited December 3, 2009 by Lodestar Quote Link to comment
mcniko311 Posted December 3, 2009 Author Report Share Posted December 3, 2009 If you have trouble opening the FPGA and RT VI's, feel free to download the whole project at the following link: https://mywebspace.wisc.edu/nsmatthias/web/CompleteProject.zip Quote Link to comment
shenouda Posted July 3, 2013 Report Share Posted July 3, 2013 Dear All, I tried to download the project file but the link doesn't work. I would be so grateful if someone can provide me with that project file. Regards Shenouda Quote Link to comment
machyaer Posted July 4, 2013 Report Share Posted July 4, 2013 sorry, but there is no way to download the file... Max Quote Link to comment
Rolf Kalbermatter Posted July 9, 2013 Report Share Posted July 9, 2013 why?? Since the original post dates from 2009 and the poster since removed his project from his MySpace. Quote Link to comment
shenouda Posted July 9, 2013 Report Share Posted July 9, 2013 Thank you so much Rolfk for your reply, I really need this file because I'm stuck, so, do you have any idea to get such file that can read the engine in-cylinder pressure with the CAD angle?? Regards, Shenouda Quote Link to comment
jcarmody Posted July 9, 2013 Report Share Posted July 9, 2013 It appears that the original poster was stuck, too; having those files might give you a bad place to start. Perhaps you can explain where you're stuck and folks can help. Quote Link to comment
shenouda Posted July 9, 2013 Report Share Posted July 9, 2013 i'm just trying to read the engine in-Cylinder pressure with the CAD, and plot them in a graph. Quote Link to comment
Rolf Kalbermatter Posted July 9, 2013 Report Share Posted July 9, 2013 i'm just trying to read the engine in-Cylinder pressure with the CAD, and plot them in a graph. Well, as far as the LabVIEW code is concerned it is just an anolog read possibly with the use of a FIFO together with a digital read for the encoder. So you will have to find what cRIO module can do the task, based on your requirements for voltage or current range of your sensor and the sample speed you need to get your data with. Then, based on the module type, you look for LabVIEW example VIs that come with the FPGA toolkit. Study them, try to make small changes to them to understand how they work and go from there. Quote Link to comment
jcarmody Posted July 9, 2013 Report Share Posted July 9, 2013 i'm just trying to read the engine in-Cylinder pressure with the CAD, and plot them in a graph. http://www.catb.org/esr/faqs/smart-questions.html#intro Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.