Hi,
I'm using a a CDM-A108 module to do some analog measurments. The module is controled by a CR6 datalogger through the CPI bus.I do measures during 2 minutes, and the scan interval is 10 minutes.
I measured the consumption of the CDM A108 module during the measurments :
- 15,6 mA with peaks at 30 mA during measurents
- 15,6 mA when no measurments are done. It is a lot. This consumption remains the same even when I disconnect everything on the CDM-A108, even the CPI cable (but not the power obviously).
In the CDM-A108 manual if found that the current needed was <1mA during sleep (page 16 of the manual). I suppose that my CDM module don't go in sleep mode when it is not measuring... so here is my question :
How to put the CDM-A108 in sleep mode between measurments ?
I have already updated the firmware of the module but it doesnt change anything. The measurments of the module are OK.
Thank you for your answer,
Faithfully,
Yoann MICHIELIN
I would first check that your program is compiling in Pipeline Mode. Sequential Mode won't allow as much sleep time.
To help beyond that, I would need to see the datalogger program.
Thank you for your answer.
Unfortunatly I need to compile my code in sequential mode.
I dont undestand why the module cant go in sleep mode when the measurments that the CR6 orders to the CDM-A108 only last 2 minutes and then nothing to do for 8 minutes. Why does the CDM A108 doesnt go to sleep when it does no measurments ? Is there a manner of controlling the CDM-A108 sleep mode ?
I cant send you the whole program beacause it is too long (>3000 lines), but only the subroutine where I do measurments on the CDM A108 :
' Mesures du turbi
Sub mesuresTurbi
' Allumage du turbi
PortSet (PORT_RELAIS_TURBI,1)
' Attente de la fin du demarrage et du nettoyage
Delay (0,TEMPO_START_TURBI,sec)
For i_turbi=1 To NB_MESURES_TURBI
' Mesure de la sortie 4-20mA du turbi (resistance de 250 ohms)
CDM_VoltDiff (CDM_A108,1,turbi_mV(i_turbi),1,mV5000,PORT_TURBI,True ,0,50,1.0,0)
' Tension mesuree inferieure a 1V = courant inferieur a 4 mA => Erreur
If(turbi_mV(i_turbi) < 980) Then
turbi(i_turbi) = NaN
' Mesure valide : Conversion tension en turbidite
Else
turbi(i_turbi) = (turbi_mV(i_turbi) - 980) * (TURBI_20MA - TURBI_4MA)/(5000-980)
End If
' Tempo entre deux mesures
Delay (0,TEMPO_TURBI,sec)
Next i_turbi
' Statistiques sur les mesures
AvgSpa(meanTurbi,NB_MESURES_TURBI,turbi())
MinSpa(minTurbi,NB_MESURES_TURBI,turbi())
MaxSpa(maxTurbi,NB_MESURES_TURBI,turbi())
StdDevSpa(stdTurbi,NB_MESURES_TURBI,turbi())
AvgSpa(meanTurbi_mV,NB_MESURES_TURBI,turbi())
' Extinction du turbi
PortSet(PORT_RELAIS_TURBI,0)
End Sub
You should try putting the analog measurements within Subscans instead of a For loop.