Сенсор уровня солей используется для контроля питательных веществ раствора в системах гидропоники и аквакультуре. Датчик также пригодится для проверки эффективности очистки воды фильтрами и системами обратного осмоса.
Датчик измеряет минерализаци воды, а точнее концентрацию солей, методом измерения электропроводности. Существует прямая зависимость электропроводности от количества растворенных в воде соединений солей, на этом основан принцип действия TDS метра. Сенсор определяет концентрацию (сумму) любых растворенных в воде ионов: катионов (+) и анионов (−), минералов, солей и металлов.
TDS-датчик методом кондуктометра (EC-метра) измеряет удельную электрическую проводимость жидкости, которая пропорциональна суммарному количеству растворенных в воде примесей TDS (Total Dissolved Solids) на один миллион частиц воды (parts per million). Один ppm примерно соответствует одному мг/литр.
В состав TDS-датчика входит измерительный щуп и плата управления. Щуп сенсора выполнен в пластиковом герметичном цилиндре с двумя электродами на конце. При погружении в измеряемый раствор или воду между электродами возникает сопротивление, которое фиксирует и обрабатывает плата управления. А теперь немного подробнее.
Плата управления генерирует с помощью микросхемы LMC555 переменное напряжение, которое поступает на один из электродов щупа. При погружении в жидкость, между электродами возникает сопротивления, которое пропорционально электропроводности раствора. Далее сигнал усиливается и выпрямляется с помощью операционных усилителей на чипе TSX564. На выходе сигнал проходит фильтрацию и поступает на выходной сигнал платы.
TDS-метр измеряет минирелизацию воды, но не определяет её чистоту и безопасность, так как:
В качестве мозга для считывания показаний с датчика рассмотрим платформу из серии Arduino, например, Uno.
A0
платформы Arduino. Для коммуникации понадобятся соединительные провода «мама-папа».Для быстрой сборки и отладки устройства возьмите плату расширения Troyka Shield, которая одевается сверху на Arduino Uno методом бутерброда. Для коммуникации используйте трёхпроводной шлейф «мама-мама», который идёт в комплекте с датчиком.С Troyka Slot Shield провода не понадобятся вовсе.Прошейте платформу Arduino скетчем, приведённым ниже.
// любой GPIO пин с поддержкой АЦП constexpr auto pinSensor = A0; void setup() { // открываем Serial-порт Serial.begin(9600); } void loop() { // считываем данные с датчика влажности почвы int valueSensor = analogRead(pinSensor); // переводим данные с датчика в напряжение float voltageSensor = valueSensor * 5 / 1024.0; // конвертируем напряжение в концентрацию float tdsSensor = (133.42 * pow(voltageSensor, 3) - 255.86 * pow(voltageSensor, 2) + 857.39 * voltageSensor) * 0.5; // выводим данные в Serial-порт Serial.print("TDS Value = "); Serial.print(tdsSensor); Serial.println(" ppm"); // ждём 100 мс delay(1000); }
После загрузки скетча, в Serial-порт будут выводиться текущие показания примиссей воды в ppm
.
analog-sensor
и установите ей в инспекторе PORT значение A0
.watch
и подключите её к ноде analog-sensor
к пину VAL
.
После загрузки прошивки, в отладочной ноде watch
будут выводиться текущие показания примесей воды в ppm
.
В качестве мозга для считывания показаний с датчика рассмотрим платформы из серии Espruino, например, Iskra JS.
A0
платформы Iskra JS. Для коммуникации понадобятся соединительные провода «мама-папа».Для быстрой сборки и отладки устройства возьмите плату расширения Troyka Shield, которая одевается сверху на Iskra JS методом бутерброда. Для коммуникации используйте трёхпроводной шлейф «мама-мама», который идёт в комплекте с датчиком.С Troyka Slot Shield провода не понадобятся вовсе.Прошейте платформу Iskra JS скриптом приведённым ниже.
// выводим показания датчика на пине A0 каждые 100 мс setInterval(function() { var valueSensor = analogRead(A0) * 100; print('Value sensor: ', Math.round(valueSensor), '%'); }, 100);
После загрузки скрипта, в консоль будут выводиться текущие показания примиссей воды в ppm
.
В качестве мозга для считывания показаний с датчика рассмотрим одноплатные компьютеры Raspberry Pi, например, Raspberry Pi 4.
К сожалению в компьютере Raspberry Pi нет встроеенного аналого-цифрового преобразователя. Используйте плату расширение Troyka Cap, которое добавит малине аналоговые пины.
3
. Для коммуникации используйте трёхпроводной шлейф «мама-мама», который идёт в комплекте с датчиком.Запустите на малине скрипт, приведённый ниже.
# библиотека для работы со временем и задержками import time # библиотека для работы с расширителем портов GPIO Expander на плате Troyka Cap import gpioexp # создаём объект для работы с расширителем портов exp = gpioexp.gpioexp() # пин к которому подключен TDS-датчик # любой GPIO пин платы расширения Troyka Cap pinSensor = 3 while True: # считываем состояние датчика влажности почвы valueSensor = exp.analogRead(pinSensor) # переводим данные с датчика в напряжение voltageSensor = valueSensor * 3.3 # конвертируем напряжение в концентрацию tdsSensor = (133.42 * pow(voltageSensor, 3) - 255.86 * pow(voltageSensor, 2) + 857.39 * voltageSensor) * 0.5; # выводим показания датчика print('Value sensor: ', round(tdsSensor), ' ppm') # ждём 100 мс time.sleep(0.1)
После загрузки скрипта, в консоль малины будут выводиться текущие показания примиссей воды в ppm
.
Датчик концентрации солей состоит из измерительного TDS-щупа и платы управления.
Для контакта с жидкостью на щупе сенсора расположены два электрода, которые необходимо опустить в измеряемую жидкость для считывания концентрации солей.
На электроды поступает переменное напряжение, что значительно увеличивает срок службы щупа.
Измерительный щуп подключается к плате управления через разъём JST XH-3 Female и Male соответственно.
Микросхема LCM555 используется для генерации импульсов высокой частоты для работы измерительной схемы сенсора.
Микросхема TSX564 состоит из четырёх операционный усилителей: два используются для усиления переменного сигнала на электродах щупа, а другие два выпрямляют полученные данные.
В схеме используется двухполярное питание:
+3V
с выхода понижающего регулятора TPS73030. Диапазон входного напряжения от 3,3 до 5 вольт. Выходное напряжение 3 В с максимальным выходным током 200 мА.−3V
с выхода инвертирующего регулятора TPS60400. Входное напряжение поступает с положительного плеча +3V
и инвертируется в −3V
с максимальным выходным током 60 мА.Двухполярная схема используется для генерации переменного напряжения на электроды измерительного TDS-щупа.
Датчик подключается к управляющей электронике через три провода.