So now we are sitting around with an igniter and test stand all ready to run it, so we’re good, right? Well not so fast, as some software is necessary. I’m not a software engineer or a CS major by any stretch of the imagination, so I apologize in advance for any painful coding mistakes. It is open source code though, so feel free to tell me what to change or just go ahead and change it on your own if it gets too bad.
Since we are using Arduino for the hardware electronics, we will be using the Arduino programming environment. Rather than me rehashing how to program in Arduino, check out their website which has some awesome tutorials.
The basic program that we will be using consists of the following parts:
– Initiate variables
– Serial Communication
We use this to get the data from the Arduino on to the serial monitor and to send commands to the Arduio. We don’t have a GUI yet so the commands are:
1- turns on GOX valve
2- turns on IPA valve
3- turns on spark exciter
q- turns off GOX valve
s- turns off IPA valve
e- turns off spark exciter
a- arms the autosequence
s- starst the autosequence
z- aborts the autosequence
This is actually surprisingly easy to use, but we will be adding a GUI over the next month or two.
-Autosequence
You manually set times and what valves change state at those times. The code then iterates and, every 20 ms, updates analog inputs and checks to see if it is at the next time yet.
-Analog Input
Arduino takes 3 data samples separated by 1 ms and averages the data. It then converts the voltage signal to a pressure or temperature.
So that is pretty much it, and you can see a picture of an initial data sample below.
For those of your that are interested, the code is here as a pdf (originally a *.ino for arduino) IGNITER_DAQ_LJD_v1 and also in our documentation pages. As with everything else on the site, it is available for use under Creative Commons Attribution-Share Alike.