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

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

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

Статус темы:
Закрыта.
  1. АлкН1
    Регистрация:
    14.04.16
    Сообщения:
    468
    Благодарности:
    1.171

    АлкН1

    Живу здесь

    АлкН1

    Живу здесь

    Регистрация:
    14.04.16
    Сообщения:
    468
    Благодарности:
    1.171
    @DIYMan, на Меге та же nRF инициируется так:
    Init nRF...
    STATUS = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
    RX_ADDR_P0-1 = 0xf0f0f0f0e0 0xf0f0f0f0f0
    RX_ADDR_P2-5 = 0xe2 0xe3 0xe4 0xe5
    TX_ADDR = 0xf0f0f0f0e0
    RX_PW_P0-6 = 0x1e 0x1e 0x1e 0x1e 0x1e 0x1e
    EN_AA = 0x3f
    EN_RXADDR = 0x3e
    RF_CH = 0x13
    RF_SETUP = 0x47
    CONFIG = 0x0f
    DYNPD/FEATURE = 0x00 0x00
    Data Rate = 1MBPS
    Model = nRF24L01+
    CRC Length = 16 bits
    PA Power = PA_MAX
    READY, Thu 04.08.2016 - 13:29:36
    Controller state changed, send it...
    Controller state sent.
    Это тоже в норме?
     
  2. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    @Anatoly8853 - получил сегодня плату pH, начну потихоньку делать её поддержку в прошивке.
     
  3. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

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

    Судя по инициализации nRF на исполнительном модуле - у него труба с номером 1 нормально инициализирована, имеет тот же адрес, в который мега шлёт состояние - 0xF0F0F0F0E0LL. Труба номер 0 на исполнительном не инициализируется, поэтому там мусор.

    Так что судя по инициализации - nRF вроде поднимается нормально, и если сигналы не проходят - перебирайте каналы, пока на найдёте чистый, не забитый.
     
    Последнее редактирование: 04.08.16
  4. АлкН1
    Регистрация:
    14.04.16
    Сообщения:
    468
    Благодарности:
    1.171

    АлкН1

    Живу здесь

    АлкН1

    Живу здесь

    Регистрация:
    14.04.16
    Сообщения:
    468
    Благодарности:
    1.171
    @DIYMan, большое спасибо, буду щелкать каналы...:hndshk:
     
  5. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

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

    Электрод, который пришёл первым - показывает 6,99 - 7,02 где-то, не погружен никуда, т. е. типа в эталонной жидкости. Как сделаю в конфигураторе наглядное отображение - тогда уже попробую помакать его в разные субстанции :)]:aga:

    Сделал поддержку фактора калибровки (в сотых долях), настройки интерваламежду опросом датчика, интервал между семплированиями. Наружу вынесу только фактор калибровки, ибо остальные вещи - не так критичны и могут быть жёстко прошиты в прошивке.
     
  6. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

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

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

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

    При таком раскладе, безусловно, остаётся выбор - либо несколько датчиков pH, либо один, причём неважно, где он будет висеть - пришпиленный к самой меге, или - вынесенный на универсальный модуль (в прошивке можно настроить, чтобы в самой меге не было датчика). Но, подчеркну ещё раз - блок контроля pH будет всего один, работать он будет через PCF8574, т. е. железную часть можно будет подключить либо к простой I2C, либо, сделав простенькую платку - вытащить по I2C подальше, т. к. на разрабатываемой сейчас материнской плате есть микросхема удлинителя I2C. Надеюсь, описал понятно.

    Что далее: собственно блок контроля pH, т. е. анализ показаний, настройки времени подачи реагентов, времени перемешивания и т. п. Тут надо сильно подумать, прежде чем браться - чтобы не впороть косого сходу. Скорее всего даже, что поддержку показаний pH я быстрее внедрю в универсальный модуль.
     
  7. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

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

    DIYMan

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

    DIYMan

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

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

    Сделал то же самое на модуле. Смотрю, при поправочном коэффициенте 0 - значение pH, получаемое с модуля - 8,2, хотя должно быть примерно 5,7 с таким поправочным коэффициентом. Коэффициент для модуля, поскольку он только беззнаковый, настраивается хитро - 127 - это 0, всё, что меньше - это отрицательная поправка, что больше - положительная поправка.

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

    Делаю вот такие глаза :ogo:, лезу в код модуля, принудительно перед отправкой пишу в два байта данных числа 1 и 2, т. е. на меге должно показаться 1,02 pH. Смотрю в конфигуратор - показания 1,02 pH. Делаю вот такие глаза :ogo:, ничего не понимаю, вывожу в монитор порта модуля результаты замеров с датчика непосредственно перед отправкой - в порт выводит не то, что получает мега. Смотрю на часы - время три часа ночи. Делаю вот такие глаза :nono:, иду спать.

    В общем, чу-де-са. Как такое может быть - пока так и не понял, ещё и порты USB выгорели всё-таки, приходится постоянно перетыкать шнурок туда/сюда для перезакачки - неудобно писец.

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

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Это реально были чудеса - сегодня с утра всё заработало, как надо. Видимо, сглючила IDE, у неё такое бывает - вроде кажется, что качает свежую прошивку, а на самом деле - старая закачивается. Помогла, как обычно, перезагрузка компа.

    На гитхабе обновил всё: и конфигуратор, и все прошивки: поправил инициализацию nRF для модулей - если nRF не взлетит, модуль должен продолжать работать штатно, без зависаний и перезагрузов. Для модуля с датчиками ввёл поддержку опроса pH. В конфигураторе - в окошке регистрации модулей изменения и фикс ошибок.

    Обнов хватает ;)
     
  10. Anatoly8853
    Регистрация:
    21.07.13
    Сообщения:
    94
    Благодарности:
    45

    Anatoly8853

    Живу здесь

    Anatoly8853

    Живу здесь

    Регистрация:
    21.07.13
    Сообщения:
    94
    Благодарности:
    45
    Адрес:
    Пятигорск
    А последнюю схему в Splan можно скинуть?
    И мне кажется там как минимум не хватает Бузера.
     
  11. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Последняя схема в sPlan лежит на гитхабе, среди прочих файлов.
    А баззер зачем?
     
  12. HANTER333
    Регистрация:
    21.12.15
    Сообщения:
    1.617
    Благодарности:
    1.156

    HANTER333

    Живу здесь

    HANTER333

    Живу здесь

    Регистрация:
    21.12.15
    Сообщения:
    1.617
    Благодарности:
    1.156
    Чтобы пищал:aga: Дмитрий свяжитесь со мной, пара вопросов есть
     
  13. Anatoly8853
    Регистрация:
    21.07.13
    Сообщения:
    94
    Благодарности:
    45

    Anatoly8853

    Живу здесь

    Anatoly8853

    Живу здесь

    Регистрация:
    21.07.13
    Сообщения:
    94
    Благодарности:
    45
    Адрес:
    Пятигорск
    Точно:hello: Аларм все когда то будет?
    А схему я имел в виду блочную.
     
  14. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

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

    Вас что-то конкретное интересует? Как подключить ту или иную железку? Вы спрашивайте, я скажу, есть ли это на схеме гитхабовской. Если нет - дорисую.
     
  15. Anatoly8853
    Регистрация:
    21.07.13
    Сообщения:
    94
    Благодарности:
    45

    Anatoly8853

    Живу здесь

    Anatoly8853

    Живу здесь

    Регистрация:
    21.07.13
    Сообщения:
    94
    Благодарности:
    45
    Адрес:
    Пятигорск
    Ну если бессмыслена тогда ой, обратил внимание ша шину 1-Wire в схеме на на гитхабе на 28 ноге сидит и все а на принципиальной не только на 28 вот и стало интересно какие еще будут изменения и дополнения. А с объемом памяти совсем туго? Еще редекс не влезет.
     
Статус темы:
Закрыта.