Tds es meter hold инструкция на русском языке

Приобрел на Алиэкспресс тестер качества воды TDS EC, тестер PPM. TDS тестер используется для проверки чистоты качества воды. Проверить производительность вашего фильтра для воды и проверить твердость. Чтобы убедиться, что вы всегда пьете чистую и безопасную воду, TDS тестер рекомендуется для каждой семьи.

TDS (total dissolved solids) – Общее количество растворенных твердых веществ. Остаток твердых веществ, если все воду испарить. Другой термин —общее солесодержание.

tester ppm

Тестер качества воды TDS PPM

Функции TDS EC METP 3 в 1

Солемер – контроль уровня солей и металлов.

Термометр – измерение температуры воды.

Кондуктометр – измерение электропроводности.

Показатель PPM качества воды

Показатель PPM качества воды

Тестер качества воды TDS EC метр инструкция на русском языке

TDS метр инструкция на русском языке

TDS метр инструкция

Как проверить чистоту вашей воды?

  1. Снимите защитный колпачок и включите TDS & Измеритель EC
  2. Поместите измеритель TDS в тестируемую воду и погрузите его до линии погружения.
  3. Когда результат будет устойчивым, нажмите “HOLD” и выньте его из воды. Нажмите “SHIFT”, чтобы прочитать различные режимы, которые вы хотите.
  4. Протрите электрод после использования, выключите измеритель TDS и закройте защитный колпачок.

На сколько хватает фильтра Барьер

Купил фильтр барьер. Установил по инструкции. Буду проверять на сколько хватит фильтра для воды на одного человека. Расчет примерный. На сколько хватает фильтра Барьер буду проверять с помощью тестер качества воды TDS EC. Тестер PPM.

Первый день установки фильтра 04.03.2023. Фото качества воды буду прикладывать в этой статье.

Фильтр для воды барьер

Барьер стандарт. Фильтр для воды

Провел первый тест. По результату вода осталось такой же как и из под крана 290 ppm высокий. Это меня очень удивило. Проверил на подлинность коробку на официальном сайте. Коробка была подлинной. Написал в поддержку Барьер о этой ситуации.

Ответ:

TDS метр или солеметр не измеряет показатель “грязности” или жесткости воды. Он измеряет общее содержание солей. 
TDS-метром измеряется вода, очищенная только обратным осмосом. Применять его с другими фильтрами, например, со сменными кассетами, нет никакого смысла.
Сменные кассеты и проточные фильтры работают на принципе ионного обмена. Это значит, что ионы кальция и магния, образующие соли жесткости, заменяются ионами натрия, невыпадающими в осадок. При этом количественный состав солей в воде не изменяется, но жесткость воды снижается, а накипь не образуется. Только системы обратного осмоса удаляют практически все примеси из воды, остальные фильтры удаляют лишь определенный перечень примесей. 

Вопрос:

После фильтрации холодной воды из крана, её сразу можно пить или лучше кипятить?

Ответ:

Вода пригодна для питья без кипячения

Тот же вопрос решил задать в компании Аквафор и Prio Новая Вода.

Вопрос:

Возможно ли проверять качество воды с помощью TDS метр или солеметра? TDS метр показывает электропроводность и показатель ppm воды. Водопроводная холодная вода в квартире жилого помещения.

Вопрос:

После фильтрации фильтром, пить не кипяченую воду можно? вода из крана холодная в квартире.

Ответ Аквафор:

Должны обратить Ваше внимание на то, что TDS-метр (солемер) не предназначен для проверки качества воды после проточного фильтра/фильтра-кувшина, так как замеряет общее содержание всех солей, содержащихся в воде.
Проточные водоочистители не меняют исходный минеральный фон воды. Результат очистки после проточных систем/фильтров-кувшинов можно узнать только с помощью химического лабораторного анализа воды.

Да, после любой системы можно пить воду без кипячения.

Ответ Prio Новая Вода:

Да, возможно, но только для систем обратного осмоса.
Для проточных систем “под мойку” без обратноосмотической мембраны солемер (TDS-метр) покажет примерно одинаковые показания для образца воды на входе в фильтр и из крана чистой воды. Для новых картриджей с ионобменной смолой значения ppm у очищенной воды могут быть на 10-20% выше, чем у воды на входе в фильтр, но в течение 2-х месяцев показания должны не отличаться друг от друга.
Для систем обратного осмоса значения ppm у очищенной воды должны быть в 10-20 раз ниже чем значения у входной воды.

Да, можно не кипяченую!

Вот такой эксперимент получился ха ну ладно. Я думал будет классно TDS-метром замерять качество воды, будешь понимать когда пора менять картридж для воды. Все оказалось не так.

Обновлено: 27.11.2023

Солемер tds метр используют для оценки загрязнений питьевой воды, при этом прибор не укажет на конкретную примесь, а замерит общее количество растворенных в воде солей.

Прибор tds 3 просигнализирует о степени жесткости воды, что важно при проведении замеров tds метром в аквариумах, бассейнах, автопромышленности, с/х, оценке эффективности бытовых фильтров и систем обратного осмоса.

Как определить, можно ли использовать измеренную tds метром воду?

От жесткости воды зависит не только здоровье человека, но и функционирование бытовых приборов, а также состояние растений и домашних животных.

Жесткость тем выше, чем больше концентрация примесей в воде. Единого мнения по допустимому уровню примесей в воде и ее пригодности для питья не существует.

В России пригодной к употреблению считается жидкость с показаниями tds до 1000 мг/л. В западных странах стандарты требую значений, не превышающих 500 мг/л.

Жидкость с предельным уровнем жёсткости до 50 мг/литр (50 ppm) считается идеальной для употребления.

Чем мягче вода (в среднем 10 мг/л), тем лучше в ней растворяются ингредиенты, вкуснее напитки и пища.

Если уровень tds превышает значение 500 ppm, то вода становится жесткой, соленой, горькой, может иметь металлический привкус, появляется характерное окрашивание и различные отложения.

При превышении 1000 ppm (мг/литр), жидкость становится непригодной к употреблению.

tds 3 метр: как пользоваться при проведении замеров для питьевой воды, из аквариумов и других жидкостей

Прибор tds 3 метр Water Test представляет пластиковый корпус с LCD дисплеем и тремя кнопками управления:

  • hold — фиксация показаний;
  • temp — режим измерения температуры;
  • on/off — вкл/выкл.

Солемер tds 3 откалиброван на заводе-изготовителе, поэтому калибровать его не нужно. Обновленная версия прибора не предполагает функцию калибровки.

Для проведения измерений tds метром воды для питья, аквариумов, бытовых приборов:

  1. Подготовьте жидкость для исследования: рекомендуем отобрать небольшую пробу в стеклянную емкость (20 мл).
  2. Снимите защитный колпачок (потяните вниз, при этом сам прибор тяните вверх).
  3. Погрузите солемер tds 3 в емкость с исследуемой жидкостью не выше уровня максимальной линии погружения.
  4. Помешайте жидкость для удаления возможных пузырьков, оставьте прибор на 30 секунд.
  5. Включите tds метр (кнопка on/off на корпусе).
  6. Дождитесь стабилизации показаний (примерно 10 секунд).
  7. Считайте показания. Значение можно зафиксировать кнопкой hold.
  8. По инструкции сравните полученный результат и определите степень пригодности жидкости.
  9. Выключите прибор. Промойте электрод дистиллированной водой, промокните впитывающей салфеткой и закройте крышку. Электрод рекомендуется промывать всегда, чтобы избегать налета от измеряемых жидкостей.

Измерения солемера выводятся на экран в ppm (мг/л). Диапазон измерения tds метра tds 3 Water Test составляет 0 – 9990 мг/л. Чтобы вычислить жесткость ― разделите полученное значение на 17,6.

Примечание: если не наблюдается стабилизация показаний, то попробуйте заменить элементы питания и проверьте электрод (может высохнуть).

Работает tds метр от трех батареек-кнопок. Отсек расположен сверху прибора. При необходимости (гаснет дисплей, прибор не включается, скачут показания) замените элементы питания, соблюдая полярность, все сразу (не смешивайте новые и старые батарейки).

Помимо определения примесей, tds метр измеряет температуру (в воздухе и в жидкости). Для активации функции нажмите на кнопку temp. Диапазон: 0 – 80 C° Повторное нажатие на кнопку вернет прибор в режим измерения ТДС.

Применение ТДС метра

Пользоваться tds метром удобно для экспресс-анализа воды на примеси в домашних условиях. Считается, что достоверным является именно измерение сухого остатка, но это трудоемкий процесс. В качестве портативного прибора для экономии времени многие выбирают tds метр даже на промышленных организациях и пищевых производствах.

  • используйте tds метр для контроля воды при установке фильтров обратного осмоса. Для этого снимите значение воды до прохождения через фильтр и после. Запишите разницу. Проверяйте периодически данным образом работу фильтра и сравнивайте разницу значений с первоначальной. Если отклонение от первоначального значения значительно больше, то пришло время заменить мембрану фильтра.
  • используйте tds метр для аквариумов. При разведении и содержании аквариумных рыбок важно поддерживать оптимальный уровень жесткости.
  • применяется tds метр для контроля воды в бассейнах, чтобы избежать появления губительной для труб ржавчины.
  • пользоваться tds метром необходимо и при поливе растений. Если вода будет жесткой, то грунт начнет защелачиваться. Первым сигналом к покупке tds метра станут желтеющие и опадающие листья. В среднем растения рекомендуют поливать водой с концентрацией примесей 4,5 — 6,5 мг/л.
  • tds метром пользуются автомобилисты для контроля заливаемой воды в аккумулятор. Дистилляту соответствует значение 0-5 мг/л.

Если остались вопросы, как пользоваться tds 3 метром, обращайтесь за консультацией к специалистам интернет — магазина Water Test.

Читайте также:

      

  • Ничто не истина все дозволено полная фраза на латыни
  •   

  • Расти в геометрической прогрессии выражение
  •   

  • Процесс высказывания с помощью языка это
  •   

  • Что означает сейчас выражение
  •   

  • Для выражения мягкой просьбы используются глаголы в наклонении

Здравствуйте.
Сегодня о не очень качественном TDS-метре и про то, как я с ним «воевал изучая» жидкости вокруг целых два дня. Покажу, как ему «вправить мозги» (расчленёнка будет) и почему не всё то, что одинаково называется, оказывается одинаковым на самом деле.

Немного предыстории.
Закинул мне как-то знакомый книжку умную… приятно напечатано, но есть противоречивости и нюансы, по этому сегодня не про книгу, а про её главное «действующее лицо» — всё про воду, да про воду, вода мол всему голова и чистота её сулит, чуть ли не «бессмертие»… молокопродукты в зрелом возрасте, оказывается, вообще — зло!) в общем проникся.

Но суть не в этом. На площадке Али, выискивая чем бы её «вкусную» (из местного водопровода) проверить, наткнулся на распродажу TDS-метра (если вкратце — прибор измеряет сопротивление жидкости и её температуру, а на основе полученных данных делает вычисления и выдаёт результат).
В описании продавца всё класс и с купоном выходит очень дешево — купил…

Получил долгожданный пакет с приб

лу

ором и — понесласьподсветку сознательно выбирал, отключать надеялся можноинструкция вообще «ни о чём», показано как кнопки нажимать и что это прецизионный продукт (погрешность измерения ±2%)на первый взгляд всё совпадает, но есть маленькое (переворачивающее весь смысл прибора) отличие от рекламытермодатчик китайцы в зону измерения не вынесли… у данного прибора черный «пипсюн» с рекламы, почему-то превратился в белый наплыв пластмассы

Недо измерения
Уже не мог ждать, начал измерять всю подряд воду, а начал с унитаза…
Схема в квартире построена так — унитаз прямоток, далее грубой отчистки на рукомойник и потребителей, а на раковине угольный в колбе для питья… в таком порядке и замерял — унитаз/+грубой/+угольный, ну и отдельно измерил покупную «КИССОН» (заявляют обратный осмос — минимальное значение)«выпал в осадок» после таких показателей — 567/596/700/(16 — покупная КИССОН)… самая грязная после всех фильтров, а самая чистая из унитаза!!! ведь вода по сути одной температуры, ну чуть холоднее первые три, но должно погрешность давать, но не такую ведь — 700!!!

Забились фильтра (три месяца не менял)

слабонервным не открывать!

и действительно, нужно менять)
Купил проверенную «трубу» от Ecosoft, а угольный нашёл толко такой, с жутко вонючими уплотнителями (сразу менять на силиконовые) — ради эксперимента Меняю входной не ожидая, что солёность упадётлучше чем было, но все равно больше, по сравнению с входящей, плюс учитывая другую температуру для пересчёта на приборе.
Бачок унитаза:после фильтра грубой очистки — нет эффектамаксимальное значения после смены картриджей в обоих фильтрах перестали «700» показывать, но до точности ещё как до луны
Для воды, производителем «показометра» заявляются вот такие показатели и моя вода по табличке кошмарнавода из крана, получается ядовитая! неужели это правда!?

Такого быть не должно!
Вы как и я, очевидно поняли, температуру прибор измеряет воздуха, а по этому брешет просто безбожно при разности температур измеряемой жидкости и даёт погрешность — вскрыватьвыносного термистора естественно нет, но у меня нашёлся вот такойна 10 кОмкак оказалось и сам прибор имеет 10 кОм термистор подписан на плате как NTC1я решил ради хохмы проверить «как это работает» и просто впаял параллельно свой на 10 — вышло ожидаемо не очень) температуру показал вдвое выше нормальной, так как общее сопротивление уменьшилось вдвое (по принципу параллельного включения резисторов)Выпаял родной на 10 (даже канифоль не стал смывать), впаял свой и вставил в технологические отверстия в плате временные «электроды»протестировал на разной температуре воды и всё работает — «16» что при 30°С, что при 50°С, а значит прибор задумывался адекватными людьми и только после упрощен в целях экономии на сборку

Воодушевлённый тем, что получилось восстановить справедливость, я начал думать как прилично вынести датчик температуры в область измерения, а при этом заглядывать во внутрь — похоже плату в корпус загоняют прогретую, ибо я её еле вытянул изначально, а там внутри остались от неё наплывы расплавленного пластика (жаловались в отзывах на али)Решил использовать родной термистор, вместо своего старого, аккуратно припаяв в его торцы пару проводов такой длины, чтобы плату можно было извлечь, а в корпусе просверлил иглой два отверстия под них
Огорчила подсветка — не выключается вручную ни как, а просто ухудшает углы обзора, ещё и батарейку разряжает зря ~ 2.32мАпо этому разрезал дорожку вот тут и получил более чёткий экран и всего ~ 1.5мА потребления (просится тумблер для подсветки)
После всех манипуляций, завёл аккуратно в отверстия провода, чуть углубив в корпус сам резистор и залил всё отвердеваемой UV-смолой так, чтобы и в отверстия она зашла немного, для пущей герметичности. Получилось, как настоящее
Если вам паять такое не под силу, то можно заказать с али любой другой уже готовый NTC резистор на 10кОм (они имеются там в различных исполнениях и даже в более подходящих), но в моём случае, точность измерения температуры и с родным оказалась нормальнаяну и сама вода в водопроводе, после замены фильтров и на «тюнингованном» приборе стала по показаниям чуть более пригодной к употреблению — 300+, после диких 500+ (схема та же — бачок /+грубой/+угольный):

начиная со значения 315

Одно название — разный результат
Побежал замерял две разные (по цене) воды из 18 литровых привозных бутылей (Киссон и Галактика) и результат не порадовал — «минеральная» она, не пахнет тут осмосом, простая очистка (прийдётся выяснять, на каком этапе «бадяжат»)в описании 7 ступеней очистки (включая обратный осмос) и возможность изготовления на такой воде лекарств, но со значением в «140» это сомнительно… тот-же КИССОН, но из «бачка» в магазине привозной (выше в тестах рядом с водопроводной) показывало стабильно «16», а теперь с исправленным прибором 6-8 и это гораздо ближе к обратному осмосу или к талой воде, за которую можно доплачивать.

Завершаю повествование.
Сначала думал, что отсутствие термистора в зоне воды не сильно скажется на показания, но как видите, отличия в показаниях с датчиком и без него просто огромные (550/340).
По итогу всех замеров и рекомендаций, стал воду пить очищенную из бака в магазине (покупную), а фильтрованную водопроводную только для некоторой готовки. Отказался от частого и безрассудного употребления молокопродуктов (там что-то связано с отложениями кальция, в воде нашего региона его и так чересчур) и уже буквально через пару недель почувствовал результат — наладился желудок и перестала тревожить спина.

Просто пейте чистую воду и не заморачивайтесь как я, а если вдруг измерять показатели жидкостей таки надо — не покупайте данное устройство, а лучше сразу возьмите что-то брендовое, но и там следите в отзывах за наличием термистора, рядом с парой электродов.

На этом точно всё, до свидания.

и да, вымораживание таки работает!

P.S. — через полтора года глюканул, остался просто термометр, а значения улетают в х10 даже на тестовом дистилляте. Мусор, купил за 5$ MI-шный TDS pen

Используйте TDS/EC-метр для измерения количества растворённых твёрдых веществ в воде и её удельной электрической проводимости. Датчик пригодится для проверки эффективности очистки питьевой воды в бытовом фильтре, анализа качества дистиллированной воды или приготовления питательного раствора в гидропонных системах.

Видеообзор

Подробности

Сенсор TDS/EC — это солемер и кондуктометр на одной плате.

  • Солемер TDS (Total Dissolved Solids) служит для определения общего количества растворённых твердых веществ в воде от 0 до 10’000 ppm.
  • Кондуктометр EC (Electrical Conductivity) служит для определения удельной электрической проводимости воды от 0 до 20,000 мСм/см.

По выходным данным TDS и EC можно судить об общей минерализации, жёсткости и солёности воды. Чувствительность датчика позволяет зафиксировать даже 2-3 крупинки пищевой соли растворённой в стакане дистиллированной воды.

Модуль нельзя использовать для определения качества питьевой воды, так как вода может содержать одновременно вредные и полезные для организма минералы.

TDS/EC-метр состоит из погружного щупа и платы управления. Щуп сенсора выполнен в пластиковом герметичном цилиндре с двумя электродами на конце. При погружении в измеряемый раствор между электродами возникает сопротивление, которое фиксирует и обрабатывает плата управления.

TDS/EC Sensor Trema Flash I²C Info 1

TDS/EC-метр относится к серии «Flash», а значит к одной шине I²C можно подключить более 100 модулей. Адрес по умолчанию установлен 0x09.

Рекомендации по измерению

  • Перед измерениями протрите электроды щупа спиртом или дистиллированной водой.
  • При сильном загрязнении электродов, опустите щуп в дистиллированную воду на пару часов.
  • После погружения сенсора в жидкость, поводите щупом в разные стороны, как бы перемешивая жидкость. Это позволит избавиться от пузырьков воздуха, которые могут попасть между контактами электродов в процессе погружения датчика.
  • Выжидайте не менее минуты с момента погружения щупа до проведения замеров.
  • Не касайтесь руками электродов измерительного щупа.
  • Между измерениями разных жидкостей, сполосните щуп в дистиллированной воде или стряхните остатки капель предыдущей жидкости.
  • Датчик следует калибровать, как в процессе эксплуатации, так и после каждой замены датчика.
  • Постоянное увеличение показаний модуля (>20 ppm в день), означает о испарении жидкости в которую погружён датчик или о наличии в ней микрофлоры.

Подключение и настройка

TDS/EC-метр поддерживает два выходных интерфейса для подключения к контроллеру: аналоговый и цифровой I²C.

Аналоговый интерфейс

Что понадобится

  • 1× TDS/EC-метр для воды с щупом
  • 1× Arduino Uno
  • 1× Соединительные провода «папа-мама»
  • 1× Кабель USB (A — B)
  • 1× Стакан для воды

Рекомендуем также обратить внимание на дополнительные платы расширения:

  • Trema Shield поможет подключить модуль к Arduino с помощью аккуратного шлейфа.
  • Trema Set Shield поможет подключить модуль к Arduino без проводов вовсе.

Схема устройства

TDS/EC Sensor Trema Flash I²C WiringWiring 1.1

Схема устройства с Trema Shield

TDS/EC Sensor Trema Flash I²C Wiring 1.2

Схема устройства с Trema Set Shield

TDS/EC Sensor Trema Flash I²C Wiring 1.3

В завершении опустите измерительный щуп в воду.

TDS/EC Sensor Trema Flash I²C Wiring 1.4

Программная настройка

  1. Настройте плату Arduino Uno в среде Arduino IDE.
  2. Переходите к примерам работы через аналоговый интерфейс.

Цифровой интерфейс I²C

Что понадобится

  • 1× TDS/EC-метр для воды с щупом
  • 1× Arduino Uno
  • 1× Соединительные провода «папа-мама»
  • 1× Кабель USB (A — B)
  • 1× Стакан для воды

Рекомендуем также обратить внимание на дополнительные платы расширения:

  • Trema Shield поможет подключить модуль к Arduino с помощью аккуратного шлейфа.
  • Trema Set Shield поможет подключить модуль к Arduino без проводов вовсе.

Схема устройства

TDS/EC Sensor Trema Flash I²C Wiring 2.1

Схема устройства с Trema Shield

TDS/EC Sensor Trema Flash I²C Wiring 2.2

Схема устройства с Trema Set Shield

TDS/EC Sensor Trema Flash I²C Wiring 2.3

В завершении опустите измерительный щуп в воду.

TDS/EC Sensor Trema Flash I²C Wiring 2.4

Программная настройка

  1. Настройте плату Arduino Uno в среде Arduino IDE.
  2. Скачайте и установите библиотеку iarduino_I2C_TDS. Для инсталляции рекомендуем использовать нашу инструкцию по установке библиотек для Arduino.
  3. Выполните калибровку датчика.
  4. Переходите к примерам работы через цифровой интерфейс I²C.

Калибровка датчика

Для повышения точности показаний датчик необходимо калибровать. TDS/EC-метр поддерживает аппаратную и программную калибровку.

Калибровка датчика доступна только на шине I²C, с аналоговым сигналом калибровочные коэффициенты необходимо высчитывать самостоятельно.

Для калибровки понадобиться два буферных раствора с разной концентрацией солей, которые можно купить или приготовить самостоятельно.

Приготовление калибровочных растворов

Рассмотрим процесс приготовления буферных растворов для дальнейшей калибровки TDS/EC-метра. Для примера будем приготавливать растворы с концентрацией 500 ppm и 1500 ppm.

Что понадобится

  • 1× Хлорид калия KCl
  • 3× Стакан для воды
  • 1× Дистиллированная вода (H2O)
  • 1× Шприц
  • 1× Весы

Если хлорида калия KCl нет, можно использовать хлорид натрия NaCl — это обычная пищевая соль. Однако в обычной поваренной соли содержится много примесей, которые негативно будут влиять на точность показаний.

Инструкция по приготовлению

  1. Пронумеруйте стаканы цифрами «0», «1» и «2» соответственно.
  2. В стакане «0» приготовим эталонный раствор хлорида калия с концентрацией 10’000 ppm:
    • В стакан «0» насыпьте 1 г (1’000 мг) калиевой соли (KCl).
    • В стакан «0» налейте 50-70 мл дистиллированной воды.
      Перемешайте содержимое стакана до полного растворения соли.
    • В стакан «0» долейте дистиллированной воды до получения 100 мл раствора.
      Перемешайте содержимое стакана до полного растворения соли.
    • В итоге в стакане «0» мы получили эталонный раствор 10’000 ppm.
      (1’000 мг / 100 мл = 10’000 мг/л = 10’000 ppm)
      .
  3. В стакане «1» приготовим первую калибровочную жидкость 500 ppm:
    • В стакан «1» перелейте 5 мл эталонного раствора из стакана «0» с помощью шприца.
      Теперь в стакане «1» находится 5 мл начального раствора.
      (1’000 мг / 100 мл = 50 мг / 5 мл)
      .
    • В стакан «1» долейте дистиллированной воды до получения 100 мл раствора.
      Перемешайте содержимое стакана.
    • В итоге в стакане «1» мы получили первую калибровочную жидкость 500 ppm.
      (50 мг / 100 мл = 500 мг/л = 500 ppm)
      .
  4. В стакане «2» приготовим вторую калибровочную жидкость 1’500 ppm:
    • В стакан «2» перелейте 15 мл эталонного раствора из стакана «0» с помощью шприца.
      Теперь в стакане «2» находится 15 мл начального раствора.
      (1’000 мг / 100 мл = 150 мг / 15 мл)
      .
    • В стакан «2» долейте дистиллированной воды до получения 100 мл раствора.
      Перемешайте содержимое стакана.
    • В итоге в стакане «2» мы получили вторую калибровочную жидкость 1’500 ppm.
      (150 мг / 100 мл = 1’500 мг/л = 1’500 ppm)
      .
  5. Эталонный раствор в стакане «0» больше не понадобится. А калибровочные растворы в стаканах «1» и «2» должны настояться не менее 2 часов.
    Формула: ШПРИЦ = КОНЦЕНТРАЦИЯ * КОЛИЧЕСТВО / ЭТАЛОН
    Эта формула позволяет определить, сколько эталонной жидкости (из стакана «0») нужно взять в шприц для приготовления калибровочной жидкости в любых концентрациях.
    Пример: Нужно создать 100 мл калибровочной жидкости 1’500 ppm из эталонной 10’000 ppm.
      • КОНЦЕНТРАЦИЯ = 1’500 ppm.
      • КОЛИЧЕСТВО = 100 мл.
      • ЭТАЛОН = 10’000 ppm.
      • ШПРИЦ = КОНЦЕНТРАЦИЯ * КОЛИЧЕСТВО / ЭТАЛОН = 1’500 * 100 / 10’000 = 15 мл.

      Пример показывает почему на 4 пункте инструкции, для приготовления 100 мл жидкости с концентрацией 1’500 ppm, мы переливали шприцом именно 15 мл эталонного раствора.

      Аппаратная калибровка

      Аппаратная калибровка — это калибровка датчика при помощи кнопки.

      Что понадобится

      1. Подключите и настройте TDS/EC-метр через цифровой интерфейс I²C.
      2. Приготовьте калибровочные растворы. По умолчанию концентрация первого раствора 500 ppm, а второго — 1500 ppm.

      Инструкция

      • Протрите электроды щупа спиртом или дистиллированной водой.
      • Опустите щуп датчика в первую калибровочную жидкость. В нашем примере концентрация первой калибровочной жидкости установлена в 500 ppm.
      • Подождите одну минуту.
      • Нажмите кнопку «калибровка». Должен начать мигать светодиод «1».
      • Подождите пока не начнут перемигиваться светодиоды «1» и «2».
      • Вытащите щуп датчика из первой калибровочной жидкости.
      • Протрите электроды щупа спиртом или дистиллированной водой.
      • Опустите щуп датчика во вторую калибровочную жидкость. В нашем примере концентрация второй калибровочной жидкости установлена в 1500 ppm.
      • Подождите одну минуту.
      • Нажмите кнопку «калибровка». Должен начать мигать светодиод «2».
      • Подождите пока светодиод «2» не перестанет мигать.
      • Если светодиод «2» погас и светодиод «1» не включился, значит калибровка выполнена.
      • Одновременное включение двух светодиодов информирует об ошибке калибровки.

      Примечания

      • Концентрация эталонного раствора для первой стадии — 500 ppm, для второй стадии — 1500 ppm.
      • Новые эталонные значения концентрации калибровочных растворов можно установить функцией setKnownTDS().
      • Температура калибровочных жидкостей должна быть близка к 25 °С. Если температура жидкостей отличается от 25 °С, то её реальное значение необходимо указать функцией set_t().
      • Об ошибке калибровки указывают не только светодиоды, но и функция getCalibration(), см. пример ниже.
      • Возможные причины ошибки калибровки: неправильно приготовлены калибровочные жидкости, перепутан порядок калибровочных жидкостей (на первой стадии использовали жидкость предназначенную для второй стадии и наоборот), плохой контакт модуля с щупом, неисправен модуль.

      Программная калибровка

      Программная калибровка — это калибровка датчика без помощи кнопки.

      Что понадобится

      1. Подключите и настройте TDS/EC-метр через цифровой интерфейс I²C.
      2. Приготовьте калибровочные растворы. По умолчанию концентрация первого раствора 500 ppm, а второго — 1500 ppm.

      Инструкция

      • Протрите электроды щупа спиртом или дистиллированной водой.
      • Опустите щуп датчика в первую калибровочную жидкость. В нашем примере концентрация первой калибровочной жидкости установлена в 500 ppm.
      • Подождите одну минуту.
      • Вызовите функцию setCalibration() с параметрами 1 и концентрацией первого калибровочного раствора.
      • Вытащите щуп датчика из первой калибровочной жидкости.
      • Протрите электроды щупа спиртом или дистиллированной водой.
      • Опустите щуп датчика во вторую калибровочную жидкость. В нашем примере концентрация второй калибровочной жидкости установлена в 1500 ppm.
      • Подождите одну минуту.
      • Вызовите функцию setCalibration() с параметрами 2 и концентрацией второго калибровочного раствора.
      • Вытащите щуп датчика из второй калибровочной жидкости.

      Исходный код

      #include <Wire.h>                                               // Подключаем библиотеку для работы с аппаратной шиной I2C.
      #include <iarduino_I2C_TDS.h>                                   // Подключаем библиотеку для работы с TDS/EC-метром I2C-flash.
      iarduino_I2C_TDS tds(0x09);                                     // Объявляем объект tds  для работы с функциями и методами библиотеки iarduino_I2C_TDS, указывая адрес модуля на шине I2C.
                                                                      // Если объявить объект без указания адреса (iarduino_I2C_TDS tds;), то адрес будет найден автоматически.
      float val_t = 25.0;                                             // Температура калибровочных жидкостей.
                                                                      //
      void setup(){                                                   //
      //   Подготовка:                                                //
           delay(500);                                                // Ждём завершение переходных процессов связанных с подачей питания.
           Serial.begin(9600);                                        // Инициируем работу с шиной UART для передачи данных в монитор последовательного порта на скорости 9600 бит/сек.
           tds.begin();                                               // Инициируем работу с TDS/EC-метром I2C-flash.
           tds.set_t(val_t);                                          // Указываем температуру жидкости в °С.
           Serial.println("ОПУСТИТЕ ДАТЧИК В 1 РАСТВОР (500 ppm).");  //
           delay(60000);                                              // Ждём 1 минуту.
      //   Запускаем 1 стадию калибровки:                             //
           tds.setCalibration(1, 500);                                // Выполняем 1 стадию калибровки указав известную концентрацию 1 раствора (в примере 500ppm ).
           Serial.println("КАЛИБРОВКА...");                           //
           while( tds.getCalibration()==1 ){ delay(500); }            // Ждём завершения 1 стадии калибровки...
      //   Меняем калибровочные растворы:                             //     
           Serial.println("СПОЛОСНИТЕ ДАТЧИК.");                      //
           delay(30000);                                              // Ждём 30 секунд.
           Serial.println("ОПУСТИТЕ ДАТЧИК В 2 РАСТВОР (1500 ppm)."); //
           delay(60000);                                              // Ждём 1 минуту.
      //   Запускаем 2 стадию калибровки:                             //
           tds.setCalibration(2, 1500);                               // Выполняем 2 стадию калибровки указав известную концентрацию 2 раствора (в примере 1500ppm ).
           Serial.println("КАЛИБРОВКА...");                           //
           while( tds.getCalibration()==2 ){ delay(500); }            // Ждём завершения 2 стадии калибровки...
      //   Выводим результат калибровки:                              //     
           bool f = tds.getCalibration();                             // Получаем результат калибровки.
           Serial.print("КАЛИБРОВКА ВЫПОЛНЕНА ");                     //
           if( f==0 ){ Serial.println("УСПЕШНО."  ); }                //
           if( f==3 ){ Serial.println("С ОШИБКОЙ."); }                //
           Serial.println("---------------------------------------"); //
      }                                                               //
                                                                      //
      void loop(){                                                    //
      //   Выводим минерализацию и электропроводность жидкости:       //
           Serial.print((String)"TDS="+tds.getTDS()+"мг/л, "  );      //
           Serial.print((String)"EC="+tds.getEC()+"мСм/см.\r\n");     //
           delay(1000);                                               //
      }                                                               //
      

      Примечания

      1. Мы использовали концентрации эталонных растворов для первой стадии — 500 ppm, для второй стадии — 1500 ppm. Однако вы можете указывать свои значения калибровочных растворов в функции setCalibration().
      2. Температура калибровочных жидкостей должна быть близка к 25 °С. Если температура жидкостей отличается от 25 °С, то её реальное значение необходимо указать функцией set_t().
      3. Функция getCalibration() возвращает стадию калибровки 1 или 2, сообщает о простое 0, а начиная с версии библиотеки 1.3.0 информирует об ошибке калибровки 3 и позволяет получить дополнительную информацию.
      4. В приведённом коде выполнялось отслеживание стадий калибровки обращением к функции getCalibration() с задержками в 500мс т.к. более частые обращения к модулю во время калибровки снижают точность этой калибровки.

      Примеры работы

      Рассмотрим базовые примеры для работы с TDS/EC-метром.

      Для повышения точности показаний — датчик необходимо калибровать.

      Аналоговый интерфейс

      Выведем данные с датчика через аналоговый интерфейс.

      Исходный код

      const uint8_t pin_Vm = A0;                        // Определяем вывод к которому подключён аналоговый выход модуля.
                                                        //
      const float   Vcc    = 5.0f;                      // Напряжение питания Arduino.
      const float   Vccm   = 3.3f;                      // Напряжение питания ОУ модуля        (внутрисхемно используется 3,3В).
      const float   Ka     = 1000.0f;                   // Множитель степенной функции         (определяется калибровкой модуля). Можно получить функцией getKa().
      const float   Kb     = -5.0f;                     // Степень   степенной функции         (определяется калибровкой модуля). Можно получить функцией getKb().
      const float   Kt     = 0.02f;                     // Температурный коэффициент           (зависит от состава жидкости).
      const float   Kp     = 0.5f;                      // Коэффициент пересчёта               (зависит от состава жидкости).
      const float   Kf     = 0.85f;                     // Коэффициент передачи ФВЧ+ФНЧ модуля (зависит от частоты переменного тока используемого для проведения измерений).
      const float   T      = 25.0f;                     // Опорная температура в °C.
      const float   t      = 25.0f;                     // Температура исследуемой жидкости в °C.
                                                        //
      void setup(){                                     //
           delay(500);                                  // Ждём завершение переходных процессов связанных с подачей питания.
           Serial.begin(9600);                          // Инициируем работу с шиной UART для передачи данных в монитор последовательного порта на скорости 9600 бит/сек.
      }                                                 //
                                                        //
      void loop(){                                      //
      //   Получаем напряжение на выходе модуля:        //
           float Vm  = analogRead(pin_Vm)*Vcc/1023;     // В.
      //   Получаем удельную электропроводность:        //
           float S   = Ka*pow((Vccm-Kf*Vm)/2,Kb)/1000;  // мСм/см.
      //   Приводим удельную электропроводность         //
      //   жидкости к опорной температуре T:            //
           float EC  = S / (1+Kt*(t-T));                // мСм/см.
      //   Получаем минерализацию жидкости:             //
           float TDS = EC * Kp;                         // ppm.
      //   Выводим полученные данные:                   //
           Serial.print((String)"S="+S+"мСм/см, ");     //
           Serial.print((String)"EC="+EC+"мСм/см, ");   //
           Serial.print((String)"TDS="+TDS+"мг/л\r\n"); //
           delay(1000);                                 //
      }                                                 //
      

      Результат работы

      После прошивки контроллера, в COM-порт Arduino будет выводиться измеренная электропроводность жидкости S, приведенная электропроводность жидкости EC и количество растворённых твёрдых веществ в жидкости TDS.

      Коэффициенты Ka и Kb определяются модулем в процессе калибровки, их значения можно получить функциями getKa() и getKb() соответственно.

      Цифровой интерфейс I²C

      Выведем данные с датчика через цифровой интерфейс I²C.

      Исходный код

      #include <Wire.h>                                          // Подключаем библиотеку для работы с аппаратной шиной I2C.
      #include <iarduino_I2C_TDS.h>                              // Подключаем библиотеку для работы с TDS/EC-метром I2C-flash.
      iarduino_I2C_TDS tds(0x09);                                // Объявляем объект tds  для работы с функциями и методами библиотеки iarduino_I2C_TDS, указывая адрес модуля на шине I2C.
                                                                 // Если объявить объект без указания адреса (iarduino_I2C_TDS tds;), то адрес будет найден автоматически.
      float val_t = 25.0;                                        // Температура исследуемой жидкости.
                                                                 //
      void setup(){                                              //
           delay(500);                                           // Ждём завершение переходных процессов связанных с подачей питания.
           Serial.begin(9600);                                   // Инициируем работу с шиной UART для передачи данных в монитор последовательного порта на скорости 9600 бит/сек.
           tds.begin();                                          // Инициируем работу с TDS/EC-метром I2C-flash.
      }                                                          //
                                                                 //
      void loop(){                                               //
           tds.set_t(val_t);                                     // Указываем текущую температуру жидкости.
           Serial.print((String)"Ro=" +tds.getRo() +"Ом, "    ); // Выводим общее измеренное сопротивление.
           Serial.print((String)"S="  +tds.get_S() +"мСм/см, "); // Выводим измеренную удельную электропроводность жидкости.
           Serial.print((String)"EC=" +tds.getEC() +"мСм/см, "); // Выводим удельную электропроводность жидкости приведённую к опорной температуре.
           Serial.print((String)"TDS="+tds.getTDS()+"ppm\r\n" ); // Выводим количество растворённых твёрдых веществ в жидкости.
           delay(1000);                                          //
      }                                                          //
      

      Результат работы

      После прошивки контроллера, в COM-порт Arduino будет выводиться общее сопротивление медлу выводами щупа Ro, измеренная электропроводность жидкости S, приведенная электропроводность жидкости EC и количество растворённых твёрдых веществ в жидкости TDS.

      Элементы платы

      Датчик TDS/EC состоит из измерительного щупа и платы управления.

      TDS/EC Sensor Trema Flash I²C Annotation 1

      Щуп сенсора выполнен в пластиковом герметичном цилиндре с двумя электродами на конце. При погружении в измеряемый раствор или воду между электродами возникает сопротивление, которое фиксирует и обрабатывает плата управления.

      TDS/EC Sensor Trema Flash I²C Annotation 2

      Плата управления генерирует переменное напряжение, которое поступает на электроды щупа. При погружении щупа в жидкость, между его электродами возникает сопротивление, которое обратно пропорционально электропроводности жидкости. Далее сигнал усиливается операционным усилителем, считывается цифровой частью схемы, выпрямляется, сглаживается и через еще один операционный усилитель поступает на аналоговый выход датчика.

      TDS/EC Sensor Trema Flash I²C Annotation 3

      Модуль построен на базе микроконтроллера STM32F030F4 и двух операционных усилителях LMC7101 и LM358. На плате также распаяна кнопка калибровки, информационные светодиоды и контакты для подключения к контроллеру.

      Кнопка калибровки

      Кнопка «Калибровка» служит для выполнению аппаратной калибровки модуля. Все подробности по использованию кнопки читайте в разделе калибровка модуля.

      Информационные светодиоды

      Информационные светодиоды «1» и «2» служат для наглядности выполнения аппаратной и программной калибровки модуля. Все подробности читайте в разделе калибровка модуля.

      Trema-контакты

      TDS/EC-метр поддерживает два выходных интерфейса для подключения к контроллеру: аналоговый и цифровой I²C.

      Аналоговый интерфейс

      Контакт Функция Подключение
      S Выходной сигнал сенсора Подключите к пину ввода-вывода микроконтроллера с поддержкой АЦП.
      V Питание Подключите к питанию микроконтроллера.
      G Земля Подключите к земле микроконтроллера.

      Цифровой интерфейс I²C

      Контакт Функция Подключение
      SDA Линия данных шины I²C Подключите к пину SDA микроконтроллера.
      SCL Линия тактирования шины I²C Подключите к пину SCL микроконтроллера.
      V Питание Подключите к питанию микроконтроллера.
      G Земля Подключите к земле микроконтроллера.

      Формулы и определения

      Формулы

      • Vout ≈ (Vccm — 2Vm) / Kf
      • Ro = (R + Rd ) Xc / (R + Rd + Xc)
      • S = Ka * Vout ^ Kb / 1000
      • EC = S / ( 1 + Kt * (t — T))
      • TDS = EC × Kp × 1000

      Определения

      • Vccm — напряжение питания ОУ модуля 3,3 В.
      • Vm — напряжение на аналоговом выходе модуля.
      • Kf — коэффициент передачи ФВЧ+ФНЧ на втором ОУ. Коэффициент используется для получения Vout из Vm. Для измерений на частоте 2кГц (по умолчанию) Kf≈0,85.
      • Vout — напряжение на выходе первого ОУ. Можно вычислить из напряжения на выходе модуля Vm или запросить функцией getVout(), что даст более точное значение.
      • S — измеренная удельная электрическая проводимость в мСм/см. Вычисляется из электрической проводимости G (мСм) и постоянной датчика Kd (см-1). Измеренную удельную электропроводность S можно запросить функцией get_S().
      • EC — приведённая удельная электропроводность жидкости. Электрическая проводимость жидкости S сильно зависит от её текущей температуры t: чем выше температура жидкости, тем выше её электрическая проводимость и соответственно наоборот. По этому удельную электрическую проводимость S измеряют при любой температуре t, а затем результат приводят к опорной температуре T получая EC. Приведённую удельную электропроводность EC можно запросить функцией get_EC().
      • TDS — количество растворённых твёрдых веществ в ppm (мг/л воды). Это значение определяется умножением приведённой удельной электрической проводимости ЕС (мкСм/см) на коэффициент пересчёта Kp = 0,5 (по умолчанию). Количество растворённых твёрдых веществ TDS можно запросить функцией get_TDS().
      • t — текущая температура жидкости. Модуль определяет все параметры измеряя сопротивление жидкости, которое сильно зависит от её температуры. По этому модулю требуется указывать текущую температуру жидкости для получения корректных значений. Текущую температуру t нужно установить функцией set_t().
      • T — опорная температура жидкости, при которой произведение её измеренной удельной электропроводности и коэффициента пересчёта Kp равно концентрации растворённых твёрдых веществ в жидкости TDS. Опорную температуру T можно запросить функцией get_T().
      • Kt — температурный коэффициент жидкости, который показывает на сколько сильно электрическая проводимость жидкости зависит от её температуры. Температурный коэффициент жидкости Kt используется для приведения удельной электрической проводимости жидкости S измеренной при текущей температуре t к удельной электрической проводимости жидкости EC для опорной температуры T. Температурный коэффициент жидкости Kt можно запросить функцией getKt().
      • Kp — коэффициент пересчёта для преобразования приведённой удельной электрической проводимости жидкости EC в количество растворённых твёрдых веществ TDS. Коэффициент пересчёта Kp можно запросить функцией get_Kp().
      • Коэффициенты степенной функции Ka и Kb определяются модулем самостоятельно в процессе калибровки и автоматически сохраняются в его памяти. Калибровка является предпочтительным методом указания коэффициентов Ka и Kb.

      Библиотека для Arduino

      Для работы TDS/EC-метра с контроллерами Arduino мы разработали библиотеку iarduino_I2C_TDS. Программный модуль поддерживает аппаратную и программную реализацию I²C, подробности читайте в разделе расширенные возможности библиотек для Arduino на шине I²C.

      Библиотека поддерживает работу с датчиком только по шине I²C, с аналоговым сигналом программный модуль работать не будет.

      Установка

      Для старта скачайте и установите библиотеку iarduino_I2C_TDS. Для инсталляции рекомендуем использовать нашу инструкцию по установке библиотек для Arduino.

      Подключение

      • Назначение: подключение библиотеки.
      • Синтаксис: #include <iarduino_I2C_TDS.h>
      • Примечания:

        • Библиотека подключается в самом начале программы.
        • Подключение библиотеки обязательное действие, иначе функции работать не будут.
      • Примеры:
      // Подключаем библиотеку для работы с TDS/EC-модулем
      #include <iarduino_I2C_TDS.h>
      

      Конструктор

      • Назначение: создание объекта для работы с функциями библиотеки iarduino_I2C_TDS
      • Синтаксис: iarduino_I2C_TDS tds(uint8_t address)
      • Параметры:

        • address: адрес модуля на шине I²C. По умолчанию адрес модуля 0x09. При вызове без параметров — библиотека сама найдет модуль и определит его адрес.
      • Возвращаемое значение: нет
      • Примечания:

        • Конструктор вызывается в самом начале программы.
        • Вызов конструктор обязателен, иначе функции работать не будут.
      • Пример:

      Если адрес модуля известен:

      // Создаём объект tds для работы с функциями библиотеки iarduino_I2C_TDS
      // В параметре конструктора передаём адрес модуля
      iarduino_I2C_TDS tds(0x09);
      

      Если адрес модуля не известен:

      // Создаём объект tds для работы с функциями библиотеки iarduino_I2C_TDS
      // В параметре конструктора не передаём адрес модуля 
      iarduino_I2C_TDS tds;
      

      Функция begin()

      • Назначение: инициализация работы с модулем.
      • Синтаксис: bool begin()
      • Параметры: нет
      • Возвращаемое значение:

        • true: инициализация модуля прошла успешно.
        • false: инициализация модуля прошла не успешно.
      • Примечания: по результату инициализации можно определить наличие модуля на шине.
      • Пример:
      if (tds.begin()) {
        Serial.print("Модуль найден и инициирован!");
      } else {
        Serial.print("Инициализация модуля прошла не успешно");
      }
      

      Функция reset()

      • Назначение: перезагрузка модуля.
      • Синтаксис: bool reset()
      • Параметры: нет
      • Возвращаемое значение:

        • true: перезагрузка модуля прошла успешно.
        • false: перезагрузка модуля прошла не успешно.
      • Пример:
      if (tds.begin()) {
        Serial.print("Перезагрузка модуля прошла успешно.");
      } else {
        Serial.print("Перезагрузка модуля прошла не успешно.");
      }
      

      Функция changeAddress()

      • Назначение: смена адреса модуля на шине I²C.
      • Синтаксис: bool changeAddress(uint8_t newAddr)
      • Параметры:

        • newAddr: новый адрес модуля на шине I²C. Доступный диапазон адресов от 0x08 до 0x7E.
      • Возвращаемое значение:

        • true: адрес модуля изменён успешно.
        • false: адрес модуля изменён не успешно.
      • Примечания:

        • Адрес по умолчанию 0x09.
        • Адрес модуля сохраняется и после отключения питания.
        • Текущий адрес модуля можно запросить функцией getAddress().
      • Пример:
      if (tds.changeAddress(0x12)) {
        Serial.print("Адрес модуля изменён успешно.");
      } else {
        Serial.print("Адрес модуля изменён не успешно.");
      }
      

      Функция getAddress()

      • Назначение: запрос текущего адреса модуля на шине I²C.
      • Синтаксис: uint8_t getAddress()
      • Параметры: нет.
      • Возвращаемое значение: текущий адрес модуля от 0x08 до 0x7E.
      • Примечания: новый адрес модуля можно установить функцией changeAddress().
      • Пример:
      Serial.print("Адрес модуля на шине I²C: 0x");
      Serial.println(tds.getAddress(), HEX);
      

      Функция getVersion()

      • Назначение: запрос версии прошивки модуля.
      • Синтаксис: uint8_t getVersion()
      • Параметры: нет
      • Возвращаемое значение: номер версии прошивки от 0 до 255.
      • Пример:
      Serial.print("Версия прошивки модуля: ");
      Serial.println(tds.getVersion());
      

      Функция setPullI2C()

      • Назначение: управление внутрисхемной подтяжкой линий шины I²C.
      • Синтаксис: bool setPullI2C(bool f)
      • Параметры:

        • f: флаг состояния внутрисхемной подтяжки. Допустимые значения:

          • true: установить внутрисхемную подтяжку.
          • false: снять внутрисхемную подтяжку.

          При вызове без параметра, флаг по умолчанию — true.

      • Возвращаемое значение:

        • true: внутрисхемная подтяжка изменена успешно.
        • false: внутрисхемная подтяжка изменена не успешно.
      • Примечания:

        • Флаг установки внутрисхемной подтяжки сохраняется и после отключения питания.
        • Текущее состояния внутрисхемной подтяжки можно запросить функцией getPullI2C().
        • Внутрисхемная подтяжка линий шины I²C осуществляется до уровня 3,3 В. Однако датчик допускает устанавливать внешние подтягивающие резисторы и модули с подтяжкой до уровня 5 В.
      • Пример:
      if (tds.setPullI2C()) {
        Serial.print("Внутрисхемная подтяжка установлена.");
      }
      if (tds.setPullI2C(true)) {
        Serial.print("Внутрисхемная подтяжка установлена.");
      }
      if (tds.setPullI2C(false)) {
        Serial.print("Внутрисхемная подтяжка отключена.");
      }
      

      Функция getPullI2C()

      • Назначение: запрос состояния внутрисхемной подтяжки линий шины I²C.
      • Синтаксис: bool getPullI2C()
      • Параметры: нет.
      • Возвращаемое значение:

        • true: внутрисхемная подтяжка включена.
        • false: внутрисхемная подтяжка отключена.
      • Примечания: состояния внутрисхемной подтяжки можно установить функцией setPullI2C().
      • Пример:
      if (tds.getPullI2C()) {
        Serial.print("Внутрисхемная подтяжка включена.");
      } else {
        Serial.print("Внутрисхемная подтяжка отключена.");
      }
      

      Функция setFrequency()

      • Назначение: установка частоты переменного тока используемого для измерений.
      • Синтаксис: bool setFrequency(uint16_t frequency)
      • Параметры:
        • frequency: частота переменного тока от 50 до 5000 Гц.
      • Возвращаемое значение:

        • true: установка частоты прошла успешно.
        • false: установка частоты прошла не успешно.
      • Примечания:

        • Значение по умолчанию 2000 Гц.
        • Указанная частота переменного тока сохраняется и после отключения питания.
        • Текущую частоту переменного тока можно запросить функцией getFrequency().
        • Для модулей версии 6 и выше, частота автоматически определяется в процессе калибровки. Модуль подбирает частоту максимально согласованную с параметрами щупа, кабеля и входного каскада операционного усилителя.
      • Пример:
      // Указываем модулю проводить измерения током с частотой 100 Гц.
      tds.setFrequency(100);
      

      Функция getFrequency()

      • Назначение: запрос частоты переменного тока используемого для измерений.
      • Синтаксис: uint16_t getFrequency()
      • Параметры: нет.
      • Возвращаемое значение: частота переменного тока от 50 до 5000 Гц.
      • Примечания: новую частоту переменного тока можно установить функцией setFrequency().
      • Пример:
      Serial.print("Модуль использует переменный ток с частотой: ");
      Serial.print(tds.getFrequency());
      Serial.print(" Гц.");
      

      Функция setCalibration()

      • Назначение: программная калибровка модуля, т.е. без нажатия на кнопку «калибровка».
      • Синтаксис: bool setCalibration(uint8_t num, uint16_t tds)
      • Параметры:
        • num: номер стадии калибровки. Допустимые значения 1 или 2.
        • tds: концентрация эталонного раствора используемого для текущей стадии калибровки. Допустимые значения от 0 до 10000 ppm.
      • Возвращаемое значение:

        • true: программная калибровка указанной стадии прошла успешно.
        • false: программная калибровка указанной стадии прошла не успешно.
      • Примечания:

        • Концентрации эталонных растворов на первой и второй стадии калибровки должны быть разными.
        • Текущую стадию программной калибровки можно запросить функцией getCalibration.
        • Функция setCalibration выполняет программную калибровку. Модуль TDS/EC также поддерживает аппаратную калибровку с помощью функции setKnownTDS() и кнопки «Калибровка».
        • При успешном завершении калибровки изменятся значения Ka и Kb, а в модулях версии 6 и выше, будет определена новая частота переменного тока используемого для измерений. Изменённые значения можно прочитать функциями getKa, getKb и getFrequency.
      • Пример:
      // Выполняем первую стадию калибровки
      // Устанавливаем концентрацию первого эталонного раствора 750 ppm
      tds.setCalibration(1, 750);
      // Ждём 1 минуту
      delay(60000);
      // Выполняем вторую стадию калибровки
      // Устанавливаем концентрацию второго эталонного раствора 3000 ppm
      tds.setCalibration(2, 3000);
      

      Функция getCalibration()

      • Назначение: получение текущей стадии калибровки модуля.
      • Синтаксис: uint8_t getCalibration([& uint8_t])
      • Необязательный параметр: адрес переменной для получения дополнительной информации.
      • Возвращаемое значение: текущая стадия калибровки модуля.
        • 0 — калибровка не выполняется.
        • 1 — выполняется 1 стадия калибровки модуля.
        • 2 — выполняется 2 стадия калибровки модуля.
        • 3 — ошибка калибровки (только для модулей версии 6 и выше).
      • Примечания:
        • Функция отражает состояние как аппаратной, так и программной калибровки.
        • Аппаратная калибровка запускается нажатием кнопки на плате модуля.
        • Программную калибровку можно выполнить функцией setCalibration().
        • Для модулей версии 6 и выше, можно указать в качестве параметра адрес переменной, по которому будет отправляться дополнительная информация о калибровке.
          • 0 — нет дополнительной информации.
          • 1 — Выполняется поиск частоты (в начале 1 стадии калибровки).
          • 2 — Выполняется накопление данных электропроводности (на 1 и 2 стадии).
          • 3 — Модуль ожидает запуск 2 стадии калибровки (между 1 и 2 стадиями).
        • Слишком частые запросы к модулю в процессе калибровки могут ухудшить результат вычислений. Рекомендуется не отправлять запросы чаще 300…500мс.
      • Пример для модулей любой версии:
      Serial.print("Текущая стадия калибровки модуля: ");
      Serial.println(tds.getCalibration());
      
      • Пример для модулей любой версии:
      Serial.println("Ждём завершения 2 стадии калибровки...");
      while( tds.getCalibration() == 2 ){ delay(500); }
      Serial.println("2 стадия калибровки завершена.");
      
      • Пример для модулей версии 6 и выше:
      i = tds.getCalibration( &j );
      if( i==0 ){ Serial.println("КАЛИБРОВКА ВЫПОЛНЕНА УСПЕШНО!"     ); }
      if( i==1 ){ Serial.println("ВЫПОЛНЯЕТСЯ 1 СТАДИЯ КАЛИБРОВКИ..."); }
      if( i==2 ){ Serial.println("ВЫПОЛНЯЕТСЯ 2 СТАДИЯ КАЛИБРОВКИ..."); }
      if( i==3 ){ Serial.println("ОШИБКА КАЛИБРОВКИ!"                ); }
      if( j==0 ){ Serial.println("- Нет действий..."                 ); }
      if( j==1 ){ Serial.println("- Поиск частоты..."                ); }
      if( j==2 ){ Serial.println("- Накопление данных..."            ); }
      if( j==3 ){ Serial.println("- Ожидание 2 стадии..."            ); }
      

      Функция setKnownTDS()

      • Назначение: установка новых эталонных значений для аппаратной калибровки модуля с помощью кнопки «калибровка».
      • Синтаксис: bool setKnownTDS(uint8_t num, uint16_t tds)
      • Параметры:
        • num: номер стадии калибровки. Допустимые значения 1 или 2.
        • tds: концентрация эталонного раствора используемого для калибровки. Допустимые значения от 0 до 10000 ppm.
      • Возвращаемое значение:

        • true: запись эталонного значения для указанной стадии аппаратной калибровки прошла успешно.
        • false: запись эталонного значения для указанной стадии аппаратной калибровки прошла не успешно.
      • Примечания:

        • Значения по умолчанию: концентрация эталонного раствора для первой стадии — 500 ppm, для второй стадии — 1500 ppm.
        • Концентрации растворов на первой и второй стадии должны быть разными.
        • Указанная концентрация сохраняется и после отключения питания.
        • Текущие эталонные значения концентрации калибровочных растворов можно запросить функцией getKnownTDS().
        • Функция setKnownTDS() не выполняет калибровку модуля, а только записывает концентрации растворов для дальнейшей аппаратной калибровки с помощью кнопки «Калибровка». Модуль TDS/EC также поддерживает программную калибровку с помощью функции setCalibration() без кнопки «Калибровка».
      • Пример:
      // Для первой стадии аппаратной калибровки (кнопкой)
      // Устанавливаем концентрацию первого эталонного раствора 750 pmm
      tds.setKnownTDS(1, 750);
      // Для второй стадии аппаратной калибровки (кнопкой)
      // Устанавливаем концентрацию второго эталонного раствора 3000 pmm
      tds.setKnownTDS(2, 3000);
      

      Функция getKnownTDS()

      • Назначение: запрос концентрации раствора для аппаратной калибровки модуля с помощью кнопки «калибровка».
      • Синтаксис: uint16_t getKnownTDS(uint8_t num)
      • Параметры: нет.
        • num: стадия калибровки. Допустимое значение 1 или 2.
      • Возвращаемое значение: требуемая концентрация раствора от 0 до 10000 ppm.
      • Примечания: новые эталонные значения концентрации калибровочных растворов можно установить функцией setKnownTDS().
      • Пример:
      Serial.print("Для калибровки модуля кнопкой требуются растворы с концентрацией ");
      Serial.print(tds.getKnownTDS(1));
      Serial.print(" и " );
      Serial.print(tds.getKnownTDS(2));
      Serial.print(" ppm.");
      

      Функция getRo()

      • Назначение: запрос общего измеренного сопротивления Ro.
      • Синтаксис: uint32_t getRo()
      • Параметры: нет.
      • Возвращаемое значение: общее измеренное сопротивление Ro от 0 до 1000000 Ом.
      • Пример:
      Serial.print("Общее измеренное сопротивление: ");
      Serial.print(tds.getRo());
      Serial.print(" Ом.");
      

      Функция getVout()

      • Назначение: запрос напряжения на выходе первого операционного усилителя.
      • Синтаксис: float getVout()
      • Параметры: нет.
      • Возвращаемое значение: напряжение на выходе первого ОУ от 0.0 до 6.5535 В.
      • Пример:
      Serial.print("Напряжение на выходе ОУ: ");
      Serial.print(tds.getVout());
      

      Функция get_S()

      • Назначение: запрос удельной электропроводности жидкости.
      • Синтаксис: uint16_t get_S()
      • Параметры: нет.
      • Возвращаемое значение: удельная электропроводность жидкости от 0.0 до 65.535 мСм/см.
      • Примечания:

        • Функция имеет синтаксис get_S, а не get_σ для совместимости с таблицей ASCII.
        • Библиотеки версии ниже 1.3.0 выводили электропроводность в мкСм/см.
      • Пример:
      Serial.print("Измеренная удельная электропроводность жидкости: ");
      Serial.print(tds.get_S());
      Serial.print(" мСм/см.");
      

      Функция getEC()

      • Назначение: запрос удельной электропроводности жидкости приведённой к опорной температуре T.
      • Синтаксис: uint16_t getEC()
      • Параметры: нет.
      • Возвращаемое значение: удельная электропроводность жидкости приведённая к опорной температуре. Доступный диапазон от 0.0 до 65.535 мСм/см.
      • Примечания:
        • Приведённая удельная электропроводность EC это значение электропроводности S если бы оно было измерено при опорной температуре T °С, а не текущей температуре t °С.
        • Библиотеки версии ниже 1.3.0 выводили приведённую электропроводность в мкСм/см.
      • Пример:
      Serial.print("Приведённая удельная электропроводность жидкости: ");
      Serial.print(tds.getEC());
      Serial.print(" мСм/см.");
      

      Функция getTDS()

      • Назначение: запрос количества растворённых твёрдых веществ в жидкости.
      • Синтаксис: uint16_t getTDS()
      • Параметры: нет.
      • Возвращаемое значение: количество растворённых твёрдых веществ в жидкости от 0 до 65535 ppm (мг/л воды).
      • Пример:
      Serial.print("Концентрация раствора: ");
      Serial.print(tds.getTDS());
      Serial.print(" ppm");
      

      Функция set_t()

      • Назначение: установка текущей температуры жидкости.
      • Синтаксис: bool set_t(float val_t)
      • Параметры:
        • val_t: текущая температура жидкости от 0 до 63.75 °С.
      • Возвращаемое значение:

        • true: текущая температура модулю отправлена успешно.
        • false: текущая температура модулю отправлена не успешно.
      • Пример:
      // Устанавливаем модулю текущую температуру жидкости 23.5 °С
      tds.set_t(23.5f);
      

      Функция set_T();

      • Назначение: установка опорной температуры.
      • Синтаксис: bool set_T(float val_T);
      • Параметры:
        • val_T: опорная температура от 0 до 63.75 °С.
      • Возвращаемое значение:

        • true: применения новой опорной температуры прошло успешно.
        • false: применения новой опорной температуры прошло не успешно.
      • Примечания:

        • Значение по умолчанию 25 °С.
        • Обычно используют значения 20 или 25 °С.
        • Текущую опорную температуру можно запросить функцией get_T().
      • Пример:
      // Устанавливаем модулю новую опорную температуру 25.0 °С.
      tds.set_T(25.0f);
      

      Функция get_T();

      • Назначение: запрос опорной температуры.
      • Синтаксис: float get_T()
      • Параметры: нет.
      • Возвращаемое значение: опорная температура от 0 до 63.75 °С.
      • Примечания: новую опорную температуру можно установить функцией set_T().
      • Пример:
      Serial.print("Модуль использует опорную температуру: ");
      Serial.print(tds.get_T());
      Serial.print(" С" );
      

      Функция setKt()

      • Назначение: установка температурного коэффициента жидкости Kt.
      • Синтаксис: bool setKt(float val_Kt)
      • Параметры:
        • val_Kt: значение температурного коэффициента жидкости от 0 до 6.5535.
      • Возвращаемое значение:

        • true: применения нового температурного коэффициента прошло успешно.
        • false: применения нового температурного коэффициента прошло не успешно.
      • Примечания:
        • Значение по умолчанию 0.02.
        • Текущий температурный коэффициент жидкости можно запросить функцией getKt().
      • Пример:
      // Указываем модулю новый температурный коэффициент жидкости 0.1
      tds.setKt(0.1f);
      

      Функция getKt()

      • Назначение: запрос температурного коэффициента жидкости Kt.
      • Синтаксис: float getKt()
      • Параметры: нет.
      • Возвращаемое значение: температурный коэффициент от 0 до 6.5535.
      • Примечания: новый температурный коэффициент жидкости можно установить функцией setKt().
      • Пример:
      Serial.print("Модуль использует Kt: ");
      Serial.print(tds.getKt());
      

      Функция setKp()

      • Назначение: установка коэффициента пересчёта Kp.
      • Синтаксис: bool setKp(float val_Kp)
      • Параметры:
        • val_Kp: значение коэффициента пересчёта от 0.01 до 2.55.
      • Возвращаемое значение:

        • true: применения нового коэффициента пересчёта прошло успешно.
        • false: применения нового коэффициента пересчёта прошло не успешно.
      • Примечания:
        • Значение по умолчанию 0.5.
        • Обычно используют коэффициенты 0.5, 0.64 или 0.7.
        • Текущий коэффициент пересчёта можно запросить функцией getKp().
      • Пример:
      // Указываем модулю новый коэффициент пересчёта 0.7
      tds.setKp(0.7f);
      

      Функция getKp()

      • Назначение: запрос текущего коэффициента пересчёта Kp.
      • Синтаксис: float getKp().
      • Параметры: нет.
      • Возвращаемое значение: коэффициент пересчёта от 0.01 до 2.55.
      • Примечания: новый коэффициент пересчёта можно установить функцией setKp().
      • Пример:
      Serial.print("Модуль использует Kp: ");
      Serial.print(tds.getKp());
      

      Функция setKa()

      • Назначение: установка множителя степенной функции Ka.
      • Синтаксис: bool setKa(float val_Ka)
      • Параметры:
        • val_Ka: множитель степенной функции от 0.1 до 1677721.5.
      • Возвращаемое значение:

        • true: установка степенного множителя прошла успешно.
        • false: установка степенного множителя прошла не успешно.
      • Примечания:
        • Значение по умолчанию 1000.0.
        • Указанное значение сохраняется и после отключения питания.
        • Множитель степенной функции можно запросить функцией getKa().
        • Библиотеки версии ниже 1.3.0 принимали значение от 0 до 167’772,15.
      • Пример:
      // Указываем модулю новый множитель степенной функции 2100
      tds.setKa(2100.0f);
      

      Функция getKa()

      • Назначение: запрос множителя степенной функции Ka.
      • Синтаксис: float getKa()
      • Параметры: нет.
      • Возвращаемое значение: множитель степенной функции от 0.1 до 1677721.5.
      • Примечания:
        • Новый множитель степенной функции можно установить функцией setKa().
        • Библиотеки версии ниже 1.3.0 возвращали значение от 0 до 167’772,15.
      • Пример:
      Serial.print("Модуль использует Ka: ");
      Serial.print(tds.getKa());
      

      Функция setKb()

      • Назначение: установка степени степенной функции Kb.
      • Синтаксис: bool setKb(float val_Kb)
      • Параметры:
        • val_Kb: степень степенной функции от -0.01 до -65.535.
      • Возвращаемое значение:

        • true: установка новой степени прошла успешно.
        • false: установка новой степени прошла не успешно.
      • Примечания:
        • Значение по умолчанию -5.0.
        • Указанное значение сохраняется и после отключения питания.
        • Степень степенной функции можно запросить функцией getKb().
      • Пример:
      // Указываем модулю новую степень степенной функции -7.5
      tds.setKb(-7.5f);
      

      Функция getKb();

      • Назначение: запрос степени степенной функции.
      • Синтаксис: float getKb()
      • Параметры: нет.
      • Возвращаемое значение: степень степенной функции -0.01 до -65.535.
      • Примечания: новую степень степенной функции можно установить функцией setKb().
      • Пример:
      Serial.print("Модуль использует Kb: ");
      Serial.print(tds.getKb());
      

      Габаритный чертёж

      TDS/EC Sensor Trema Flash I²C Dimensions

      Характеристики

      • Модель: TDS/EC-метр для воды с щупом (Trema-модуль Flash-I²C)
      • Напряжение питания Vcc: 3,3–5 В
      • Потребляемый ток Icc: до 10 мА
      • Диапазон измерений TDS: 0–10’000 ppm
      • Диапазон измерений ЕС: 0–20,000 мСм/см
      • Точность показаний: ±5%
      • Калибровка: аппаратная (с кнопкой) и программная (без кнопки)
      • Аналоговый интерфейс:

        • Подключение: контакты S-V-G
        • Выходное напряжение: 0–Vcc В
      • I²C интерфейс:

        • Подключение: контакты I²C
        • I²C-адрес: 0x09 (по умолчанию)
        • Чип Flash-I²C: микроконтроллер STM32F030F4
      • Длина кабеля щупа: 0,6 м
      • Размеры платы: 30×30 мм
      • Размеры щупа: 63,2×13×13 мм

      Ссылки

      • TDS/EC-метр в магазине.
      • Руководство по использованию для Raspberry Pi.
      • Технический Datasheet для разработчиков.
      • Библиотека для Arduino.
      • Библиотека для Raspberry Pi.
      • Как установить библиотеки для Arduino.
      • Как установить библиотеки для Raspberry Pi.
      • Расширенные возможности библиотек для Arduino на шине I²C.
      • Общие особенности модулей линейки Flash-I²C.

      Понравилась статья? Поделить с друзьями:

      Это тоже интересно:

    1. Tds ec meter e 1 portable инструкция
    2. Teams microsoft инструкция как пользоваться
    3. Tc power 2x17 3 инструкция
    4. Tds 3 тдс метр инструкция
    5. Tc nt2 инструкция на русском

    6. Подписаться
      Уведомить о
      guest

      0 комментариев
      Старые
      Новые Популярные
      Межтекстовые Отзывы
      Посмотреть все комментарии