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 settings the ADS gain
69#define ADS_GAIN_6_144V 0x0000
70#define ADS_GAIN_4_096V 0x0200
71#define ADS_GAIN_2_048V 0x0400
72#define ADS_GAIN_1_024V 0x0600
73#define ADS_GAIN_0_512V 0x0800
74#define ADS_GAIN_0_256V 0x0A00
75
76// The struct which holds the sensor type and is used in init'ing the breakout
77// Also, the data from here is used to calcualte PPM
78// Refer to the official LMP91000 datasheet, chapter 7.6 for more info
79// You can add your own or configure an existing one if nescessary
80
82{
85 uint16_t adsGain;
87 uint8_t RLOAD;
88 uint8_t REF_SOURCE;
90 uint8_t BIAS_SIGN;
91 uint8_t BIAS;
92 uint8_t FET_SHORT;
93 uint8_t OP_MODE;
94};
95
96// NOTE: The reference voltage is always 2.5V
97// The internal zero voltage has an offset in the PPM calculation - internalZeroCalibration
98// This is due to the fact high gains amplify the noise as well so it's best to further calibrate it
99
100// SGX-4CO - Carbon Monoxide sensor
102 70.0F, // nanoAmperesPerPPM
103 0.078, // internalZeroCalibration
104 ADS_GAIN_4_096V, // adsGain
105 TIA_GAIN_350_KOHM, // TIA_GAIN_IN_KOHMS
106 RLOAD_10_OHM, // RLOAD
107 REF_EXTERNAL, // REF_SOURCE
108 INTERNAL_ZERO_20_PERCENT, // INTERNAL_ZERO
109 BIAS_SIGN_NEGATIVE, // BIAS_SIGN
110 BIAS_0_PERCENT, // BIAS
111 FET_SHORT_DISABLED, // FET_SHORT
112 OP_MODE_3LEAD_AMP_CELL, // OP_MODE
113};
114
115// SGX-4NO2 - Nitrogen Dioxide sensor
117 -600.0F, // nanoAmperesPerPPM
118 -0.015, // internalZeroCalibration
119 ADS_GAIN_2_048V, // adsGain
120 TIA_GAIN_350_KOHM, // TIA_GAIN_IN_KOHMS
121 RLOAD_10_OHM, // RLOAD
122 REF_EXTERNAL, // REF_SOURCE
123 INTERNAL_ZERO_67_PERCENT, // INTERNAL_ZERO
124 BIAS_SIGN_NEGATIVE, // BIAS_SIGN
125 BIAS_0_PERCENT, // BIAS
126 FET_SHORT_DISABLED, // FET_SHORT
127 OP_MODE_3LEAD_AMP_CELL, // OP_MODE
128};
129
130// SGX-4SO2 - Sulphur Dioxide sensor
132 400.0F, // nanoAmperesPerPPM
133 0.1, // internalZeroCalibration
134 ADS_GAIN_2_048V, // adsGain
135 TIA_GAIN_120_KOHM, // TIA_GAIN_IN_KOHMS
136 RLOAD_10_OHM, // RLOAD
137 REF_EXTERNAL, // REF_SOURCE
138 INTERNAL_ZERO_20_PERCENT, // INTERNAL_ZERO
139 BIAS_SIGN_POSITIVE, // BIAS_SIGN
140 BIAS_0_PERCENT, // BIAS
141 FET_SHORT_DISABLED, // FET_SHORT
142 OP_MODE_3LEAD_AMP_CELL, // OP_MODE
143};
144
145// SGX-403-20 - Ozone sensor
147 -1000.0F, // nanoAmperesPerPPM
148 -1.65, // internalZeroCalibration
149 ADS_GAIN_2_048V, // adsGain
150 TIA_GAIN_120_KOHM, // TIA_GAIN_IN_KOHMS
151 RLOAD_10_OHM, // RLOAD
152 REF_EXTERNAL, // REF_SOURCE
153 INTERNAL_ZERO_20_PERCENT, // INTERNAL_ZERO
154 BIAS_SIGN_POSITIVE, // BIAS_SIGN
155 BIAS_0_PERCENT, // BIAS
156 FET_SHORT_DISABLED, // FET_SHORT
157 OP_MODE_3LEAD_AMP_CELL, // OP_MODE
158};
159
160// SGX-4NO-250 - Nitric Oxide sensor
162 400.0F, // nanoAmperesPerPPM
163 0.5, // internalZeroCalibration
164 ADS_GAIN_2_048V, // adsGain
165 TIA_GAIN_120_KOHM, // TIA_GAIN_IN_KOHMS
166 RLOAD_10_OHM, // RLOAD
167 REF_EXTERNAL, // REF_SOURCE
168 INTERNAL_ZERO_20_PERCENT, // INTERNAL_ZERO
169 BIAS_SIGN_POSITIVE, // BIAS_SIGN
170 BIAS_12_PERCENT, // BIAS
171 FET_SHORT_DISABLED, // FET_SHORT
172 OP_MODE_3LEAD_AMP_CELL, // OP_MODE
173};
174
175// SGX-4H2S-100 - Hydrogen Sulphide sensor
177 1200.0F, // nanoAmperesPerPPM
178 0.1, // internalZeroCalibration
179 ADS_GAIN_2_048V, // adsGain
180 TIA_GAIN_350_KOHM, // TIA_GAIN_IN_KOHMS
181 RLOAD_10_OHM, // RLOAD
182 REF_EXTERNAL, // REF_SOURCE
183 INTERNAL_ZERO_20_PERCENT, // INTERNAL_ZERO
184 BIAS_SIGN_POSITIVE, // BIAS_SIGN
185 BIAS_0_PERCENT, // BIAS
186 FET_SHORT_DISABLED, // FET_SHORT
187 OP_MODE_3LEAD_AMP_CELL, // OP_MODE
188};
189
190// SGX-4NH3-300 - Ammonia sensor
192 40.0F, // nanoAmperesPerPPM
193 0.5, // internalZeroCalibration
194 ADS_GAIN_2_048V, // adsGain
195 TIA_GAIN_120_KOHM, // TIA_GAIN_IN_KOHMS
196 RLOAD_10_OHM, // RLOAD
197 REF_EXTERNAL, // REF_SOURCE
198 INTERNAL_ZERO_20_PERCENT, // INTERNAL_ZERO
199 BIAS_SIGN_POSITIVE, // BIAS_SIGN
200 BIAS_0_PERCENT, // BIAS
201 FET_SHORT_DISABLED, // FET_SHORT
202 OP_MODE_3LEAD_AMP_CELL, // OP_MODE
203};
204
205// SGX-4CL2 - Chlorine sensor
207 600.0F, // nanoAmperesPerPPM
208 0.5, // internalZeroCalibration
209 ADS_GAIN_2_048V, // adsGain
210 TIA_GAIN_120_KOHM, // TIA_GAIN_IN_KOHMS
211 RLOAD_33_OHM, // RLOAD
212 REF_EXTERNAL, // REF_SOURCE
213 INTERNAL_ZERO_20_PERCENT, // INTERNAL_ZERO
214 BIAS_SIGN_POSITIVE, // BIAS_SIGN
215 BIAS_0_PERCENT, // BIAS
216 FET_SHORT_DISABLED, // FET_SHORT
217 OP_MODE_3LEAD_AMP_CELL, // OP_MODE
218};
219
220#endif
const sensorType SENSOR_SO2
Definition sensorConfigData.h:131
const sensorType SENSOR_NH3
Definition sensorConfigData.h:191
const sensorType SENSOR_CO
Definition sensorConfigData.h:101
const sensorType SENSOR_H2S
Definition sensorConfigData.h:176
const sensorType SENSOR_O3
Definition sensorConfigData.h:146
const sensorType SENSOR_CL2
Definition sensorConfigData.h:206
const sensorType SENSOR_NO2
Definition sensorConfigData.h:116
const sensorType SENSOR_NO
Definition sensorConfigData.h:161
Definition sensorConfigData.h:82
uint8_t RLOAD
Definition sensorConfigData.h:87
uint16_t adsGain
Definition sensorConfigData.h:85
uint8_t BIAS_SIGN
Definition sensorConfigData.h:90
double internalZeroCalibration
Definition sensorConfigData.h:84
double nanoAmperesPerPPM
Definition sensorConfigData.h:83
uint8_t TIA_GAIN_IN_KOHMS
Definition sensorConfigData.h:86
uint8_t REF_SOURCE
Definition sensorConfigData.h:88
uint8_t FET_SHORT
Definition sensorConfigData.h:92
uint8_t BIAS
Definition sensorConfigData.h:91
uint8_t INTERNAL_ZERO
Definition sensorConfigData.h:89
uint8_t OP_MODE
Definition sensorConfigData.h:93