49 Posts in 14 Topics by 16 members
Jump to:| Page: 1 | Go to End | |
| Author | Topic:Connecting 5TM to CR10X via AM16/32 | 1707 Views |

12 April 2011 at 10:57am
I am attempting to connect 16 5TM sensors to a AM16/32 in 2x32 mode using the code provided in your Support section (http://www.decagon.com/assets/Software-Downloads/AM16325TETOMUXTOCR10XR102.csi). I have been having problems with sensors reading -inf at random, sensor output bouncing around in different variable locations (I stuck one sensor in water to distinguish it's output from the others), and sensor time-outs.
I am wondering if the provided code was ported from code written for an older prob and not tested? The reason I ask is that I found certain irregularities like using the 'null' ASCII code 256 in P15 instead of 13 (carriage return), setting Port 3 Low even though there is nothing connected to Port 3, and references to ECHO-TE.
I tried troubleshooting the code but have not been successful. I think it might be a problem with loops and location numbering but haven't been able to find any solution. After banging my head against a wall for awhile I figured I might as well take a break and ask the experts. Can you look over my/your code? Thank you very much!
Bryan Carlson
____5TM-AM1632.csi_____
;{CR10X}
;Program: AM16_32 5TE to Mux to CR10X.csi
;{CR10X}
; Example program to read 5 5TE sensors using an AM16/32
; The multiplexer is running in 2x32 mode
; The ECHO TE has three wires that go to the following on the multiplexer:
; Probe 1 (repeat for probes 2 through 5)
; White ---> 1H (2H for probe 2, etc)
; Red ---> 1L (2L for probe 2, etc)
; Bare ---> Grnd
; The multiplexer wiring should be as follows
; CR10X AM16/32
; C1 ---> Res
; C2 ---> Clk
; 12 V ---> 12V
; G ---) G
; C4 ---> Odd L
; 12V ---> Odd H
;Output
; Data from each sensor in its "Raw" form. To convert from "Raw" into
; actual values, do the following:
; Eb = Eb_Raw * 0.02 (raw bulk dielectric (Eb_Raw), bulk dielectric (Eb) )
; EC = EC_Raw * 0.01 (raw electrical conductivity)
; Temp = (T_Raw/10) - 40
; These conversions are done at the bottom of this program.
;Calculating volumetric water content
; Convert to VWC (volumetric water content) using Topp et al. (1980) or
; a custom calibration:
; VWC (Topp et al.) = -5.3e-2+2.92e-2*Eb-5.5e-4*Eb^2+4.3e-6*Eb^3
; VWC has not been calculated in this program.
; RECORD IN 30 SECOND INTERVALS
*Table 1 Program
01: 30.00 Execution Interval (seconds)
; RECORD DATALOGGER BATTERY VOLTAGE
1: Batt Voltage (P10)
1: 1 Loc [ Battery ]
; RECORD INTERNAL TEMPERATURE
2: Internal Temperature (P17)
1: 2 Loc [ Dlog_tmp ]
; TURN ON THE MULTIPLEXER
3: Do (P86)
1: 41 Set Port 1 High
; SETS THE NUMBER OF TIMES TO INCREMENT THE MUX
4: Beginning of Loop (P87)
1: 0 Delay
2: 16 Loop Count ; CHANGED FROM 5 IN DECAGON CODE
; MOVES THE MULTIPLEXER TO THE FIRST CHANNEL
5: Do (P86)
1: 72 Pulse Port 2
6: Step Loop Index (P90)
1: 3 Step
; Reads in the serial data from 5TE. Delays are to make sure all data has been delivered
; The TX/RX command (#4) can be 40 or 3. It appears that 40 may not work on older dataloggers
; No delay is require between excitation and read (adding a delay does not allow the sensors to read.
; (The ECHO-TE is communicating at 1200 baud)
; The start location is incremented by 3 each time through the program because the ECHO-TE is
; outputing three numbers each time. Please note the double dashed lines (--) in line 10: this
; must be present or the datalogger will overwrite data from each successive probe into the same 3
; input locations.
7: Port Serial I/O (P15)
1: 1 Reps
2: 0 8-Bit, TTL ASCII, 1200 Baud
3: 0 TX after CTS
4: 40 C4 TX/RX, No RTS/DTR (OS>1.14)
5: 3 -- Start Loc for TX [ EB_R_1 ]
6: 0 Number of Locs to TX
7: 13 Termination Character for RX ; CHANGED FROM 256 IN DECAGON CODE
8: 50 Max Characters to RX
9: 50 Time Out for CTS (TX) and/or RX (0.01 sec units)
10: 3 -- Start Loc for RX [ EB_R_1 ]
11: 1 Mult for RX
12: 0 Offset for RX
8: Do (P86)
1: 54 Set Port 4 Low ; NOT SURE IF NEEDED
9: End (P95)
10: Beginning of Loop (P87)
1: 0 Delay
2: 16 Loop Count ; CHANGED FROM 5 IN DECAGON CODE
11: Step Loop Index (P90)
1: 3 Step
12: Z=X*F (P37)
1: 3 -- X Loc [ EB_R_1 ]
2: 0.02 F
3: 51 -- Z Loc [ EB_1 ]
13: Z=X*F (P37)
1: 4 -- X Loc [ EC_R_1 ]
2: 0.01 F
3: 52 -- Z Loc [ EC_1 ]
14: Z=X*F (P37)
1: 5 -- X Loc [ T_R_1 ]
2: 0.1 F
3: 53 -- Z Loc [ T_1 ]
15: Z=X+F (P34)
1: 53 -- X Loc [ T_1 ]
2: -40 F
3: 53 -- Z Loc [ T_1 ]
16: End (P95)
17: Do (P86)
1: 51 Set Port 1 Low
*Table 2 Program
02: 0.0000 Execution Interval (seconds)
*Table 3 Subroutines
End Program
-Input Locations-
1 Battery 1 0 1
2 Dlog_tmp 1 0 1
3 EB_R_1 1 2 1
4 EC_R_1 1 1 0
5 T_R_1 1 1 0
6 EB_R_2 0 0 0
7 EC_R_2 0 0 0
8 T_R_2 0 0 0
9 EB_R_3 0 0 0
10 EC_R_3 0 0 0
11 T_R_3 0 0 0
12 EB_R_4 0 0 0
13 EC_R_4 0 0 0
14 T_R_4 0 0 0
15 EB_R_5 0 0 0
16 EC_R_5 0 0 0
17 T_R_5 0 0 0
18 EB_R_6 0 0 0
19 EC_R_6 0 0 0
20 T_R_6 0 0 0
21 EB_R_7 0 0 0
22 EC_R_7 0 0 0
23 T_R_7 0 0 0
24 EB_R_8 0 0 0
25 EC_R_8 0 0 0
26 T_R_8 0 0 0
27 EB_R_9 0 0 0
28 EC_R_9 0 0 0
29 T_R_9 0 0 0
30 EB_R_10 0 0 0
31 EC_R_10 0 0 0
32 T_R_10 0 0 0
33 EB_R_11 0 0 0
34 EC_R_11 0 0 0
35 T_R_11 0 0 0
36 EB_R_12 0 0 0
37 EC_R_12 0 0 0
38 T_R_12 0 0 0
39 EB_R_13 0 0 0
40 EC_R_13 0 0 0
41 T_R_13 0 0 0
42 EB_R_14 0 0 0
43 EC_R_14 0 0 0
44 T_R_14 0 0 0
45 EB_R_15 0 0 0
46 EC_R_15 0 0 0
47 T_R_15 0 0 0
48 EB_R_16 0 0 0
49 EC_R_16 0 0 0
50 T_R_16 0 0 0
51 EB_1 1 0 1
52 EC_1 1 0 1
53 T_1 1 1 2
54 EB_2 0 0 0
55 EC_2 0 0 0
56 T_2 0 0 0
57 EB_3 0 0 0
58 EC_3 0 0 0
59 T_3 0 0 0
60 EB_4 0 0 0
61 EC_4 0 0 0
62 T_4 0 0 0
63 EB_5 0 0 0
64 EC_5 0 0 0
65 T_5 0 0 0
66 EB_6 0 0 0
67 EC_6 0 0 0
68 T_6 0 0 0
69 EB_7 0 0 0
70 EC_7 0 0 0
71 T_7 0 0 0
72 EB_8 0 0 0
73 EC_8 0 0 0
74 T_8 0 0 0
75 EB_9 0 0 0
76 EC_9 0 0 0
77 T_9 0 0 0
78 EB_10 0 0 0
79 EC_10 0 0 0
80 T_10 0 0 0
81 EB_11 0 0 0
82 EC_11 0 0 0
83 T_11 0 0 0
84 EB_12 0 0 0
85 EC_12 0 0 0
86 T_12 0 0 0
87 EB_13 0 0 0
88 EC_13 0 0 0
89 T_13 0 0 0
90 EB_14 0 0 0
91 EC_14 0 0 0
92 T_14 0 0 0
93 EB_15 0 0 0
94 EC_15 0 0 0
95 T_15 0 0 0
96 EB_16 0 0 0
97 EC_16 0 0 0
98 T_16 0 0 0
99 _________ 1 0 0
-Program Security-
0000
0000
0000
-Mode 4-
-Final Storage Area 2-
0
-CR10X ID-
0
-CR10X Power Up-
3
-CR10X Compile Setting-
3
-CR10X RS-232 Setting-
-1
-DLD File Labels-
0
-Final Storage Labels-

12 April 2011 at 11:18am
I think I found the solution. It figures that it dawns on me right after I post the question.
The problem is not entirely with the code, it is with the wiring diagram. In the code, it says to connect the CR10X 12V to the AM16/32 COM Odd H. This continuous power application, if I'm not mistaken, causes the sensor to enter SDI-12 mode. To have the sensor send new values we need to remove the power.
So it should read C3 --> Odd H.
Then, in the code, before P15, set Port 3 High. After P15, set Port 3 Low (which was in the code already
).
So far everything is working great!

15 April 2011 at 8:33am
That is a good observation Bryan. You must power-cycle the 5TE when reading it in serial mode otherwise it will enter SDI-12 and stay there until the power is cut as you have noted. The SW-12 port performs this function very nicely on CSI loggers.
| 1707 Views | ||
| Go to Top |
Currently Online: There is nobody online.
Welcome to our latest member: Dalower