Difference between revisions of "EGR 103/DAQ 1"
Jump to navigation
Jump to search
(53 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | This page contains pictures and graphs related to Laboratory | + | |
+ | == '''Note:''' For Fall 2019 and after, you will want the [[Python:DAQ_1]] page. == | ||
+ | <!-- | ||
+ | == Introduction == | ||
+ | This page contains pictures and graphs related to Data Acquisition Laboratory 1 (DAQ 1) of [[EGR 103]]. It has been updated for Spring, 2018. This page underwent a major revision in Fall of 2017 based on the DAQmx drivers and MATLAB's elimination of legacy toolbox codes. | ||
+ | |||
+ | == Supporting Pundit Pages == | ||
+ | *[[MATLAB:CB-68LP Pinout]] | ||
+ | *[[Resistor Color Codes]] | ||
+ | *[[Transferring_Files]] | ||
+ | |||
+ | == Typographical Errors / Clarifications == | ||
+ | * If the computer says your device is not found, try 'Dev2' instead of 'Dev1' in the | ||
+ | addDigitalChannel(s,'Dev1','Port0/Line0:2','OutputOnly') | ||
+ | : line. | ||
+ | * Before running the program, the person at the DAQ machine will need to install the pydaqmx module: | ||
+ | ** Go to the Start button, find the Anaconda3 folder, and click the Anaconda prompt | ||
+ | ** In the Anaconda terminal that just opened, type | ||
+ | pip install pydaqmx | ||
+ | ** One it is done installing (or confirms that it is installed), close the Anaconda terminal | ||
+ | |||
+ | == Equipment Used == | ||
+ | === National Instruments Data Acquisition Cards === | ||
+ | [[Image:NIPCI6014e.jpg|thumb|NI PCI 6014e]] | ||
+ | [[Image:DAQ1Danger.jpg|thumb|Same card, after overheating]] | ||
+ | B209 has machines with two different data acquisition cards. Most of the machines have NI PCI 6014e cards, which will be what is discussed here. The others have a newer NI PCI 6221 cards. | ||
+ | The NI PCI 6014e card can read up to 16 single-ended (8 differential) analog voltage measurements, has two analog outputs, and has 8 configurable digital input/output lines. The 6221 cards are more powerful but, generally in EGR 103, we will limit ourselves to the features available on the 6014e cards. | ||
+ | |||
+ | Be careful when making connections; improperly connecting wires can lead to catastrophic damage on the DAQ cards, as is shown on the second picture at right. | ||
+ | |||
+ | <br clear=all /> | ||
+ | |||
+ | === CB-68LP === | ||
+ | [[Image:CB68LP.jpg|thumb|NI CB-68LP]] | ||
+ | During this lab, you will use the CB-68LP to connect wires to parts of the NI PCI 6014e card. Be sure to use the proper connections - a map is available at the [[MATLAB:CB-68LP Pinout]] page. | ||
+ | |||
+ | <br clear=all /> | ||
+ | |||
+ | === Radio Shack Experimentor 350 === | ||
+ | [[Image:Experimentor350.jpg|thumb|Radio Shack Experimentor 350]] | ||
+ | The Experimentor 350 is a simple, but useful, prototyping board. It has two distribution strips (rows X and Y) with 20 pins each and 46 groups of 5 pins on its terminal strip. All the pins in row X are connected together, and all the pins in row Y are connected together; note, however, that X is not connected to Y. | ||
+ | |||
+ | For the main part of the board, half-columns are connected together. For example, rows (ABCDE) in column 3 are all connected. Note, however, that ABCDE are not connected to FGHIJ. | ||
+ | |||
+ | Also, there are some helpful index numbers at the top and bottom to help determine which column you are in. For rows X and Y, some indices do not exist. For example, there is no pin at X6, X12, X18, Y6, Y12, or Y18. | ||
+ | <br clear=all /> | ||
+ | |||
+ | === Resistors === | ||
+ | [[Image:DAQ1Resistors.jpg|thumb|Three resistors]] | ||
+ | Resistors take energy out of an electric circuit and convert that energy to heat. In this case, the light emitting diodes cannot handle the amount of current that the DAQ card can produce, so resistors are placed in parallel to reduce that current. You can use the [[Resistor Color Codes]] to determine the resistance of the resistors pictures at right; there should be four resistors (at least) in your box. | ||
+ | <br clear=all /> | ||
+ | |||
+ | === LEDs === | ||
+ | [[Image:DAQ1LEDs.jpg|thumb|Several Light Emitting Diodes]] | ||
+ | [[Image:DAQ1LEDsClose.jpg|thumb|Closeup of two round LEDs]] | ||
+ | [[File:LED,_5mm,_green_(en).svg|thumb|Drawing of LED from Wikipedia [http://en.wikipedia.org/wiki/Light-emitting_diode Light-emitting_diode] page]] | ||
+ | A diode is an electrical element that generally only allows current to flow in one direction - and only after there is a sufficient voltage difference across the appropriate terminals. | ||
+ | LEDs - Light Emitting Diodes - are a special form of diode that emit light when current flows through them. | ||
+ | |||
+ | Because diodes and LEDs are directional, there are visible clues about which side is which. In the first picture at right, the lengths of the leads on the diodes are clearly different - the longer lead should be placed where the higher voltage is expected, as current will be allowed to flow into the longer lead, through the diode, and out through the shorter lead. For the round LEDs, a flat is ground into the collar of the LED on the lower-voltage side - this is shown more clearly in the second picture. Finally, within the diode itself, the larger "flag" of metal inside the diode is on the lower voltage side. | ||
+ | |||
+ | Note that the color of the plastic is not what determines the color of the light - rather the specific semiconductor material and the geometry of the LED do that. The plastic is a convenient way of knowing what color the light will be, however. | ||
+ | |||
+ | <br clear=all /> | ||
+ | |||
+ | == Circuit Construction == | ||
+ | [[Image:DAQ1Circuit.jpg|thumb|Circuit built on breadboard]] | ||
+ | [[Image:DAQ1Wiring.jpg|thumb|Connections to CB-68LP]] | ||
+ | The pictures at right show both the breadboard and the CB-68LP once everything has been properly connected. Note especially on the CB-68LP where the wires are - there will be no connections in the first two columns and there is only one connection - the black wire for digital ground - in the fifth column. | ||
+ | <br clear=all /> | ||
+ | |||
+ | == Code == | ||
+ | The following code listing is for <code>ThreeBits.m</code> | ||
+ | <source lang="matlab"> | ||
+ | % Clear out workspace | ||
+ | clear | ||
+ | |||
+ | % Create a session | ||
+ | s = daq.createSession('ni') | ||
+ | |||
+ | % Add output lines to session | ||
+ | addDigitalChannel(s,'Dev1','Port0/Line0:2','OutputOnly') | ||
+ | |||
+ | % Writing values to output lines using binary | ||
+ | outputSingleScan(s, [1 1 1]); | ||
+ | fprintf('Press return to continue\n'); | ||
+ | pause | ||
+ | outputSingleScan(s, [0 0 0]); | ||
+ | |||
+ | % Writing values to output lines using base 10 | ||
+ | MyVal = 0 | ||
+ | while 0<=MyVal & MyVal<=7 | ||
+ | MyBinVal = decimalToBinaryVector(MyVal, 3, 'LSBFirst'); | ||
+ | outputSingleScan(s, MyBinVal); | ||
+ | fprintf('Displaying %d as %d %d %d\n', ... | ||
+ | MyVal, MyBinVal(end:-1:1)) | ||
+ | MyVal = floor(input('Enter a number between 0 and 7: ')); | ||
+ | end | ||
+ | |||
+ | % Turn all outputs off | ||
+ | outputSingleScan(s, [0 0 0]); | ||
+ | </source> | ||
+ | |||
+ | == Other Resources == | ||
+ | * Landing Lights Animation: | ||
+ | [[File:LLGifSmall.gif]] | ||
+ | |||
+ | == Questions == | ||
+ | {{Questions}} | ||
+ | |||
+ | == External Links == | ||
+ | *[http://sine.ni.com/nips/cds/view/p/lang/en/nid/11442 NI 6014 Page] | ||
+ | *[http://sine.ni.com/nips/cds/view/p/lang/en/nid/14132 NI 6221 Page] | ||
+ | |||
+ | == References == | ||
+ | <references /> | ||
+ | |||
+ | [[Category:EGR 103]] | ||
+ | --> |