Electrochemical Gas Sensor Library 1.0.0
A library for the Electrochemical Gas Sensor breakout board
Loading...
Searching...
No Matches
sensorConfigData.h
Go to the documentation of this file.
1
11
12#ifndef __ELECTROCHEMICAL_GAS_SENSOR_CONFIG_DATA_SOLDERED__
13#define __ELECTROCHEMICAL_GAS_SENSOR_CONFIG_DATA_SOLDERED__
14
15// Defines for configuring the analog frontend
16// For more info, please refer to the official datasheet of the LMP91000
17
18#define TIA_GAIN_EXTERNAL 0x00
19#define TIA_GAIN_2_75_KOHM 0x01
20#define TIA_GAIN_3_5_KOHM 0x02
21#define TIA_GAIN_7_KOHM 0x03
22#define TIA_GAIN_14_KOHM 0x04
23#define TIA_GAIN_35_KOHM 0x05
24#define TIA_GAIN_120_KOHM 0x06
25#define TIA_GAIN_350_KOHM 0x07
26
27#define RLOAD_10_OHM 0x00
28#define RLOAD_33_OHM 0x01
29#define RLOAD_50_OHM 0x02
30#define RLOAD_100_OHM 0x03
31
32#define REF_INTERNAL 0x00
33#define REF_EXTERNAL 0x01
34
35#define INTERNAL_ZERO_20_PERCENT 0x00
36#define INTERNAL_ZERO_50_PERCENT 0x01
37#define INTERNAL_ZERO_67_PERCENT 0x02
38#define INTERNAL_ZERO_BYPASSED 0x03
39
40#define BIAS_SIGN_NEGATIVE 0x00
41#define BIAS_SIGN_POSITIVE 0x01
42
43#define BIAS_0_PERCENT 0x00
44#define BIAS_1_PERCENT 0x01
45#define BIAS_2_PERCENT 0x02
46#define BIAS_4_PERCENT 0x03
47#define BIAS_6_PERCENT 0x04
48#define BIAS_8_PERCENT 0x05
49#define BIAS_10_PERCENT 0x06
50#define BIAS_12_PERCENT 0x07
51#define BIAS_14_PERCENT 0x08
52#define BIAS_16_PERCENT 0x09
53#define BIAS_18_PERCENT 0x0A
54#define BIAS_20_PERCENT 0x0B
55#define BIAS_22_PERCENT 0x0C
56#define BIAS_24_PERCENT 0x0D
57
58#define FET_SHORT_DISABLED 0x00
59#define FET_SHORT_ENABLED 0x01
60
61#define OP_MODE_DEEP_SLEEP 0x00
62#define OP_MODE_2LEAD_GROUND_CELL 0x01
63#define OP_MODE_STANDBY 0x02
64#define OP_MODE_3LEAD_AMP_CELL 0x03
65#define OP_MODE_TEMPERATURE_TIA_OFF 0x06
66#define OP_MODE_TEMPERATURE_TIA_ON 0x07
67
68// Defines for setting the ADS gain
69// These must match the integer indices expected by ADS1X15::setGain()
70#define ADS_GAIN_6_144V 0
71#define ADS_GAIN_4_096V 1
72#define ADS_GAIN_2_048V 2
73#define ADS_GAIN_1_024V 4
74#define ADS_GAIN_0_512V 8
75#define ADS_GAIN_0_256V 16
76
77// The struct which holds the sensor type and is used in init'ing the breakout
78// Also, the data from here is used to calcualte PPM
79// Refer to the official LMP91000 datasheet, chapter 7.6 for more info
80// You can add your own or configure an existing one if nescessary
81
83{
86 uint8_t adsGain;
88 uint8_t RLOAD;
89 uint8_t REF_SOURCE;
91 uint8_t BIAS_SIGN;
92 uint8_t BIAS;
93 uint8_t FET_SHORT;
94 uint8_t OP_MODE;
95};
96
97// NOTE: The reference voltage is always 2.5V
98// The internal zero voltage has an offset in the PPM calculation - internalZeroCalibration
99// This is due to the fact high gains amplify the noise as well so it's best to further calibrate it
100
101// SGX-4CO - Carbon Monoxide sensor
103 70.0F, // nanoAmperesPerPPM
104 0, // internalZeroCalibration
105 ADS_GAIN_4_096V, // adsGain
106 TIA_GAIN_14_KOHM, // TIA_GAIN_IN_KOHMS
107 RLOAD_10_OHM, // RLOAD
108 REF_EXTERNAL, // REF_SOURCE
109 INTERNAL_ZERO_20_PERCENT, // INTERNAL_ZERO
110 BIAS_SIGN_NEGATIVE, // BIAS_SIGN
111 BIAS_0_PERCENT, // BIAS
112 FET_SHORT_DISABLED, // FET_SHORT
113 OP_MODE_3LEAD_AMP_CELL, // OP_MODE
114};
115
116// SGX-4NO2 - Nitrogen Dioxide sensor
118 -600.0F, // nanoAmperesPerPPM
119 0, // internalZeroCalibration
120 ADS_GAIN_2_048V, // adsGain
121 TIA_GAIN_35_KOHM, // TIA_GAIN_IN_KOHMS
122 RLOAD_10_OHM, // RLOAD
123 REF_EXTERNAL, // REF_SOURCE
124 INTERNAL_ZERO_67_PERCENT, // INTERNAL_ZERO
125 BIAS_SIGN_NEGATIVE, // BIAS_SIGN
126 BIAS_0_PERCENT, // BIAS
127 FET_SHORT_DISABLED, // FET_SHORT
128 OP_MODE_3LEAD_AMP_CELL, // OP_MODE
129};
130
131// SGX-4SO2 - Sulphur Dioxide sensor
133 400.0F, // nanoAmperesPerPPM
134 0, // internalZeroCalibration
135 ADS_GAIN_4_096V, // adsGain
136 TIA_GAIN_120_KOHM, // TIA_GAIN_IN_KOHMS
137 RLOAD_10_OHM, // RLOAD
138 REF_EXTERNAL, // REF_SOURCE
139 INTERNAL_ZERO_20_PERCENT, // INTERNAL_ZERO
140 BIAS_SIGN_POSITIVE, // BIAS_SIGN
141 BIAS_0_PERCENT, // BIAS
142 FET_SHORT_DISABLED, // FET_SHORT
143 OP_MODE_3LEAD_AMP_CELL, // OP_MODE
144};
145
146// SGX-403-20 - Ozone sensor
147// O3 is an oxidizing gas with negative polarity output (like NO2)
148// Internal zero at 67% provides headroom for downward output swing
149// 35kOhm TIA covers the full 0-20ppm range without saturation
151 -1000.0F, // nanoAmperesPerPPM
152 -0.0012, // internalZeroCalibration
153 ADS_GAIN_2_048V, // adsGain
154 TIA_GAIN_35_KOHM, // TIA_GAIN_IN_KOHMS
155 RLOAD_10_OHM, // RLOAD
156 REF_EXTERNAL, // REF_SOURCE
157 INTERNAL_ZERO_67_PERCENT, // INTERNAL_ZERO
158 BIAS_SIGN_NEGATIVE, // BIAS_SIGN
159 BIAS_0_PERCENT, // BIAS
160 FET_SHORT_DISABLED, // FET_SHORT
161 OP_MODE_3LEAD_AMP_CELL, // OP_MODE
162};
163
164// SGX-4NO-250 - Nitric Oxide sensor
166 400.0F, // nanoAmperesPerPPM
167 0, // internalZeroCalibration
168 ADS_GAIN_4_096V, // adsGain
169 TIA_GAIN_120_KOHM, // TIA_GAIN_IN_KOHMS
170 RLOAD_10_OHM, // RLOAD
171 REF_EXTERNAL, // REF_SOURCE
172 INTERNAL_ZERO_20_PERCENT, // INTERNAL_ZERO
173 BIAS_SIGN_POSITIVE, // BIAS_SIGN
174 BIAS_12_PERCENT, // BIAS
175 FET_SHORT_DISABLED, // FET_SHORT
176 OP_MODE_3LEAD_AMP_CELL, // OP_MODE
177};
178
179// SGX-4H2S-100 - Hydrogen Sulphide sensor
181 1200.0F, // nanoAmperesPerPPM
182 0, // internalZeroCalibration
183 ADS_GAIN_4_096V, // adsGain
184 TIA_GAIN_7_KOHM, // TIA_GAIN_IN_KOHMS
185 RLOAD_10_OHM, // RLOAD
186 REF_EXTERNAL, // REF_SOURCE
187 INTERNAL_ZERO_20_PERCENT, // INTERNAL_ZERO
188 BIAS_SIGN_POSITIVE, // BIAS_SIGN
189 BIAS_0_PERCENT, // BIAS
190 FET_SHORT_DISABLED, // FET_SHORT
191 OP_MODE_3LEAD_AMP_CELL, // OP_MODE
192};
193
194// SGX-4NH3-300 - Ammonia sensor
196 40.0F, // nanoAmperesPerPPM
197 0, // internalZeroCalibration
198 ADS_GAIN_4_096V, // adsGain
199 TIA_GAIN_35_KOHM, // TIA_GAIN_IN_KOHMS
200 RLOAD_10_OHM, // RLOAD
201 REF_EXTERNAL, // REF_SOURCE
202 INTERNAL_ZERO_20_PERCENT, // INTERNAL_ZERO
203 BIAS_SIGN_POSITIVE, // BIAS_SIGN
204 BIAS_0_PERCENT, // BIAS
205 FET_SHORT_DISABLED, // FET_SHORT
206 OP_MODE_3LEAD_AMP_CELL, // OP_MODE
207};
208
209// SGX-4CL2 - Chlorine sensor
211 600.0F, // nanoAmperesPerPPM
212 0, // internalZeroCalibration
213 ADS_GAIN_4_096V, // adsGain
214 TIA_GAIN_120_KOHM, // TIA_GAIN_IN_KOHMS
215 RLOAD_33_OHM, // RLOAD
216 REF_EXTERNAL, // REF_SOURCE
217 INTERNAL_ZERO_20_PERCENT, // INTERNAL_ZERO
218 BIAS_SIGN_POSITIVE, // BIAS_SIGN
219 BIAS_0_PERCENT, // BIAS
220 FET_SHORT_DISABLED, // FET_SHORT
221 OP_MODE_3LEAD_AMP_CELL, // OP_MODE
222};
223
224#endif
const sensorType SENSOR_SO2
Definition sensorConfigData.h:132
const sensorType SENSOR_NH3
Definition sensorConfigData.h:195
const sensorType SENSOR_CO
Definition sensorConfigData.h:102
const sensorType SENSOR_H2S
Definition sensorConfigData.h:180
const sensorType SENSOR_O3
Definition sensorConfigData.h:150
const sensorType SENSOR_CL2
Definition sensorConfigData.h:210
const sensorType SENSOR_NO2
Definition sensorConfigData.h:117
const sensorType SENSOR_NO
Definition sensorConfigData.h:165
Definition sensorConfigData.h:83
uint8_t RLOAD
Definition sensorConfigData.h:88
uint8_t BIAS_SIGN
Definition sensorConfigData.h:91
double internalZeroCalibration
Definition sensorConfigData.h:85
double nanoAmperesPerPPM
Definition sensorConfigData.h:84
uint8_t TIA_GAIN_IN_KOHMS
Definition sensorConfigData.h:87
uint8_t REF_SOURCE
Definition sensorConfigData.h:89
uint8_t adsGain
Definition sensorConfigData.h:86
uint8_t FET_SHORT
Definition sensorConfigData.h:93
uint8_t BIAS
Definition sensorConfigData.h:92
uint8_t INTERNAL_ZERO
Definition sensorConfigData.h:90
uint8_t OP_MODE
Definition sensorConfigData.h:94