Notitie:
TDS-sondes kunnen niet worden gebruikt in water boven 55 ° C.
De TDS-sonde mag niet te dicht bij de rand van de container worden geplaatst, omdat deze de weergave beïnvloedt.
De kop en de leiding van de TDS-sonde zijn waterdicht en kunnen in water worden ondergedompeld, maar de verbindingsinterface en de signaaladapterkaart zijn niet waterdicht. Let op gebruik.
Producteigenschappen:
1. Breedspanningsbedrijf: 3.3 ~ 5.5V
2. 0 ~ 2.3V analoge signaaluitgang, compatibel met 5V, 3.3V twee besturingssystemen
3. De excitatiebron is een AC-signaal, dat effectief sondepolarisatie voorkomt
4. Waterdichte sonde voor langdurige onderdompeling in water
5. compatibel, eenvoudig aan te sluiten, plug and play, geen solderen vereist
Technische specificaties:
Signaaladapterbord:
Ingangsspanning: 3.3 ~ 5.5V
Uitgangssignaal: 0 ~ 2.3V
Werkende stroom: 3 ~ 6mA
TDS-meetbereik: 0 ~ 1000 ppm
TDS-meetnauwkeurigheid: ± 10% FS (25 ° C)
Grootte: 42 * 32 mm
Module-interface: XH2.54-3P
Elektrode-interface: XH2.54-2P
TDS-sonde:
Aantal sondes: 2
Totale lengte: 83 cm
Verbindingsinterface: XH2.54-2P
kleur wit
Overig: Waterdichte sonde
Pakket bestaat uit:
Pakket bestaat uit:
1 x TDS-signaaladapterkaart
1 x waterdichte TDS-sonde
1 x analoge sensorlijn
broncode:
#define TdsSensorPin A1
#define kValue 1.8 // kValue = waarde van TDS van kalibrator / meting om TDS te krijgen
#define VREF 5.0 // analoge referentiespanning (Volt) van de ADC
#define SCOUNT 30 // som van monsterpunt
Int analogBuffer [SCOUNT]; // sla de analoge waarde op in de array, gelezen van ADC
Int analogBufferTemp [SCOUNT];
Int analogBufferIndex = 0, copyIndex = 0;
Float gemiddeld Voltage = 0, tdsValue = 0, temperatuur = 25;
Installatie ongeldig ()
{
Serial.begin (115200);
pinMode (TdsSensorPin, INPUT);
}
Ongeldige lus ()
{
Statische niet-ondertekende lange analogSampleTimepoint = millis ();
Als (millis () - analogSampleTimepoint> 40U) // elke 40 milliseconden, lees dan de analoge waarde uit de ADC
{
analogSampleTimepoint = millis ();
analogBuffer [analogBufferIndex] = analogRead (TdsSensorPin); // lees de analoge waarde en sla deze op in de buffer
analogBufferIndex ++;
If (analogBufferIndex == SCOUNT)
analogBufferIndex = 0;
}
Statische niet-ondertekende lange afdrukTimepoint = millis ();
If (millis () - printTimepoint> 800U)
{
printTimepoint = millis ();
Voor (copyIndex = 0; copyIndex
analogBufferTemp [copyIndex] = analogBuffer [copyIndex];
averageVoltage = getMedianNum (analogBufferTemp, SCOUNT) * (float) VREF / 1024.0; // lees de analoge waarde stabieler door het mediaan filteralgoritme en converteer naar spanningswaarde
Vlottercompensatie Coëfficiënt = 1,0 + 0,02 * (temperatuur-25,0); // temperatuurcompensatieformule: fFinalResult (25 ^ C) = fFinalResult (huidig) / (1.0 + 0.02 * (fTP-25.0));
VlottercompensatieVolatge = gemiddelde spanning / compensatiecoëfficiënt; //temperatuur compensatie
tdsValue = (133.42 * compensatieVolatge * compensatieVolatge * compensatieVolatge - 255.86 * compensatieVolatge * compensatieVolatge + 857.39 * compensatieVolatge) * 0.5 * kValue; // spanningswaarde omzetten naar tds-waarde
//Serial.print("voltage: ");
//Serial.print(averageVoltage,2);
//Serial.print("V ");
Serial.print ("TDS Value:");
Serial.print (tdsValue, 0);
Serial.println ( "dpm");
}
}
Int getMedianNum (int bArray [], int iFilterLen)
{
Int bTab [iFilterLen];
For (byte i = 0; i
bTab [i] = bArray [i];
Int i, j, bTemp;
Voor (j = 0; j
{
Voor (i = 0; i
{
If (bTab [i]> bTab [i + 1])
{
bTemp = bTab [i];
bTab [i] = bTab [i + 1];
bTab [i + 1] = bTemp;
}
}
}
If ((iFilterLen & 1)> 0)
bTemp = bTab [(iFilterLen - 1) / 2];
Anders
bTemp = (bTab [iFilterLen / 2] + bTab [iFilterLen / 2 - 1]) / 2;
Retour bTemp;
}


