Автор Тема: Изготовление ЕС-метра с непрерывным измерением  (Прочитано 23639 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Онлайн siv237

  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2534
Решил задокументировать свой опыт по созданию ЕС-метра из ардуинки и куска проволоки.
Возможно кому-то покажется полезным:
Только зарегистрированные пользователи могут просматривать ссылки. Зарегистрируйтесь или Выполните вход

Только зарегистрированные пользователи могут просматривать ссылки. Зарегистрируйтесь или Выполните вход

Только зарегистрированные пользователи могут просматривать ссылки. Зарегистрируйтесь или Выполните вход
Только зарегистрированные пользователи могут просматривать ссылки. Зарегистрируйтесь или Выполните вход
Только зарегистрированные пользователи могут просматривать ссылки. Зарегистрируйтесь или Выполните вход

Оффлайн cpf

  • Ветеран
  • *****
  • Сообщений: 1289
  • Es mucho trabajo, no basta dinero
    • Email
Замечание,  предложение и вопрос:

1. ТермокомпЕнсация - пишется через "Е"

2. Изначально рассчитать 2-3 коэффициента для "популярных" растворов и дать возможность их выбора. Понятно, что будет погрешность, но КМК, она будет меньше, чем без ТК.

3. Насколько сложно сделать калибровку ТК по нескольким точкам? Т.е. "прикрутить" термометр, нагреть раствор до 40гр, и пока он остывает до 25гр (или ниже) - снять значения EC для нескольких точек и пересчитать для 25гр. Т.е. ввести режим "калибровка ТК" ?
ИМХО

Онлайн siv237

  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2534
Только зарегистрированные пользователи могут просматривать ссылки. Зарегистрируйтесь или Выполните вход
Замечание,  предложение и вопрос:

1. ТермокомпЕнсация - пишется через "Е"

2. Изначально рассчитать 2-3 коэффициента для "популярных" растворов и дать возможность их выбора. Понятно, что будет погрешность, но КМК, она будет меньше, чем без ТК.

3. Насколько сложно сделать калибровку ТК по нескольким точкам? Т.е. "прикрутить" термометр, нагреть раствор до 40гр, и пока он остывает до 25гр (или ниже) - снять значения EC для нескольких точек и пересчитать для 25гр. Т.е. ввести режим "калибровка ТК" ?
1. Чем хорош движок вики, так это тем, что можно все быстро поправить любому сочувствующему или не согласному :)
2. Не уверен, что это возможно и имеет смысл, но для более точного расчета вполне можно использовать справочные данные по зависимости электропроводности от температуры и все, бы хорошо и можно рассчитать реальный раствори и функцию компенсации, но еще надо не забывать, что есть еще коэффициенты температурной деформации которые уже относятся к электродам. Электроды в теплом растворе становятся толще и изгибаются по непредсказуемым углом, что тоже внесет свою роль.
В общем по практике, температура влияет не настолько сильно, что-бы заморачиваться.
3. Снимая постоянно статистику по температуре и электропроводности никаких сложностей нет и вполне можно это даже автоматизировать.
« Последнее редактирование: 24 Мая 2017, 09:44:31 от siv237 »
Только зарегистрированные пользователи могут просматривать ссылки. Зарегистрируйтесь или Выполните вход
Только зарегистрированные пользователи могут просматривать ссылки. Зарегистрируйтесь или Выполните вход
Только зарегистрированные пользователи могут просматривать ссылки. Зарегистрируйтесь или Выполните вход

Оффлайн Пресвятой_ДжимБим

  • Ветеран
  • *****
  • Сообщений: 826
#include <OneWire.h>
#include <DallasTemperature.h>

#define ONE_WIRE_BUS 10          // линия сигнала с темп.датчика
const int TempProbePossitive =8;//плюсовой провод от темп.датчика
const int TempProbeNegative=9; //минусовой провод от темп.датчика.

OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
 
float TemperatureCoef = 0.019;
float Temperature=10;
float ECt =0;
raw =0;

//Далее твои переменные, касаемые ec-сенсора.

void setup()
{
  //Сетапируй тут свой ес-сенсор.
  pinMode(TempProbeNegative , OUTPUT );
  digitalWrite(TempProbeNegative , LOW);
  pinMode(TempProbePossitive , OUTPUT );
  digitalWrite(TempProbePossitive , HIGH );
  delay(100);
  sensors.begin();
  delay(100);
}
void loop(){
 
sensors.requestTemperatures();
Temperature=sensors.getTempCByIndex(0);
// Далее снимаешь показания с ес-сенсора, и записываешь в переменную raw. Или как ты там вычисляешь?
ECt  =  raw/ (1+ TemperatureCoef*(Temperature-25.0));
}

Вот тебе температурная компенсация.
И да, не благодари. :D

Оффлайн Пресвятой_ДжимБим

  • Ветеран
  • *****
  • Сообщений: 826
Ds18B20 если что.

Онлайн siv237

  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2534
Только зарегистрированные пользователи могут просматривать ссылки. Зарегистрируйтесь или Выполните вход
Вот тебе температурная компенсация.
И да, не благодари. :D
Да вы батенька шутник :) Формула компенсации общеизвестна, проблема именно в коэффициенте.
В общем сперва прочтите написанное :)
Только зарегистрированные пользователи могут просматривать ссылки. Зарегистрируйтесь или Выполните вход
Только зарегистрированные пользователи могут просматривать ссылки. Зарегистрируйтесь или Выполните вход
Только зарегистрированные пользователи могут просматривать ссылки. Зарегистрируйтесь или Выполните вход

Оффлайн Пресвятой_ДжимБим

  • Ветеран
  • *****
  • Сообщений: 826
Ладно, не парься. Вечером с компа посмотрю.

Оффлайн Пресвятой_ДжимБим

  • Ветеран
  • *****
  • Сообщений: 826
Только зарегистрированные пользователи могут просматривать ссылки. Зарегистрируйтесь или Выполните вход
Только зарегистрированные пользователи могут просматривать ссылки. Зарегистрируйтесь или Выполните вход
Вот тебе температурная компенсация.
И да, не благодари. :D
Да вы батенька шутник :) Формула компенсации общеизвестна, проблема именно в коэффициенте.
В общем сперва прочтите написанное :)
Это вы батенька шутник. :D
У вас огромный диапазон температур от -50 до +50?))))
Голову не надо делать!) Или в голову))))
Для гидропоники я в коде указал необходимый коэффициент.
Сделал такой шикарный подарок, подставляй циферы, да пользуйся! Ан нет, нос воротят. Мол, нафига нам розы, нам дай в куче навоза поковыряться. ;D

Онлайн siv237

  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2534
Только зарегистрированные пользователи могут просматривать ссылки. Зарегистрируйтесь или Выполните вход
Только зарегистрированные пользователи могут просматривать ссылки. Зарегистрируйтесь или Выполните вход
Только зарегистрированные пользователи могут просматривать ссылки. Зарегистрируйтесь или Выполните вход
Вот тебе температурная компенсация.
И да, не благодари. :D
Да вы батенька шутник :) Формула компенсации общеизвестна, проблема именно в коэффициенте.
В общем сперва прочтите написанное :)
Это вы батенька шутник. :D
У вас огромный диапазон температур от -50 до +50?))))
Голову не надо делать!) Или в голову))))
Для гидропоники я в коде указал необходимый коэффициент.
Сделал такой шикарный подарок, подставляй циферы, да пользуйся! Ан нет, нос воротят. Мол, нафига нам розы, нам дай в куче навоза поковыряться. ;D
Да нет такого коэффициента, он только ваш личный, для вашего раствора, для ваших электродов.
Только зарегистрированные пользователи могут просматривать ссылки. Зарегистрируйтесь или Выполните вход
Только зарегистрированные пользователи могут просматривать ссылки. Зарегистрируйтесь или Выполните вход
Только зарегистрированные пользователи могут просматривать ссылки. Зарегистрируйтесь или Выполните вход

Оффлайн Cyclamech

  • Ветеран
  • *****
  • Сообщений: 4648
  • Советский цветовод
Интересно, если работоспособно…
А на непрерывное измерение pH посоветуете "забить" или тоже что "заколхозить" можно?

Я почитал Ваш код. Никогда не писал под что-то подобное, но есть моменты.
Я бы убрал из кода все "волшебные числа": 5000, 11, 10… Обозначил бы их константами или переменными с говорящими сами за себя именами и присвоил бы им значение в единственном месте - потом легко было бы править.
Я не понял Вашу методу расчёта среднего арифметического. Например, имеем 3 измерения: a, b, c. Каково среднее? (a+b+c)/3, т.е., по трети от каждого значения. Вы же предлагаете (a+b)/2, потом ((a+b)/2+c)/2. В Вашем случае мы не получим сумму третей, а будет сумма четвертей a и b плюс половина c. *???*
Я, конечно, предварительно перечитаю "Только зарегистрированные пользователи могут просматривать ссылки. Зарегистрируйтесь или Выполните вход", если вдруг решу заняться "ардуиной". *crazy*
И я теперь учу дневник
Царапин грифельного лета SQM кропкита,
Кремня Воды и воздуха язык,
С прослойкой тьмы, с прослойкой света свiтла

Оффлайн Пресвятой_ДжимБим

  • Ветеран
  • *****
  • Сообщений: 826
Только зарегистрированные пользователи могут просматривать ссылки. Зарегистрируйтесь или Выполните вход
Только зарегистрированные пользователи могут просматривать ссылки. Зарегистрируйтесь или Выполните вход
Только зарегистрированные пользователи могут просматривать ссылки. Зарегистрируйтесь или Выполните вход
Только зарегистрированные пользователи могут просматривать ссылки. Зарегистрируйтесь или Выполните вход
Вот тебе температурная компенсация.
И да, не благодари. :D
Да вы батенька шутник :) Формула компенсации общеизвестна, проблема именно в коэффициенте.
В общем сперва прочтите написанное :)
Это вы батенька шутник. :D
У вас огромный диапазон температур от -50 до +50?))))
Голову не надо делать!) Или в голову))))
Для гидропоники я в коде указал необходимый коэффициент.
Сделал такой шикарный подарок, подставляй циферы, да пользуйся! Ан нет, нос воротят. Мол, нафига нам розы, нам дай в куче навоза поковыряться. ;D
Да нет такого коэффициента, он только ваш личный, для вашего раствора, для ваших электродов.
Время нас рассудит)
Нет чтоб на практике проверить, мы готовы спорить до усери  :D

Оффлайн Пресвятой_ДжимБим

  • Ветеран
  • *****
  • Сообщений: 826
 Теоретики, блин. Из-за одного теоретика я как-то немерянно бабла потерял. Теперь теоретиков сразу увольняю взашей без объяснения причин. Ибо пустотрепство меня не устраивает. Ты сначала сделай, а потом трепись о своем изделии хоть до посинения, но не в ущерб фирме, и деньгам.

Онлайн Vad

  • Ветеран
  • *****
  • Сообщений: 6590
  • Мой аватар вырос.. на гидропонике :)
    • Метеостанция г.Армавира
    • Email
Только зарегистрированные пользователи могут просматривать ссылки. Зарегистрируйтесь или Выполните вход
Да нет такого коэффициента, он только ваш личный, для вашего раствора, для ваших электродов.
ух ты :D


PS
Вот с появлением вики-шмики.... и начался разнос грязи на обуви..
каждый пишет всякую ересь туда, а так как ресурс выглядит авторитетным, то "нигамматныи" воспринимают инфу за чистую монету :D

По такой схеме вся БАД и гомеопатия работает :D
Кучерявый дядя в белом халате, с подписью внизу "Профессор, член РАН, Ибраил Михаилович Эедельштам" рассказывает о пользе Мумия :D
Спасибо!

Только зарегистрированные пользователи могут просматривать ссылки. Зарегистрируйтесь или Выполните вход

Онлайн siv237

  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2534
Только зарегистрированные пользователи могут просматривать ссылки. Зарегистрируйтесь или Выполните вход
Только зарегистрированные пользователи могут просматривать ссылки. Зарегистрируйтесь или Выполните вход
Да нет такого коэффициента, он только ваш личный, для вашего раствора, для ваших электродов.
ух ты :D
При изменении температуры меняется и размер электродов, их форма и соответственно их площадь контакта и расстояние между друг другом. Или нет? :)
Только зарегистрированные пользователи могут просматривать ссылки. Зарегистрируйтесь или Выполните вход
Только зарегистрированные пользователи могут просматривать ссылки. Зарегистрируйтесь или Выполните вход
Только зарегистрированные пользователи могут просматривать ссылки. Зарегистрируйтесь или Выполните вход

Онлайн siv237

  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2534
Только зарегистрированные пользователи могут просматривать ссылки. Зарегистрируйтесь или Выполните вход
Интересно, если работоспособно…
А на непрерывное измерение pH посоветуете "забить" или тоже что "заколхозить" можно?

Я почитал Ваш код. Никогда не писал под что-то подобное, но есть моменты.
Я бы убрал из кода все "волшебные числа": 5000, 11, 10… Обозначил бы их константами или переменными с говорящими сами за себя именами и присвоил бы им значение в единственном месте - потом легко было бы править.
Я не понял Вашу методу расчёта среднего арифметического. Например, имеем 3 измерения: a, b, c. Каково среднее? (a+b+c)/3, т.е., по трети от каждого значения. Вы же предлагаете (a+b)/2, потом ((a+b)/2+c)/2. В Вашем случае мы не получим сумму третей, а будет сумма четвертей a и b плюс половина c. *???*
Я, конечно, предварительно перечитаю "Только зарегистрированные пользователи могут просматривать ссылки. Зарегистрируйтесь или Выполните вход", если вдруг решу заняться "ардуиной". *crazy*
Это не итоговый рабочий код, это я специально вынул из своего (у меня много что измеряет одна ардуина и влажность и температуру воздуха и растворов и несколько электродов).
Тут код именно больше как прототип, для понимания, как работает. Я думал добавить еще измерения на противофасе по неактивному измерителю через падение напряжения 1024-A0 и A1, но подумал нет смысла усложнять.

По pH уже почти месяц лежит шилд и электрод для ардуины, все никак руки не дойдут.

Только зарегистрированные пользователи могут просматривать ссылки. Зарегистрируйтесь или Выполните вход
Только зарегистрированные пользователи могут просматривать ссылки. Зарегистрируйтесь или Выполните вход
Только зарегистрированные пользователи могут просматривать ссылки. Зарегистрируйтесь или Выполните вход
Только зарегистрированные пользователи могут просматривать ссылки. Зарегистрируйтесь или Выполните вход