OK. Moving on. I have decided to wait until @victor responds on my proposal to make two different settings for GPS: “dynamic” (current) and “static” (unmoving) which better suits my use-case.
Now I am looking into an issue with the Gas Sensor Voltage readings reported by the ADC.:
10:08:10.993 → ADS1x15 ADC 0x48 Ch0: 1.432812 V
10:08:10.993 → ADS1x15 ADC 0x48 Ch1: 2.047937 V
10:08:10.993 → ADS1x15 ADC 0x48 Ch2: 1.348625 V
10:08:10.993 → ADS1x15 ADC 0x48 Ch3: 2.047937 V
10:08:10.993 → ADS1x15 ADC 0x49 Ch0: 1.361313 V
10:08:11.139 → ADS1x15 ADC 0x49 Ch1: 2.047937 V
10:08:11.139 → ADS1x15 ADC 0x4A Ch0: 1.362062 V
10:08:11.139 → ADS1x15 ADC 0x4A Ch1: 2.047937 V
10:08:11.139 → ADS1x15 ADC 0x4A Ch2: 1.362250 V
10:08:11.139 → ADS1x15 ADC 0x4A Ch3: 2.047937 V
Vgas for each sensor is connected to the Odd numbered channels and Vref is connected to the even numbered channels. Vref ought to be approx 0.5 * Vcc (3.2 volts) = 1.5 volts.
The anomaly that looks suspicious is the fact the Odd numbered channels all show 2.047937 volts exactly. Since the sensors are all different materials having different chemical reactions, I would never expect the voltages to be the same except by random coincidence.
The first thing to check are voltages seen by test instruments on the physical circuit:
I have 3 devices that can measure voltages:
A. Parameters model 7808 B DVM
B. GW Instek MSO2204AE Oscilloscope DVM App.
C. Digitech model QM1551 DVM
D. ADC Reading
These are connected to test pins provided on the 2 x ADC Boards. GND = Negative = Black on each device connects to V- on the board.
Here are the full set of measurements:
__________A__________B.__________C.__________D.(ADC)
A0 _______1.53________1.1 ________1.622________1.432812
A1 ________1.x________1.7x________1.728 _______2.047937
A2 ________1.47________1.05________1.518________1.348625
A3 ________ ~ __________1.6x________1.59 ________2.047937
A4 _______ 1.48 ________1.06 ________1.53________1.361313
A5 _______ 1.55 _________1.6x ________1.616 ______2.047937
A6 _______ 55 mV_______10mV ______ 233 mV______xx (not enabled in firmware)
A7 ________ 55 mV_______10 mV _____ 231 mV ______xx (not enabled in firmware)
B0 _______ 1.46________1.06 ________1.06________1.362062
B1 ________ 1.55________1.6 ________1.624 _______2.047937
B2 ________ 1.45________1.06 ______ 1.06________1.362250
B3 ________ 1.55 _______ 1.6 ________1.6 ________2.047937
I later discovered that when Parameters DVM was connected across test leads when other two devices also connected; that the readings changed (reduced). I conclude that the parameters DVM has low input impedance and loads the circuit. Thus I can dismiss the first column (A) of readings.
The Vraf readings of the Digitech DVM and Oscilloscope kind of agree with one another.
The Vgas readings agree sometimes; other times not so much.
Neither Digitech DVM nor Oscilloscope readings agree with values output by the ADC.
So Here I can throw in the fact that the Oscilloscope shows that there remains a significant noise component in the Vgas signal. (Despite all the work done to add the LPF) Depending on how the different ADC’s in each device handle AC component on top of DC component, and their input impedance, will affect the readings they deliver.
But it remains clear that the readings from the ADC board differ somewhat from those of the two test instruments.
So, my attention is now directed to the ADC: ADS1115 and the firmware that is driving it.
I first look into the detailed specification for ADS1115 to try to see how it handles noise, and what time window is used to make its measurement;
to be continued…