1 2 3 4 5 6 7 8 9 10 10/10 10,00оценок: 8

Arduino Mega. Контроллер теплицы. Хроники - 2

Тема в разделе "Теплицы и парники", создана пользователем DIYMan, 06.06.16.

Статус темы:
Закрыта.
  1. Anatoly8853
    Регистрация:
    21.07.13
    Сообщения:
    94
    Благодарности:
    45

    Anatoly8853

    Живу здесь

    Anatoly8853

    Живу здесь

    Регистрация:
    21.07.13
    Сообщения:
    94
    Благодарности:
    45
    Адрес:
    Пятигорск
    DSC01100.JPG
    Так я и имел в виду программные кнопки через конфигуратор и вебморду.
     
  2. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Будут ;) Я пока взял небольшую паузу, на обдумывание всего добра, думаю, на днях приступлю к реализации контроля pH и настройкам. Надо сначала всё обозреть с разных сторон, чтобы косого не впороть.
     
  3. АлкН1
    Регистрация:
    14.04.16
    Сообщения:
    468
    Благодарности:
    1.171

    АлкН1

    Живу здесь

    АлкН1

    Живу здесь

    Регистрация:
    14.04.16
    Сообщения:
    468
    Благодарности:
    1.171
    а на последней прошивке DS18B20 на nRF универсале у Вас работают?
     
  4. АлкН1
    Регистрация:
    14.04.16
    Сообщения:
    468
    Благодарности:
    1.171

    АлкН1

    Живу здесь

    АлкН1

    Живу здесь

    Регистрация:
    14.04.16
    Сообщения:
    468
    Благодарности:
    1.171
    @DIYMan, скажите, а в конфигураторе сейчас можно увидеть (если да, то в каком месте?), какие универсальные модули зарегистрированы (и подключены) к Меге? И как: ВанВаря, nRF, RS-485?
     
  5. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Работают, смотрите в настройках скетча при компиляции, там есть примеры, как указать эти датчики.
     
  6. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Такой информации нигде нет, т. к. универсальный модуль с датчиками - это просто новые датчики в системе, и всё. Универсальный исполнительный модуль - он вообще никак себя не проявляет при работе, т. к. только получает информацию от меги.

    Зачем такой интерес?
     
  7. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Обновил прошивку меги, вебморду, конфигуратор - добавил настройку калибровки датчиков pH - теперь при рассчёте актуального значения pH могут приниматься во внимание показания с калибровочных растворов (4 pH, 7 pH, 10 pH), плюс есть корректировка по температуре в зависимости от температуры, при которой снимались показания с калибровочных растворов и температуры с датчика температуры в растворе с pH.

    Что важно: датчик температуры - это датчик в модуле температур (тот, который заодно управляет фрамугами, так уж исторически сложилось). Следовательно, если хочется добавить такой датчик в мегу - это однозначно будет DS18B20, что, в общем-то, правильно - они есть во влагозащищённом исполнении, как раз для погружения в воду. Если же хочется привязать корректировку показаний pH к датчику с универсального модуля - то просто регистрируем такой модуль в системе, в модуле температур появится новый датчик, его индекс и берём как привязку, всё просто.

    Что пока мне неясно: у меня нет калибровочных растворов, это раз, поэтому - тестировал на уксусе и соде. Два - вытекает из "раз": путём тестирования выяснилось, что плата для pH-датчика не выдаёт отрицательных значений вольтажа, т. е. с биполярного напряжения приводит всё в нужный вид, т. е. от 0В и до скольки там сможет. Т. е. показания с платы при разных значениях pH вроде как должны быть однозначно беззнаковыми числами. Соответственно, настройки калибровки сделал тоже беззнаковыми, по трём растворам, как писал в первом абзаце.

    В общем, надо пробовать. @Anatoly8853, ваш ход, что называется ;) Если всё будет нормально на данной итерации - то останется сделать управление растворами корректировки pH, тоже с нюансами работёнка :)

    З. Ы. Да, самое важное забыл: если хотя бы одна настройка калибровки невалидна (т.е. 0 как милливольты показаний с растворов 4 pH, 7 pH, 10 pH, или -1 как индекс датчика температуры) - то никакие вычисления pH проводится не будут, и в показания с датчика попадут снятые с него данные, конвертированные в pH без учёта всей этой халабуды :)]:aga:

    З. З. Ы. Где брать милливольты? В показания pHв конфигураторе - добавил, в вебморду - тоже добавил. То есть, при настройке - опустили датчик в эталонный раствор, посмотрели милливольты, забили в соответствующее поле, и т. д.
     
    Последнее редактирование: 15.08.16
  8. АлкН1
    Регистрация:
    14.04.16
    Сообщения:
    468
    Благодарности:
    1.171

    АлкН1

    Живу здесь

    АлкН1

    Живу здесь

    Регистрация:
    14.04.16
    Сообщения:
    468
    Благодарности:
    1.171
    Высевается такая вот петрушка:
    1) перепрошиваю Мегу
    2) разархивирую по-новой всю папку GreenhouseProject-master
    3) запускаю GreenHouseConfig. exe и вижу:
    upload_2016-8-15_9-56-32.png
    4) подключаю на регистрацию по ВанВаре UniversalSensorsModule и вижу:
    upload_2016-8-15_9-58-5.png

    ЗЫ. UniversalSensorsModule по-новой не перешивал.
    Так и должно быть?
    ЗЫЫ. к Меге подключен один DS18B20, к универсалу - 2. Мега универсал даже по ВанВаре не видит. на тестовом скетче Уна видит оба DS18B20...:faq::faq::faq:
     
  9. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    1. Попробуйте таки перешить скетч для универсального модуля с датчиками;
    2. На какой плате работает прошивка модуля?
    3. Судя по скрину - общение по 1-Wire при регистрации модуля идёт штатно;
    4. В настройках прошивки модуля правильная привязка пинов, на которых висят датчики?
    5. Что за "на тестовом скетче Уна видит" тестовый скетч?
    6. Можно для чистоты эксперимента попробовать на всех протоколах - по nRF и RS-485, до кучи. На каком-то должно увидеть :) Хотя, конечно, странно всё - у меня сейчас через nRF всё работает, к 1-Wire давно не тыкал, но там код и не менялся давно уже.
     
  10. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    @АлкН1, выткнул сейчас nRF, подоткнул к шине 1-Wire модуль с датчиками - всё работает штатно. Конечно, с 1-Wire я ещё буду заниматься, как анализатор придёт - тайминги причёсывать и т. п., но - работает уже сейчас на 16 мГц уверенно вполне. Да и у вас - работает, судя по регистрации. Попробуйте разобраться - может, в настройках меги при компиляции пин какой попутан, define какой закомментирован - надо рыть ;)
     
  11. АлкН1
    Регистрация:
    14.04.16
    Сообщения:
    468
    Благодарности:
    1.171

    АлкН1

    Живу здесь

    АлкН1

    Живу здесь

    Регистрация:
    14.04.16
    Сообщения:
    468
    Благодарности:
    1.171
    попробую, но напрягает то, что "чистая" (перешитая) Мега с "чистым" GreenhouseProject-master видит ТРИ температурных датчика :faq: и утверждает, что универсал уже ЗАРЕГИСТРИРОВАН :faq:. Кстати, данная Уна напервой шилась как UniversalExecutionModule и на нем отлично по nRF отрабатывает полив на 2 канала. :)] Может, проект кроме папки GreenhouseProject-master что-то пишет и на комп, а потом оттуда тянет?
    Arduino Uno R3 CH340
    const SensorSettings Sensors[3] = {
    {mstDS18B20,A0},
    {mstDS18B20,A1},
    {mstDS18B20,A2}, но "в железе" висят на А1, А0.
    А2 - пустой.
    - стандартный Multiple из примеров библиотеки Dallas
    - RS-485 нет железки, на остальном - как фанера...:(
    -само собой, надо рыть... кстати, на самой Меге сколько пинов надо определять под Далласы, или для снятия данных с универсала достаточно стандартной Меговской прошивки?
     
  12. Veligor
    Регистрация:
    09.06.13
    Сообщения:
    58
    Благодарности:
    26

    Veligor

    Живу здесь

    Veligor

    Живу здесь

    Регистрация:
    09.06.13
    Сообщения:
    58
    Благодарности:
    26
    Адрес:
    Рязань
    Поднял сервер apache+php+sqlite подключил w5100 шилд пингуется, при открытии вебморды весело помигивает rx– tx и далее только rx, но контроллер все равно в оффлайне.

    Где нужно копать?
     
  13. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Вывод о том, что универсал зарегистрирован, делается на сохранённом в универсале ID контроллера. По умолчанию он в меге - номер 1, и в универсале, соответственно, уже прописан. Так что если вы закачаете прошивку на чистую мегу - она будет утверждать, что универсал в ней зарегистрирован, совершенно правильно. Единственное "но" - она не может видеть три температурных датчика, т. к. данные о кол-ве зарегистрированных универсальных датчиков хранятся в EEPROM. Так что, скорее всего, мега не совсем чистая, и в нужной ячейке EEPROM у неё не 0xFF.
    На самой меге - сколько хотите, столько и выделяйте, пины датчиков меги не связаны с датчиками универсальных модулей.
    У вас кроме DS18B20 есть какие датчики другие, например, BH1750 или Si7021? Попробуйте их повесить в прошивку и проверить - приходят ли данные. У меня сейчас просто DS18B20 не подключён к универсальному модулю, т. к. там висят упомянутые два и датчик pH, так что все слоты забиты. Но естественно, я тестировал с DS18B20 в своё время. Вполне возможно, где-то со временем пробился косяк, ещё раз пересмотрю, попробую подсоединить далласовский и отпишусь.
     
  14. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Адрес контроллера в вебморде какой указали? Если по DHCP не получилось адрес получить, то IP будет 192.168.0.177. Если роутер выдаёт адреса с DHCP - то смотрите, какой адрес он выдал. Если уверены, что адрес верный - попробуйте на этот адрес законнектиться терминальной программой (типа telnet, а лучше всего puTTY) на порт 1975 и отправить какую-нибудь команду, например CTGET=STAT|DATETIME - и посмотрите, что будет, придёт ли ответ. Посыл команды должен заканчиваться переводом строки (\r\n).
     
  15. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    @АлкН1, проверяйте контакты - выткнул все датчики, кроме pH, с универсального модуля, подключил к A2 датчик DS18B20 - сначала долго не вкуривал, почему то нет показаний, то - температура 85 градусов. Загрузил тестовый скетч (в поставке библиотеки OneWire), добавив в него проверку CRC (там, кстати, её не было почему-то) - и всё встало на свои места - контрольная сумма не сходится.

    Перетыкнул клеммную колодку в другое место макетки - и всё стало показывать нормально.

    Отсюда вывод: макетки - зло :)

    З. Ы. Убил два часа своей жизни :)
     
Статус темы:
Закрыта.