Operating Manual v1 0
Version 47 (Jeremy Wright, 01/07/2013 09:36 pm)
1 | 1 | Jeremy Wright | h1. Operating Manual v1.0 |
---|---|---|---|
2 | 1 | Jeremy Wright | |
3 | 9 | Jeremy Wright | {{toc}} |
4 | 9 | Jeremy Wright | |
5 | 8 | Jeremy Wright | h2. Hardware Operation |
6 | 1 | Jeremy Wright | |
7 | 8 | Jeremy Wright | h3. Unpacking After Transport |
8 | 8 | Jeremy Wright | |
9 | 10 | Jeremy Wright | # Check shipping container(s) for: |
10 | 10 | Jeremy Wright | ## Test stand |
11 | 10 | Jeremy Wright | ## Concrete block |
12 | 10 | Jeremy Wright | ## Box of accessories |
13 | 10 | Jeremy Wright | ### Launch controller |
14 | 10 | Jeremy Wright | ### D motor spacer ring |
15 | 10 | Jeremy Wright | ### Motor mount adapters (A, B, and C to D/E size) |
16 | 10 | Jeremy Wright | ### Thermocouple attachment tape (high temp) |
17 | 10 | Jeremy Wright | ## Computer and USB cable |
18 | 10 | Jeremy Wright | ## Motors to test (with igniters and igniter plugs) |
19 | 10 | Jeremy Wright | ## Fire extinguisher and maybe a bucket for water |
20 | 1 | Jeremy Wright | |
21 | 8 | Jeremy Wright | h3. Test Stand Setup |
22 | 5 | Jeremy Wright | |
23 | 10 | Jeremy Wright | # Place concrete block in location where test stand will be operated |
24 | 10 | Jeremy Wright | # Set test stand on concrete block |
25 | 10 | Jeremy Wright | # Create the safety perimeter. |
26 | 10 | Jeremy Wright | ## Delineate no stand zone for both proximity and positions |
27 | 10 | Jeremy Wright | ### Use length of cord for the igniter (radius of operations) |
28 | 10 | Jeremy Wright | ### Exclusion zones exist behind where exhaust escapes (30 degree cone), and in front on each side of the exhaust T (30 degree cone on each side) |
29 | 10 | Jeremy Wright | # Set up the management area for test. |
30 | 10 | Jeremy Wright | ## Igniter |
31 | 10 | Jeremy Wright | ### Clip the igniter to a part of the test stand and deploy the cable to its full length and place it where the test(s) will be run from |
32 | 10 | Jeremy Wright | ## Computer |
33 | 10 | Jeremy Wright | ### Set up computer |
34 | 10 | Jeremy Wright | ### Boot computer |
35 | 10 | Jeremy Wright | ### Run USB cable from computer to test stand |
36 | 10 | Jeremy Wright | ### Connect Arduino-based DAQ system to USB cable at test stand |
37 | 10 | Jeremy Wright | ### Start the Test Stand App |
38 | 10 | Jeremy Wright | ### Ensure DAQ system and Computer are both running and connected |
39 | 6 | Jeremy Wright | |
40 | 12 | Jeremy Wright | h3. Prepare For Test* |
41 | 6 | Jeremy Wright | |
42 | 14 | Jeremy Wright | # Check the following areas of the test stand for fatigue damage and good fit. |
43 | 14 | Jeremy Wright | ## Motor mount |
44 | 14 | Jeremy Wright | ## Zip ties holding motor mount |
45 | 14 | Jeremy Wright | ## Linear guide rail system |
46 | 14 | Jeremy Wright | # Clear any debris from linear guide rail system and ejection charge exhaust ports |
47 | 10 | Jeremy Wright | # Test sensors |
48 | 10 | Jeremy Wright | ## Push on thrust sensor and confirm current value slider responds |
49 | 10 | Jeremy Wright | ## Put fingers around thermocouple(s) (after ensuring it is not hot) and confirm plot responds |
50 | 10 | Jeremy Wright | # Install motor in test stand |
51 | 10 | Jeremy Wright | ## A-C Motors |
52 | 10 | Jeremy Wright | ### Attach thermocouple(s) |
53 | 10 | Jeremy Wright | ### Insert igniter into motor and cap with igniter plug, making sure to space leads |
54 | 10 | Jeremy Wright | ### Install the motor in an adapter |
55 | 10 | Jeremy Wright | ### Insert D spacer ring into the motor mount |
56 | 10 | Jeremy Wright | ### Insert the motor assembly into the motor mount so a notch from the adapter lines up with the clip on the motor mount so it clicks into place |
57 | 10 | Jeremy Wright | ## D Motors |
58 | 10 | Jeremy Wright | ### Attach thermocouple(s) |
59 | 10 | Jeremy Wright | ### Insert igniter into motor and cap with igniter plug, making sure to space leads |
60 | 10 | Jeremy Wright | ### Insert D spacer ring into the motor mount |
61 | 10 | Jeremy Wright | ### Insert the motor into the motor mount, pushing it all the way into the the motor mount, note the clip should close |
62 | 10 | Jeremy Wright | ## E Motors |
63 | 10 | Jeremy Wright | ### Attach thermocouple(s) |
64 | 10 | Jeremy Wright | ### Insert igniter into motor and cap with igniter plug, making sure to space leads |
65 | 10 | Jeremy Wright | ### Insert the motor into the motor mount, pushing it all the way into the the motor mount, note the clip should close |
66 | 10 | Jeremy Wright | # Double check that the range is actually clear |
67 | 10 | Jeremy Wright | # Set up igniter |
68 | 10 | Jeremy Wright | ## Make sure the firing pin is not in place |
69 | 10 | Jeremy Wright | ## Connect alligator clips from Launch Controller to the igniter (one to each lead) |
70 | 10 | Jeremy Wright | ### At this point the range is hot (ready to fire) |
71 | 11 | Jeremy Wright | |
72 | 12 | Jeremy Wright | h3. Perform Test (Fire Motor and Take Data)* |
73 | 11 | Jeremy Wright | |
74 | 33 | Jeremy Wright | # Hit button to *Enable Recording* |
75 | 11 | Jeremy Wright | # Insert firing pin into Launch Controller |
76 | 11 | Jeremy Wright | # Check for continuity by pressing on firing pin (light will turn on) |
77 | 11 | Jeremy Wright | # Count down |
78 | 11 | Jeremy Wright | # Press ignition button (may have to hold it down for a second) |
79 | 11 | Jeremy Wright | # At the end of the firing, remove the firing pin from the Launch Controller |
80 | 11 | Jeremy Wright | |
81 | 12 | Jeremy Wright | h3. Post Test Duties* |
82 | 11 | Jeremy Wright | |
83 | 11 | Jeremy Wright | # Remove motor and prepare for disposal |
84 | 11 | Jeremy Wright | ## Wait several minutes before removing the motor to allow it to cool down to a safe handling temperature |
85 | 11 | Jeremy Wright | ## Remember to also remove the D space ring if the motor was D size or smaller |
86 | 11 | Jeremy Wright | ## Remember to find the igniter (it should still be attached to the alligator clips) so it can be properly disposed |
87 | 11 | Jeremy Wright | ## For C size motors and smaller, be sure to recover the motor adapter |
88 | 11 | Jeremy Wright | ## Store spent motors away from flammable material during future tests |
89 | 1 | Jeremy Wright | # Check to make sure that data was autosaved to the "data" directory. |
90 | 33 | Jeremy Wright | # Click the *Clear* button on the software once you have finished viewing the data. |
91 | 11 | Jeremy Wright | |
92 | 11 | Jeremy Wright | h3. Post Operations Duties (After Firing All Motors) |
93 | 11 | Jeremy Wright | |
94 | 11 | Jeremy Wright | # Dispose of motor(s), being careful to observe all state, federal, and local guidelines. |
95 | 11 | Jeremy Wright | ## Rinse motors in water to ensure they are completely cooled before disposal |
96 | 11 | Jeremy Wright | ## Throw the motors away according the manufacturer’s recommendation |
97 | 11 | Jeremy Wright | # Pack up the accessories |
98 | 11 | Jeremy Wright | # Pack up the computer |
99 | 11 | Jeremy Wright | # Pack up the test stand and block |
100 | 11 | Jeremy Wright | |
101 | 12 | Jeremy Wright | *Note:* If performing multiple tests during the same setup, repeat the steps with an asterisk (*) for each test. |
102 | 13 | Jeremy Wright | |
103 | 13 | Jeremy Wright | h2. Software Operation |
104 | 13 | Jeremy Wright | |
105 | 1 | Jeremy Wright | For instructions on how to download and install the Shepard data acquisition (DAQ) software, please see the "Software Source Code":https://opendesignengine.net/projects/shepard-ts/wiki/Software_Source_Code_v1_0 section of the wiki. |
106 | 1 | Jeremy Wright | |
107 | 43 | Jeremy Wright | h3. Wiring (Arduino) Software |
108 | 43 | Jeremy Wright | |
109 | 47 | Jeremy Wright | Inside the @ShepardDCS_Arduino@ directory within the repository (/trunk/ShepardDCS/ShepardDCS_Arduino), you will find the @ShepardDCS_Arduino.ino@ file. Before this file can be opened and run using the Arduino IDE, there is a third-party library from Adafruit that must be installed for the MAX31855 thermocouple amplifier breakout board. The library should already be included in the @trunk/libraries@ directory, but if it's not, the library can be downloaded from Github "here":https://github.com/adafruit/MAX6675-library , and instructions to install the library are included under the "Arduino Library" section "here":http://learn.adafruit.com/thermocouple/using-a-thermocouple . To make sure that the library gets inluded, set the @shepard-ts/trunk@ directory to be the *Sketchbook location* under *File -> Preferences* in the Arduino IDE. |
110 | 43 | Jeremy Wright | |
111 | 43 | Jeremy Wright | h3. Processing (Desktop) Software |
112 | 43 | Jeremy Wright | |
113 | 21 | Jeremy Wright | When you've downloaded the source code via subversion, you descend through the directory tree until you end up in the @ShepardDCS@ directory (see *Listing 1*). Inside this directory you will find a directory holding the Arduino code, and one holding the Processing (PC-side) code. There is a file named @ShepardDCS_Arduino.ino@ inside the @ShepardDCS_Arduino@ directory. You open this file with the Arduino IDE and compile/upload it to the Arduino Uno. The @ShepardDCS_Processing@ directory includes the @ShepardDCS_Processing.pde@ file, which you open and run with the Processing IDE on your PC to display the data dashboard for Shepard. |
114 | 1 | Jeremy Wright | |
115 | 20 | Jeremy Wright | *Listing 1* |
116 | 19 | Jeremy Wright | <pre> |
117 | 19 | Jeremy Wright | ├── branches |
118 | 19 | Jeremy Wright | ├── tags |
119 | 19 | Jeremy Wright | └── trunk |
120 | 19 | Jeremy Wright | ├── libraries |
121 | 19 | Jeremy Wright | │ └── controlP5 |
122 | 19 | Jeremy Wright | └── ShepardDCS |
123 | 19 | Jeremy Wright | ├── ShepardDCS_Arduino |
124 | 19 | Jeremy Wright | └── ShepardDCS_Processing |
125 | 19 | Jeremy Wright | </pre> |
126 | 19 | Jeremy Wright | |
127 | 25 | Jeremy Wright | You'll notice that there is a @libraries@ directory at the same level as the @ShepardDCS@ directory. @libraries@ contains the ControlP5 library which provides the graphical elements for the ShepardDCS user interface. In order for this library to be found, you will either need to move the @libraries@ directory into the already configured Processing sketchbook directory, or you'll have to reconfigure the sketchbook directory to point to the @trunk@ directory. This option is found under File -> Preferences in the Processing IDE (*Figure 1* and *Figure 2*). |
128 | 23 | Jeremy Wright | |
129 | 23 | Jeremy Wright | *Figure 1* |
130 | 23 | Jeremy Wright | !Preferences_Location.png! |
131 | 24 | Jeremy Wright | |
132 | 24 | Jeremy Wright | *Figure 2* |
133 | 24 | Jeremy Wright | !Arduino_Processing_Preferences.png! |
134 | 26 | Jeremy Wright | |
135 | 26 | Jeremy Wright | Once you're connected the PC to the Arduino Uno with a USB cable, open and run the @ShepardDCS_Arduino.ino@ file from the Arduino IDE first. This will load and start the program on the Uno. When the Arduino program is running and ready to transmit data, the TX LED for the serial port will be lighted continuously. |
136 | 26 | Jeremy Wright | |
137 | 26 | Jeremy Wright | Start the Processing application and the TX LED on the Arduino Uno should start to flash. If you have the sensors attached, you should be able to apply pressure to the thrust sensor to change the "CUR" (current thrust value) slide on the user interface as a simple test. To check temperature monitoring, you can hold the thermocouple between your thumb and index finger to see if the "CUR" value for the temperature rises. |
138 | 26 | Jeremy Wright | |
139 | 26 | Jeremy Wright | There are several components of the user interface, and those are numbered for reference in *Figure 3*. |
140 | 26 | Jeremy Wright | |
141 | 26 | Jeremy Wright | *Figure 3* |
142 | 26 | Jeremy Wright | !Shepard_DCS_Overview.png! |
143 | 27 | Jeremy Wright | |
144 | 45 | Jeremy Wright | # The *SERIAL PORT* text box allows you to set the serial port that the Arduino is attached to. For Windows it will be a serial port such as "COM5", and for Linux it will be something like @/dev/ttyACM0@ . Make sure you hit the *Enter* key after typing the serial port to ensure that the change takes effect. Linux users may also have to add themselves to a group that has access to serial ports such as @dialout@. |
145 | 36 | Jeremy Wright | # The text that you enter in the *MOTOR MODEL* field will be prepended to the output file name. The rest of the file name will consist of a time stamp. For instance, if you enter "B1-6" in the *MOTOR MODEL* text field and then record data at 8:42:38 AM, you will end up with a file name of *B1-6_8_42_32.csv*. If you leave this field blank the file name will start with an underscore followed by the time stamp (*_8_42_32.csv*). |
146 | 37 | Jeremy Wright | # The *ENABLE RECORDING* button allows you to control whether or not the application keeps track of the thrust and temperature on the chart, and the max/peak and average sliders. This button also controls whether or not the data is written to a CSV file. When this button is enabled (clicked so that it becomes highlighted) and the thrust value goes above a value of 0.0, data will be collected. Once the *ENABLE RECORDING* button is disabled (clicked so that it is no longer highlighted) and the thrust value has been above 0.0, the data will be written to a file. |
147 | 38 | Jeremy Wright | # The *CLEAR* button clears the charts, averages, and maxes to prepare for the next run. Do not click this until you are finished looking at the data from the previous test. |
148 | 32 | Jeremy Wright | # The *Thrust* chart has Newtons (N) on the Y-axis, and time on the X-axis. The X-axis will auto scale as the time (seconds) increases, and new values feed from the right side to the left side of the chart. |
149 | 31 | Jeremy Wright | # The *CUR* (current value) sliders provide a graphical and numeric representation of either the thrust (top slider), or the temperature (bottom slider). The slider will fill from the bottom to the top as the value increases. |
150 | 40 | Jeremy Wright | # The *PEAK* or *MAX* value sliders show the same thing, but different terminology is used for the thrust (*PEAK*) than for the temperature (*MAX*). Both of these sliders show the highest value that is reached during a test run. This is either the peak thrust of the motor, or the highest temperature that was seen on the motor casing. |
151 | 33 | Jeremy Wright | # The *AVG* (average) sliders keep track of a running average of the values reported by the thrust and temperature sensors. This average is influenced by how long you leave the *ENABLE RECORDING* button enabled (clicked so that it is highlighted), so it's best to stop the recording soon after the motor has exhausted its fuel and ejected the parachute charge. |
152 | 41 | Jeremy Wright | # The *Temperature* chart works in the same way as the *Thrust* chart above. The Y-axis is in degrees Celsius (C), and the X-axis is again in seconds. The X-axis auto-scales as time increases, and new values feed from the right side of the chart to the left. |
153 | 42 | Jeremy Wright | |
154 | 42 | Jeremy Wright | For a normal test run, you would follow all of the steps shown in "Hardware Operation" above. Two software related items that are called out is clicking the *Enable Recording* button and clicking the *Clear* button. If the *Enable Recording* button is not clicked when you preform a test run, you will only see the current value slider change, and no data will be recorded. On the other hand, you do not want the *Enable Recording* button to be clicked/enabled when you're testing sensors or you may end up with a false trigger and useless data. Keep the *Enable Recording* button toggled to disabled until you're ready to perform a test fire. Failure to click the *Clear* button before doing another test run will cause the new data to be combined with the old data, causing tandem curves on the charts, and incorrect averages and maxes. |
155 | 42 | Jeremy Wright | |
156 | 42 | Jeremy Wright | The test stand's data is stored in CSV (comma delimited) format, so you can copy the files to any computer to perform an analysis. Applications like Microsoft Office and Libre Office will allow you to create line charts and do much more with the data. |
157 | 42 | Jeremy Wright | |
158 | 42 | Jeremy Wright | h3. Integrated Operation |
159 | 42 | Jeremy Wright | |
160 | 44 | Jeremy Wright | Once the third-party library is installed, you should be able to compile and upload the Arduino program. You can then close the Arduino IDE, restart the Arduino Uno, and launch the Processing app to start collecting the data. |