Управление климатом в грибнице.

nick73
Offline
Зарегистрирован: 02.09.2016

 DIYMan я заказал вот такой диспелей https://ru.aliexpress.com/item/2-8-inch-TFTLCD-matching-Arduino-UNO-mega-2560-self-produced-self-marketing-private-custom/32701797931.html?spm=2114.13010608.0.111.3DnJOe библиотеку на него прислал продавец. можно его использовать в схеме?

nick73
Offline
Зарегистрирован: 02.09.2016

DIYMan есть к Вам вопрос: в архиве у Вас лежит программа ардуино 1.6.7 ее я установил, но потом она обновилась до 1.7.8 . пробую проверить файл main выскакивает ошибка компиляции и входит такая ошибка 

Arduino: 1.7.8 (Windows 7), Плата"Arduino Mega or Mega 2560, ATmega2560 (Mega 2560)"

In file included from ModuleController.h:12:0,

                 from AbstractModule.cpp:2:
DS3231Support.h:4:18: fatal error: Wire.h: No such file or directory
 #include <Wire.h>
                  ^
compilation terminated.
Ошибка компиляции.
 
  Это сообщение будет содержать больше информации чем
  "Отображать вывод во время компиляции"
  включено в Файл > Настройки
 
 в инете читал что проблема с библиотекой Wire.h это может быть из-зи разных версий программы?
Gribovodov
Offline
Зарегистрирован: 29.04.2017

С датчиками влажности в грибнице пришлось повозиться. Есть особенность , споры со временем забивают сенсор. Забиваются даже промышленные от ОВЕН и РЕЛСИБ . Частые продувки вносят изменения в структуру чувствительного элемента и его приходиться калибровать. Мыть сенсоры производитель не рекомендует. Есть сенсоры со специальным покрытием чувствительного элемента, тоже фигня.

Остановился на варианте психрометрического  датчика. Использовал ds18b20 . Влажный и сухой термометр. Из кучи датчиков выбирал комплементарные пары. Использовал ПО от БЕНУКСА (умный дом на пк) . В процессе работы использовал тоже ПО. СУПЕР надёжный и достаточн точный датчик. https://cloud.mail.ru/public/3Wiw/yniVFSRJg

https://cloud.mail.ru/public/FREh/SzBuazPSV

https://cloud.mail.ru/public/AuVr/BCNjfZqiR

Собрал таких с два десятка , повторяемость 100%. 

Теперь надо подружить этот датчик с промышленными контроллерами , а они 1-Wire не понимают. Им от 0 до 10в подавай. Задача такая берём пару 12 битных датчиков ds18b20 .  Читаем с них температуру несколько раз, усредняем значение, делаем математику, и выводом результат на ЦАП . Далее ОУ и на выход. (индикаторы и сервис потом).  Одного измерения в 3-5 сек. достаточно. Температуру для расчётов брать с максимальной точностью.

Дайте совет как грамотно организовать программу.

Gribovodov
Offline
Зарегистрирован: 29.04.2017

Форум живой???

Есть кто?

Technolog
Offline
Зарегистрирован: 19.11.2014

Есть. Спрашивайте! В вашем предыдущем сообщении не было вопроса, никто и не ответил.

Gribovodov
Offline
Зарегистрирован: 29.04.2017

Как грамотно организовать программу?

trembo
trembo аватар
Онлайн
Зарегистрирован: 08.04.2011

Gribovodov пишет:

Форум живой???

Есть кто?

Я ещё живой!

Только мне одному постоянно читается    "в гробнице"  ????
Я уже пугаюсь, наверное возраст сказывается......

Technolog
Offline
Зарегистрирован: 19.11.2014

Если конечная цель программы только перевод из температур сухого влажного термометра в 0...10 V, то вы описали правильный путь преобразования, добавить нечего. Вот только непонятно зачем это преобразование, если можно тем же контроллером сделать и вывод на дисплей и управление относительной влажностью. Может это нужно?

Gribovodov
Offline
Зарегистрирован: 29.04.2017

Это только первый этап. Программа будет развиваться. А пока 0-10 в . Далее все идёт в промышленный ПИД регулятор. Если на все сразу замахнуться - не потяну. 

Конечная цель создание специализированного контроллера для грибоводческого комплекса с учётом специфики технологии.

Technolog
Offline
Зарегистрирован: 19.11.2014

Тогда преобразование температур по формуле во влажность и вывод, но не на ЦАП (лишняя деталь), а в ШИМ выхода контроллера, затем сглаживание резистивно ёмкостным фильтром RC-цепочка, лучше две, усиление-нормирование и на выход. Со схемами то надеюсь разбираетесь?

PS: гальваноразвязка нужна по сигналу 0...10 V или так сойдёт?

Gribovodov
Offline
Зарегистрирован: 29.04.2017

Со схемами проблем нет! Почему не ЦАП. ( могу лишь догадаться всего 256 градаций?) 

Gribovodov
Offline
Зарегистрирован: 29.04.2017

Настораживают библиотеки. Есть стереотип по отношению к ним. Что криво работают. Измерительный инструмент все таки. Был не удачный опыт с ними. Приходилось самому писать. (Не мог шаговый двигатель так как мне надо запустить.)

Technolog
Offline
Зарегистрирован: 19.11.2014

Какой предполагаемый бюджет преобразователя, такое и решение, планировать вам. А то что 256 градаций то это 50/250=0,2 процента в диапазоне влажностей 50-100%. Ниже 50-ти процентов в грибоводстве в принципе не нужно. Какой гриб выращиваете и сколько камер?

Gribovodov
Offline
Зарегистрирован: 29.04.2017

ООО вопросы в тему! Тоже занимаетесь?

5 камер на 10т. каждая. Гриб вешенка. Шиитаке еринги балуюсь. Вы правы , ниже 50% смысла нет. Да и 0,2% это круто. Погрешности в математике больше получится. Т.к . если делать точный расчёт то он достаточно сложный и учитывает дополнительные параметры. Которые мы принимаем как константы. Промышленные (серьёзные) датчики работают в середине диапазона в пределах 1,5-2,5 % погрешности и до 3,5% в начале и конце диапазона.  Так что 256 даже от 0 до 100% достаточно вполне.

Мой самопал в связке с ПК не уступает промышленным.

Просто я хотел убидится (уточнить) для чего Вы шим посоветовали.

Technolog
Offline
Зарегистрирован: 19.11.2014

Gribovodov пишет:

если делать точный расчёт то он достаточно сложный и учитывает дополнительные параметры. Которые мы принимаем как константы.

Грибами сейчас нет, приборами да, установка и наладка.

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

Gribovodov
Offline
Зарегистрирован: 29.04.2017

Не готов ответить на вопрос. Чуть позже. Но наверное ни чего нового не сообщу,  просто найду в нете. А лучше уточню у разработчика БЕНУКСа , чем я сейчас пользуюсь. Оно работает! И вполне точно.

Gribovodov
Offline
Зарегистрирован: 29.04.2017

Я ещё не прорабатывал этот этап. Читал статью в которой учитывается поправка на принудительный обдув мокрого. Попытаюсь её найти

https://www.google.ru/url?sa=t&source=web&rct=j&url=http://www.vbrspb.ru/files/20131211-143614_529808899.PDF&ved=2ahUKEwitz9n2n8bZAhUziaYKHVPFBrUQFjAKegQIARAB&usg=AOvVaw0Fu1YbO9jtfSYcPP6197oL

 

Technolog
Offline
Зарегистрирован: 19.11.2014

Ну, там всё понятно расписано. Вот только с поправкой на ветер (скорость обдува) не всё сказано. Откуда взят коэффициент А (первоисточник как его определии, физический смысл), ну и если скорость обдува "как получилось", то каким должен быть коэффициент А, как его определить для скорости обдува 1,3 м/с?

Потом, измерять ли p – общее давление парогазовой смеси, гПа или брать в формулу среднее его значение для местности установки датчика?

Gribovodov
Offline
Зарегистрирован: 29.04.2017

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

Technolog
Offline
Зарегистрирован: 19.11.2014

Что с алгоритмом неясно?

Gribovodov
Offline
Зарегистрирован: 29.04.2017

Пока все ясно. Контакт со спецами есть! Вопросы появится когда сяду за программирование. Для этого время надо найти. 

Gribovodov
Offline
Зарегистрирован: 29.04.2017

Нашёл. Таблица только частично нужна. От 0 до +30 .

Gribovodov
Offline
Зарегистрирован: 29.04.2017

Из таблицы берётся сначала значение vaterV на основе данных влажного термометра, потом значение vaterS на основе сухого термометра.
Номер строки - целая часть значения термометра плюс 41
Номер колонки - это десятичная часть значения термометра

Потом расчитывается влажность по формуле:
tmp=vaterV-0.0007947*(T_suh-T_vlag)*1000;
result=(tmp/vaterS)*100;

где:
T_suh - температура сухого
T_vlag - температура влажного
tmp - престо временная переменная
result - результат влажности

А вот и сама таблица:

GVater: array [0..81,0..9] of double = (
//0 0,1 0,2 0,3 ... 0,8 0,9
(0.189,0.187,0.185,0.183,0.181,0.180,0.177,0.176,0.174,0.172), // -40 град.C
(0.210,0.208,0.205,0.203,0.201,0.199,0.197,0.195,0.193,0.191),
(0.232,0.230,0.228,0.225,0.223,0.221,0.218,0.216,0.214,0.212),
(0.257,0.254,0.252,0.249,0.246,0.244,0.242,0.239,0.237,0.235),
(0.284,0.281,0.278,0.276,0.273,0.270,0.268,0.265,0.262,0.260),
(0.314,0.311,0.308,0.305,0.302,0.299,0.296,0.293,0.289,0.287),
(0.346,0.343,0.340,0.336,0.333,0.330,0.326,0.323,0.320,0.317),
(0.382,0.378,0.374,0.371,0.367,0.364,0.360,0.357,0.353,0.350),
(0.420,0.416,0.412,0.409,0.405,0.401,0.397,0.393,0.389,0.385),
(0.463,0.458,0.854,0.450,0.445,0.441,0.437,0.433,0.429,0.425),
(0.509,0.504,0.499,0.495,0.489,0.485,0.480,0.476,0.472,0.467),
(0.559,0.554,0.548,0.543,0.538,0.533,0.528,0.523,0.518,0.514),
(0.613,0.608,0.602,0.597,0.591,0.585,0.580,0.575,0.569,0.564),
(0.673,0.666,0.660,0.654,0.648,0.642,0.636,0.631,0.625,0.619),
(0.737,0.730,0.724,0.717,0.711,0.704,0.698,0.691,0.685,0.679),
(0.807,0.800,0.792,0.785,0.778,0.771,0.764,0.757,0.751,0.744),
(0.883,0.747,0.866,0.859,0.852,0.844,0.837,0.828,0.821,0.814),
(0.965,0.956,0.947,0.939,0.931,0.923,0.915,0.907,0.899,0.891),
(1.054,1.044,1.035,1.026,1.017,0.101,0.999,0.991,0.982,0.973),
(1.150,1.140,1.130,1.120,1.110,1.100,1.091,1.082,1.072,1.063),
(1.254,1.243,1.232,1.222,1.211,1.200,1.190,1.180,1.170,1.160),
(1.366,1.355,1.343,1.332,1.320,0.131,1.298,1.287,1.276,1.265),
(1.487,1.475,1.462,1.450,1.438,1.743,1.414,1.402,1.390,1.378),
(1.618,1.605,1.591,1.578,1.565,1.552,1.539,1.526,1.513,1.500),
(1.759,1.745,1.730,1.716,1.701,1.688,1.614,1.660,1.646,1.632),
(1.991,1.896,1.880,1.865,1.849,1.834,1.819,1.804,1.789,1.774),
(2.075,2.058,2.041,2.025,2.008,1.992,1.975,1.959,1.943,1.927),
(2.251,2.233,2.251,2.197,2.179,2.162,2.144,2.127,2.110,2.092),
(2.440,2.421,2.406,2.382,2.363,2.344,2.325,2.307,2.288,2.207),
(2.644,2.623,2.602,2.581,2.561,2.540,2.520,2.500,2.481,2.460),
(2.862,2.840,2.817,2.791,2.773,2.751,2.729,2.711,2.686,2.665),
(3.097,3.072,3.048,3.025,3.001,2.977,2.954,2.931,2.901,2.885),
(3.348,3.322,3.296,3.271,3.245,3.220,3.195,3.170,3.145,3.121),
(3.617,3.589,3.562,3.534,3.508,3.489,3.453,3.427,3.400,3.374),
(3.906,3.876,3.846,3.817,3.788,3.759,3.730,3.702,3.673,3.645),
(4.214,4.182,4.151,4.120,4.088,4.057,4.027,3.996,3.966,3.936),
(4.544,4.510,4.477,4.443,4.410,4.377,4.344,4.311,4.279,4.246),
(4.897,4.861,4.825,4.189,4.753,4.718,4.683,4.648,4.613,4.579),
(5.275,5.236,5.197,5.159,5.121,5.083,5.045,5.008,4.971,4.934),
(5.677,5.636,5.595,5.554,5.513,5.473,5.433,5.393,5.353,5.314),
(6.107,6.063,6.019,5.975,5.932,5.889,5.846,5.803,5.761,5.719),
(6.107,6.152,6.196,6.241,6.287,6.332,6.378,6.425,6.471,6.518), // 0 град.C
(6.565,6.613,6.601,6.709,6.757,6.806,6.855,6.904,6.954,7.004),
(7.054,7.104,7.155,7.208,2.258,7.310,7.362,7.415,7.468,7.521),
(7.574,7.628,7.682,7.737,7.792,7.847,7.903,7.959,8.015,8.071),
(8.128,8.186,8.244,8.302,8.360,8.419,8.478,8.537,8.597,8.658),
(8.718,8.779,8.841,8.902,8.964,9.027,9.09 ,9.153,9.217,9.281),
(9.345,9.410,9.475,9.541,9.607,9.674,9.741,9.808,9.875,9.944),
(10.012,10.081,10.150,10.220,10.290,10.361,10.432,10.503,10.575,10.648),
(10.720,10.794,10.867,10.941,11.016,11.091,11.166,11.242,11.319,11.395),
(11.472,11.550,11.628,11.707,11.768,11.866,11.946,12.026,12.107,12.189),
(12.771,12.353,12.436,12.518,12.604,12.688,12.773,12.858,12.944,13.031),
(13.118,13.205,13.293,13.382,13.471,13.561,13.650,13.741,13.832,13.924),
(14.015,14.108,14.202,14.295,14.390,14.485,14.580,14.676,14.772,14.869),
(14.967,15.065,15.164,15.264,15.363,15.464,15.565,15.661,15.769,15.872),
(15.975,16.079,16.189,16.289,16.395,16.501,16.608,16.716,16.814,16.933),
(17.042,17.152,17.623,17.374,17.438,17.599,17.712,17.826,17.940,18.055),
(18.171,18.282,18.405,18.522,18.641,18.760,18.880,19.000,19.121,19.243),
(19.365,19.488,19.612,19.737,19.862,19.988,20.144,20.242,20.370,20.498),
(20.628,20.758,20.888,21.020,21.153,21.286,21.419,21.554,21.689,21.825),
(21.962,22.099,22.238,22.377,22.516,22.657,22.798,22.940,23.023,23.226),
(23.371,23.516,23.662,23.809,23.956,24.105,24.254,24.404,24.554,24.706),
(24.858,25.012,25.166,25.320,25.476,25.632,25.790,25.948,26.107,26.267),
(26.428,26.590,26.752,26.915,27.080,27.245,27.410,27.578,27.815,27.914),
(28.083,28.253,28.425,28.597,28.771,28.945,29.120,29.296,29.472,29.650),
(29.829,30.009,30.189,30.371,30.553,30.737,30.921,31.106,31.293,31.480),
(31.668,31.858,32.048,32.239,32.431,32.625,32.818,33.014,33.210,33.408),
(33.606,33.805,34.056,34.207,34.406,34.612,34.817,34.229,35.437,35.641),
(35.646,35.856,36.066,36.279,36.429,36.706,36.921,37.137,37.355,37.573),
(37.793,38.014,38.236,38.459,38.683,38.908,39.135,39.362,39.595,39.821),
(40.052,40.284,40.518,40.475,40.988,41.225,41.463,41.702,41.943,42.184),
(42.427,42.671,42.917,43.163,43.411,43.660,43.911,44.162,44.415,44.669),
(44.924,45.181,45.439,45.698,45.958,46.220,46.483,46.747,47.013,47.280),
(47.548,47.817,48.088,48.360,48.634,48.909,49.185,49.463,49.772,50.022),
(50.303,50.587,50.871,51.157,51.444,51.733,52.023,52.314,52.607,52.901),
(53.196,53.494,53.792,54.092,51.394,54.697,55.000,55.036,55.614,55.927),
(56.233,56.545,56.868,57.173,57.489,57.807,58.126,58.447,58.769,59.093),
(59.418,59.745,60.074,60.404,60.736,61.067,61.404,61.740,62.078,62.418),
(62.758,63.102,63.446,63.792,64.140,64.489,64.840,65.193,65.547,65.903),
(66.260,66.620,66.981,67.343,67.708,68.074,68.441,68.811,69.182,69.555),
(69.930,70.036,70.684,71.064,71.446,71.829,72.215,72.602,72.990,73.381),
(73.773,74.168,74.562,74.961,75.361,75.763,76.152,76.571,76.978,77.387)); // 40 град.C

Technolog
Offline
Зарегистрирован: 19.11.2014

... как это использовать в контроллере?

Gribovodov
Offline
Зарегистрирован: 29.04.2017

Пока понятия не имею. Буду разбираться. Пока скорее всего возьму упрощенную формулу. Потом буду доводить до ума.