All,
I need help with programming for an AM16/32 that will be reading 24 x Single Ended voltages.
I have 24 Voltage Sensors all wired according to the wiring diagram provided by ShortCut for the AM16/32. Following the wiring diagram, I have the sensors wired in the following pattern:
SEVolt1: 1H Ground
1L Signal
SEVolt2: 1H Ground
2H Signal
SEVolt3: 1H Ground
2L Signal
SEVolt4: 3H Ground
3L Signal
SEVolt5: 3H Ground
4H Signal
SEVolt6: 3H Ground
4L Signal
..etc. It continues up to SEVolt24.
I used ShortCut to create the following program:
'Declare Variables and Units
Dim LCount_4
Public BattV
Public SEVolt(24)
Public Mult(24) = {.015,.015,.015,.015,.015,.015,.015,.015,.015,.015,.015,.015,.01,.01,.01,.01,.01,.01,.01,.01,.01,.01,.01,.01}
Public Offs(24) = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
'Define Data Tables
DataTable(Table1,True,-1)
DataInterval(0,1,Min,10)
Sample(1,SEVolt(1),FP2)
Sample(1,SEVolt(2),FP2)
Sample(1,SEVolt(3),FP2)
Sample(1,SEVolt(4),FP2)
Sample(1,SEVolt(5),FP2)
Sample(1,SEVolt(6),FP2)
Sample(1,SEVolt(7),FP2)
Sample(1,SEVolt(8),FP2)
Sample(1,SEVolt(9),FP2)
Sample(1,SEVolt(10),FP2)
Sample(1,SEVolt(11),FP2)
Sample(1,SEVolt(12),FP2)
Sample(1,SEVolt(13),FP2)
Sample(1,SEVolt(14),FP2)
Sample(1,SEVolt(15),FP2)
Sample(1,SEVolt(16),FP2)
Sample(1,SEVolt(17),FP2)
Sample(1,SEVolt(18),FP2)
Sample(1,SEVolt(19),FP2)
Sample(1,SEVolt(20),FP2)
Sample(1,SEVolt(21),FP2)
Sample(1,SEVolt(22),FP2)
Sample(1,SEVolt(23),FP2)
Sample(1,SEVolt(24),FP2)
EndTable
DataTable(Table2,True,-1)
DataInterval(0,1,Min,10)
Minimum(1,BattV,FP2,False,False)
EndTable
'Main Program
BeginProg
Scan(5,Sec,1,0)
'Default Datalogger Battery Voltage measurement BattV
Battery(BattV)
'Turn AM16/32 Multiplexer On
PortSet(2,1)
Delay(0,150,mSec)
LCount_4=1
SubScan(0,uSec,8)
'Switch to next AM16/32 Multiplexer channel
PulsePort(3,10000)
'Generic Single Ended Voltage measurements SEVolt() on the AM16/32 Multiplexer:
VoltSe(SEVolt(LCount_4),3,mV2500,1,True,0,_50Hz,Mult(LCount_4),0)
LCount_4=LCount_4+3
NextSubScan
'Turn AM16/32 Multiplexer Off
PortSet(2,0)
Delay(0,150,mSec)
'Call Data Tables and Store Data
CallTable(Table1)
CallTable(Table2)
NextScan
EndProg
...I am running into issues when I send the program to the datalogger. The program compiles fine and seems to work (Multiplexer makes a weird clicking noise as it clocks through the measurements). However, I am getting "0 V" for every fourth SEVolt value, starting with SEVolt1. I have reviewed my wiring, and it matches ShortCut's diagram. Also, the measurements on the voltages that are reading are incorrect..a voltmeter across the sensor shows 50V, while the reading shows 6V. Any idea what is happening?
I really appreciate your input!! Thanks :)
Sarah
50V!!! If that's correct that would be a problem. The datalogger is not intended to measure that high of voltage. Check out the datalogger spec's at http://www.campbellsci.com/documents/product-brochures/s_cr1000.pdf.
The logger as it stands is not designed to measure 50V and could be damaged if you leave those voltages directly connected for any length of time.
It can measure voltages that high though is a VDIV10:1 voltage divider module is placed between the source and the logger inputs and the measurement made on the 5V range. With a multiplexer dedicated to measuring these high voltages you may get away with one divider installed between the multiplexer and logger inputs, rather than one for each source.
This will enable the logger to measure up to +/-50V. For single ended measurements it is important you check that the ground potentials of all the sources are at the same level as the datalogger ground. For differential measurements both H and L inputs have to be within +/-50V of the datalogger ground.
Refer to the voltage divider manual for more details and changes to the multipliers needed if you use them.
http://www.campbellsci.com/documents/manuals/vdiv.pdf
* Last updated by: aps on 12/29/2011 @ 4:13 AM *
Sorry about the confusion..the DC transducers we are using act as voltage dividers and step the voltage down from 0-50V to 0-5V.
I worked through some of the initial issues I was having (wiring problems) and now have a few new ones. I have double checked the wiring and it matches that suggested by shortcut (ODD H to ground, ODDL to 1H, EVENH to 1L, EVEN L to 2H). Each value from the volt transducer should be about 50V (after the multiplier factor, actual voltage is around 4.8). However, the results show the following:
SEVolt1 33V
SEVolt2 49V
SEVolt3 51V
SEVolt4 33V
SEVolt5 49V
SEVolt6 51V
...etc.
Any ideas?
Have you got the multiplexer wired correctly, CLK to C3 and RES to C2?
Also your range on the SEVolt command is 2500mV and you are expecting 5000mV
Try getting back to basics, change your multiplier (Mult(LCount_4) in your VoltSE command) to 1, that way you can see what each measured voltage is to help troubleshoot.
Try slowing things down, do you need a five second scan? What about your integration in the VoltSE measurement? are you in an electrically noisy environment, is it 50Hz?