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

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

Тема в разделе "Теплицы и парники", создана пользователем Анкор Плюс, 19.05.18.

Статус темы:
Закрыта.
  1. Old-Admiral
    Регистрация:
    30.03.16
    Сообщения:
    191
    Благодарности:
    153

    Old-Admiral

    Живу здесь

    Old-Admiral

    Живу здесь

    Регистрация:
    30.03.16
    Сообщения:
    191
    Благодарности:
    153
    Привет, Дима!
    Спасибо, что взялся за весьма нужную тему.
    КМК, удобнее для восприятия будет отображение настроек в отдельных вкладках: температура, полив, досветка, Wi-Fi, GSM, дисплей и e. t. c. По аналогии с конфигуратором.
     
  2. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Дык так и делаю, по вкладкам всё рассовано. Просто вкладок и настроек - уже валОм ;)
     
  3. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Часть настроек уже экспортируется. Если бы не хитрые настройки датчиков, для которых в софте придётся писать редакторы, то продвинулся бы дальше. Хотя и так уже - движуха проделана мощная, пусть и процентов на 30 всего. Вот как выглядит автосгенерённый файл сейчас:
    Код:
    #pragma once
    //--------------------------------------------------------------------------------------------------------------------------------
    #if (TARGET_BOARD != MEGA_BOARD)
        #error "Target board MUST BE MEGA_BOARD for this configuration!"
    #endif
    //--------------------------------------------------------------------------------------------------------------------------------
    #define I2C_SPEED 400000UL
    //#define MEASURE_TEMPERATURES_IN_FAHRENHEIT
    #define USE_DS3231_REALTIME_CLOCK
    #define DS3231_WIRE_NUMBER 0
    //#define USE_INTERNAL_CLOCK
    #define INTERNAL_CLOCK_OSC XTAL
    //--------------------------------------------------------------------------------------------------------------------------------
    // настройки модулей
    //--------------------------------------------------------------------------------------------------------------------------------
    #define USE_SCENE_MODULE
    #define USE_PIN_MODULE
    #define USE_MCP_MODULE
    #define USE_TEMP_SENSORS
    //#define USE_WINDOWS_SHIFT_REGISTER
    #define USE_STAT_MODULE
    #define USE_SMS_MODULE
    #define USE_WATERING_MODULE
    #define USE_LUMINOSITY_MODULE
    #define USE_HUMIDITY_MODULE
    #define USE_SOIL_MOISTURE_MODULE
    //#define USE_PH_MODULE
    //#define USE_LOG_MODULE
    //#define USE_DELTA_MODULE
    //#define USE_WATERFLOW_MODULE
    //#define USE_COMPOSITE_COMMANDS_MODULE
    //#define USE_RESERVATION_MODULE
    //#define USE_TIMER_MODULE
    //#define USE_IOT_MODULE
    #define USE_ALARM_DISPATCHER
    #define USE_WIFI_REBOOT_PIN
    #define USE_GSM_REBOOT_PIN
    //#define USE_NRF_REBOOT_PIN
    //#define USE_LORA_REBOOT_PIN
    //#define USE_W5100_REBOOT_PIN
    #define USE_EXTERNAL_WATCHDOG
    #define USE_WIFI_MODULE_AS_IOT_GATE
    #define USE_WIFI_MODULE_AS_HTTP_PROVIDER
    #define USE_WIFI_MODULE_AS_MQTT_CLIENT
    #define MQTT_REPORT_AS_JSON
    //#define USE_GSM_MODULE_AS_IOT_GATE
    //#define USE_GSM_MODULE_AS_HTTP_PROVIDER
    #define USE_UNIVERSAL_MODULES
    //#define USE_REMOTE_DISPLAY_MODULE
    #define USE_RS485_EXTERNAL_CONTROL_MODULE
    #define USE_UNI_EXECUTION_MODULE
    #define USE_UNI_REGISTRATION_LINE
    #define USE_RS485_GATE
    //#define USE_NRF_GATE
    //#define USE_LORA_GATE
    #define USE_PUMP_RELAY
    //#define USE_SECOND_PUMP
    #define USE_HTTP_MODULE
    //--------------------------------------------------------------------------------------------------------------------------------
    // расширители портов
    //--------------------------------------------------------------------------------------------------------------------------------
    //#define USE_MCP23S17_EXTENDER
    //#define USE_MCP23017_EXTENDER
    //--------------------------------------------------------------------------------------------------------------------------------
    // шлюзы (ИСПОЛЬЗОВАТЬ ВМЕСТЕ НЕ ДОПУСКАЕТСЯ, прошивка не скомпилируется!)
    //--------------------------------------------------------------------------------------------------------------------------------
    #define USE_WIFI_MODULE
    //#define USE_W5100_MODULE
    //--------------------------------------------------------------------------------------------------------------------------------
    // экраны (ИСПОЛЬЗОВАТЬ ВМЕСТЕ НЕ ДОПУСКАЕТСЯ, прошивка не скомпилируется!)
    //--------------------------------------------------------------------------------------------------------------------------------
    #define USE_LCD_MODULE
    //#define USE_NEXTION_MODULE
    //#define USE_TFT_MODULE
    //--------------------------------------------------------------------------------------------------------------------------------
    // информационные диоды
    //--------------------------------------------------------------------------------------------------------------------------------
    #define USE_READY_DIODE
    #define BLINK_READY_DIODE
    #define USE_WINDOWS_MANUAL_MODE_DIODE
    #define USE_WATERING_MANUAL_MODE_DIODE
    #define USE_LIGHT_MANUAL_MODE_DIODE
    //--------------------------------------------------------------------------------------------------------------------------------
    // обратная связь
    //--------------------------------------------------------------------------------------------------------------------------------
    //#define USE_FEEDBACK_MANAGER
    #define FEEDBACK_MANAGER_WAIT_TIME 15000
    #define FEEDBACK_MANAGER_UPDATE_INTERVAL 5000
    #define FEEDBACK_MANAGER_POSITION_HISTERESIS 500
    //--------------------------------------------------------------------------------------------------------------------------------
    // настройки MCP23S17
    //--------------------------------------------------------------------------------------------------------------------------------
    #define MCP23S17_CS_PIN 0
    #define COUNT_OF_MCP23S17_EXTENDERS 0
    #define MCP23S17_ADDRESSES 0
    //--------------------------------------------------------------------------------------------------------------------------------
    // настройки MCP23017
    //--------------------------------------------------------------------------------------------------------------------------------
    #define COUNT_OF_MCP23017_EXTENDERS 0
    #define MCP23017_ADDRESSES 0
    //--------------------------------------------------------------------------------------------------------------------------------
    // настройки Watchdog
    //--------------------------------------------------------------------------------------------------------------------------------
    #define WATCHDOG_REBOOT_PIN 0
    #define WATCHDOG_NORMAL_LEVEL  LOW
    #define WATCHDOG_TRIGGERED_LEVEL  HIGH
    #define WATCHDOG_WORK_INTERVAL 5000
    #define WATCHDOG_PULSE_DURATION 200
    //--------------------------------------------------------------------------------------------------------------------------------
    // настройки выносных модулей
    //--------------------------------------------------------------------------------------------------------------------------------
    #define UNI_REGISTRATION_PIN 0
    #define UNI_MODULE_UPDATE_INTERVAL 2000
    #define UNI_WIRED_MODULES_COUNT 0
    #define UNI_WIRED_MODULES 0
    //--------------------------------------------------------------------------------------------------------------------------------
    // настройки RS-485
    //--------------------------------------------------------------------------------------------------------------------------------
    #define RS_485_SERIAL Serial1
    #define RS_485_DE_PIN 0
    #define RS485_STATE_PUSH_FREQUENCY 1000
    #define RS485_ONE_SENSOR_UPDATE_INTERVAL 1234
    #define RS485_BYTES_TIMEOUT 10
    #define RS485_RESET_SENSOR_AFTER_N_BAD_READINGS 5
    //--------------------------------------------------------------------------------------------------------------------------------
    // настройки nRF
    //--------------------------------------------------------------------------------------------------------------------------------
    #define UNI_DEFAULT_RF_CHANNEL 19
    #define NRF_CE_PIN 47
    #define NRF_CSN_PIN 48
    #define NRF_CONTROLLER_STATE_CHECK_FREQUENCY 1348
    #define NRF_REBOOT_PIN 60
    #define NRF_POWER_ON  LOW
    #define NRF_POWER_OFF  HIGH
    //#define NRF_AUTOACK_INVERTED
    //--------------------------------------------------------------------------------------------------------------------------------
    // настройки LoRa
    //--------------------------------------------------------------------------------------------------------------------------------
    #define LORA_SS_PIN 48
    #define LORA_RESET_PIN 47
    #define LORA_FREQUENCY 433E6
    #define LORA_TX_POWER 17
    #define LORA_CONTROLLER_STATE_CHECK_FREQUENCY 1348
    #define LORA_REBOOT_PIN 60
    #define LORA_POWER_ON  LOW
    #define LORA_POWER_OFF  HIGH
    //--------------------------------------------------------------------------------------------------------------------------------
    // настройки таймеров
    //--------------------------------------------------------------------------------------------------------------------------------
    #define TIMER_ON  LOW
    #define TIMER_OFF  HIGH
    #define TIMERS_DRIVE_MODE  DRIVE_DIRECT
    #define TIMERS_MCP23S17_ADDRESS 0
    #define TIMERS_MCP23017_ADDRESS 0
    //--------------------------------------------------------------------------------------------------------------------------------
    // настройки EEPROM
    //--------------------------------------------------------------------------------------------------------------------------------
    #define EEPROM_USED_MEMORY EEPROM_BUILTIN
    #define EEPROM_MEMORY_INDEX 0
    #define SETT_HEADER1 0x1F
    #define SETT_HEADER2 0xBF
    #define CONTROLLER_ID_EEPROM_ADDR 0
    #define UNI_SENSOR_INDICIES_EEPROM_ADDR 0
    #define WIFI_STATE_EEPROM_ADDR 0
    #define STATION_PASSWORD_EEPROM_ADDR 0
    #define STATION_ID_EEPROM_ADDR 0
    #define ROUTER_PASSWORD_EEPROM_ADDR 0
    #define ROUTER_ID_EEPROM_ADDR 0
    #define SMS_NUMBER_EEPROM_ADDR 0
    #define GSM_PROVIDER_EEPROM_ADDR 0
    #define IOT_SETTINGS_EEPROM_ADDR 0
    #define OPEN_INTERVAL_EEPROM_ADDR 0
    #define CLOSE_TEMP_EEPROM_ADDR 0
    #define OPEN_TEMP_EEPROM_ADDR 0
    #define WATERING_OPTION_EEPROM_ADDR 0
    #define TURN_PUMP_EEPROM_ADDR 0
    #define START_WATERING_TIME_EEPROM_ADDR 0
    #define WATERING_TIME_EEPROM_ADDR 0
    #define WATERING_WEEKDAYS_EEPROM_ADDR 0
    #define WATERING_SENSOR_EEPROM_ADDR 0
    #define WATERING_STOP_BORDER_EEPROM_ADDR 0
    #define WATERING_CHANNELS_SETTINGS_EEPROM_ADDR 0
    #define WATERING_TURN_TO_AUTOMODE_AFTER_MIDNIGHT_ADDRESS 0
    #define WATERING_STATUS_EEPROM_ADDR 0
    #define WATERFLOW_EEPROM_ADDR 0
    #define DELTA_SETTINGS_EEPROM_ADDR 0
    #define PH_SETTINGS_EEPROM_ADDR 0
    #define TIMERS_EEPROM_ADDR 0
    #define RESERVATION_ADDR 0
    #define GUID_ADDRESS 0
    #define HTTP_API_KEY_ADDRESS 0
    #define HTTP_SEND_SENSORS_DATA_ADDRESS 0
    #define TIMEZONE_ADDRESS 0
    #define HTTP_SEND_STATUS_ADDRESS 0
    #define MQTT_ENABLED_FLAG_ADDRESS 0
    #define MQTT_INTERVAL_BETWEEN_TOPICS_ADDRESS 0
    #define COMPOSITE_COMMANDS_START_ADDR 0
    #define EEPROM_RULES_START_ADDR 0
    //--------------------------------------------------------------------------------------------------------------------------------
    // настройки Serial
    //--------------------------------------------------------------------------------------------------------------------------------
    #define SERIAL_BAUD_RATE 57600
    //--------------------------------------------------------------------------------------------------------------------------------
    // настройки информационных диодов
    //--------------------------------------------------------------------------------------------------------------------------------
    #define INFO_DIODES_DRIVE_MODE  DRIVE_DIRECT
    #define INFO_DIODES_MCP23S17_ADDRESS 0
    #define INFO_DIODES_MCP23017_ADDRESS 0
    #define DIODE_READY_PIN 0
    #define DIODE_WINDOWS_MANUAL_MODE_PIN 0
    #define DIODE_WATERING_MANUAL_MODE_PIN 0
    #define DIODE_LIGHT_MANUAL_MODE_PIN 0
    #define WORK_MODE_BLINK_INTERVAL 500
    #define READY_DIODE_BLINK_INTERVAL 5000
    //--------------------------------------------------------------------------------------------------------------------------------
    // настройки SD и нумерации виртуальных пинов
    //--------------------------------------------------------------------------------------------------------------------------------
    #define SDCARD_CS_PIN 52
    #define VIRTUAL_PIN_START_NUMBER 80
    //--------------------------------------------------------------------------------------------------------------------------------
    // настройки железных модулей реле
    //--------------------------------------------------------------------------------------------------------------------------------
    #define RELAY_ON  LOW
    #define RELAY_OFF  HIGH
    #define SHORT_CIRQUIT_STATE  LOW
    //--------------------------------------------------------------------------------------------------------------------------------
    // настройки максимумов
    //--------------------------------------------------------------------------------------------------------------------------------
    #define MAX_ALERT_RULES 30
    #define MAX_DELTAS 20
    //--------------------------------------------------------------------------------------------------------------------------------
    // настройки модуля правил
    //--------------------------------------------------------------------------------------------------------------------------------
    //#define ALERT_INCLUDE_COMMA_VALUES
    #define ALERT_DONT_READ_PIN_DIRECT
    //--------------------------------------------------------------------------------------------------------------------------------
    // настройки интервалов обновлений модулей
    //--------------------------------------------------------------------------------------------------------------------------------
    #define ALERT_UPDATE_INTERVAL 500
    #define LOGGING_INTERVAL 300000
    #define LUMINOSITY_UPDATE_INTERVAL 3000
    #define HUMIDITY_UPDATE_INTERVAL 5000
    #define TEMP_UPDATE_INTERVAL 4990
    #define DELTA_UPDATE_INTERVAL 5010
    //--------------------------------------------------------------------------------------------------------------------------------
    // настройки модуля освещенности
    //--------------------------------------------------------------------------------------------------------------------------------
    #define LIGHT_DRIVE_MODE  DRIVE_DIRECT
    #define LIGHT_MCP23S17_ADDRESS 0
    #define LIGHT_MCP23017_ADDRESS 0
    #define LIGHT_RELAY_ON  LOW
    #define LIGHT_RELAY_OFF  HIGH
    
    Чтобы не запутаться - иду по конфигу сверху вниз, чтобы сгенерённый соответствовал тому, что сейчас есть - так проще проверять, не пропустил ли чего ;)

    З. Ы. Вот думаю - комментарии к каждой настройке таки надо, чтобы при желании можно ручками было поправить - или не надо?
     
  4. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.960
    Благодарности:
    1.958

    promavto

    Разработка контроллеров

    promavto

    Разработка контроллеров

    Регистрация:
    27.02.16
    Сообщения:
    1.960
    Благодарности:
    1.958
    Адрес:
    г. Москва, Зеленоград.
    Имена файлам будут присваиваться индивидуальные?

    Таки надо!
     
  5. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Естественно.
    Ну пока без комментариев оставлю, в будущем допилю. Очень много работы - за больше суток продвинулся только чуть дальше середины :(
     
  6. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.960
    Благодарности:
    1.958

    promavto

    Разработка контроллеров

    promavto

    Разработка контроллеров

    Регистрация:
    27.02.16
    Сообщения:
    1.960
    Благодарности:
    1.958
    Адрес:
    г. Москва, Зеленоград.
    Протестировал расширитель портов для DS18B20. Подключил 10 датчиков. Общая длина проводов около 200 метров. Работает нормально.
     

    Вложения:

    • 2018-10-28_12-48-01.png
    • IMG_20181028_123634.jpg
    • IMG_20181028_123716.jpg
  7. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

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

    В комплект положу, естественно, парочку XML с теми настройками, что у меня сейчас для Due и Меги - чтобы было от чего оттолкнуться при редактировании, так сказать - проект сложный, и к настройкам надо относиться ооочень внимательно ;)

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

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Обновил на гитхабе, в папке SOFT - появился ConfigCreator. exe, рядом с ним валяются два файла с настройками конфигурации - Configuration_DUE.gcf и Configuration_MEGA.gcf. Короче - эти файлы можно открыть в редакторе конфигураций, и взять их за основу, что называется. Всё в них - содрано с моих конфигураций для Mega и Due.

    О грустном: пока не проверял на компилируемость - просто вручную проверял на правильность генерирования. Возможно, где-то что-то не меняется из настроек - мог что-то пропустить. Основные, естественно, все проверил на сменяемость.

    Экспорт в настроечный файл - по нажатию кнопки "Экспорт". При этом надо выбрать папку, куда будет выгружен файл Configuration_*.h. Имя файла автоматически выбирается в зависимости от того, какой контроллер выбрали в редакторе. Присутствует мал-мала защита от пропущенных настроек, но - совсем мал-мала, и так почти двое суток корячился, устал множко. Практически для каждого поля - есть всплывающие подсказки, для ориентирования. Также есть вшитые поля подсказок, где места хватило :)

    По факту получается, что с введением софта не особо нужен заголовочник Configuration_MEGA_MiniBoard.h, поскольку теперь - можно вгружать настройки, когда захочется, и под плату - какую захочется. Впрочем, указанный файл я пока оставлю, т. к. не очень улыбается с него ещё настройки сдирать в файл проекта для софта. Да и рано ещё - надо, чтобы всё отлежалось, я старый бюрократ :)]:aga:

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

    По итогу: теперь можно обмениваться друг с другом переносимыми файлами конфигурации, т. е. не пересылать *.h-файлы, а сразу - файл проекта *.gcf. Ну и, ессно - теперь можно наплодить кучу конфигураций, и при необходимости прошивки той или иной платы - тупо перегенерировать нужный заголовочник, всё ;)

    Ай я малацца, правда? :)]:aga:
     
  9. Tehnik53
    Регистрация:
    22.08.15
    Сообщения:
    142
    Благодарности:
    23

    Tehnik53

    Живу здесь

    Tehnik53

    Живу здесь

    Регистрация:
    22.08.15
    Сообщения:
    142
    Благодарности:
    23
    Дмитрий спасибо за конфигуратор! Вы как всегда в своём репертуаре:) Не успели заикнуться, а уже “Обновил на гитхабе” :)
     
  10. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Да незчт ;)

    Я ещё раз обновил, кстати - студия сглючила и чекбоксы модулей сместила вниз, пришлось править. На скорость это не влияет, просто в группе "Модули" было белое поле, до самих модулей надо было листать скроллингом.
     
  11. timon2006
    Регистрация:
    09.03.15
    Сообщения:
    960
    Благодарности:
    1.336

    timon2006

    Живу здесь

    timon2006

    Живу здесь

    Регистрация:
    09.03.15
    Сообщения:
    960
    Благодарности:
    1.336
    Я бы:
    - Поставил защитный диод последовательно с FU1.
    - Поменял бы местами тантал и керамику на входе стаба.
    - Переразвел бы все блокировочные конденсаторы (да и добавил бы их).
    - На плате много места - сильно увеличил бы площадь полигона-радиатора под стабом.
    - ни в коем случае бы не использовал RJ11
    - "около 200 метров проводов" - хорошая антенна, защиту бы какую по входам.
     
  12. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.960
    Благодарности:
    1.958

    promavto

    Разработка контроллеров

    promavto

    Разработка контроллеров

    Регистрация:
    27.02.16
    Сообщения:
    1.960
    Благодарности:
    1.958
    Адрес:
    г. Москва, Зеленоград.
    QUOTE="timon2006, post: 22673444"]Поставил защитный диод последовательно с FU1.[/QUOTE]

    Была такая мысль, но отказался для экономии.
    Не знаю что это даст.

    Конденсаторов и так в избытке, по два на вход. Куда больше.

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

    Применил для совместимости с контроллером теплицы. Разъемы действительно неважные, но альтернативы пока нет (соотношение цена/качество/габариты/установка на плату).

    А вот здесь полностью согласен, проглядел. Установил защиту на обе линии AOZ8212CI-05.
    Как раз есть удобное место с обратной стороны параллельно JP4. Осталось проверить в работе.

    Спасибо!
     
  13. timon2006
    Регистрация:
    09.03.15
    Сообщения:
    960
    Благодарности:
    1.336

    timon2006

    Живу здесь

    timon2006

    Живу здесь

    Регистрация:
    09.03.15
    Сообщения:
    960
    Благодарности:
    1.336
    Диоды Шоттки 1А, 20-30В в Москве в розницу дешевле 3 руб. Я бы не экономил. Результат случайной переполюсовки дороже будет

    Блокировочные конденсаторы должны устанавливаться как можно ближе к ножкам. И устанавливаться так: с одной стороны КП подводят проводники питания/земли, с другой стороны КП соединяют с соответствующими ножками (т.е. как у Вас тантал)
    Я бы поставил по одному к каждому разъему, как можно ближе к ножкам.

    FU1, судя по схеме, на 0,5 А. Т. е. в случае аварии (например, КЗ в одном из проводов) прежде, чем он сработает, через стаб некоторое время будет течь немаленький ток.

    Пмсм, на первом месте д. б. надежность.

    З. Ы. Так, для размышления. На шину данных я бы поставил мультиплексор. Для адресации мультиплексора - что-нибудь типа 595. Тогда при любой аварии на любом датчике теряются показания только аварийного датчика (исключение - КЗ по питанию). Остальные работают. И опрос будет гораздо быстрее, т. к. в каждый момент времени на шине только один датчик (не нужна их адресация).
     
  14. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.960
    Благодарности:
    1.958

    promavto

    Разработка контроллеров

    promavto

    Разработка контроллеров

    Регистрация:
    27.02.16
    Сообщения:
    1.960
    Благодарности:
    1.958
    Адрес:
    г. Москва, Зеленоград.
    Не..ет, программу переделывать не будем. Дима очень против. Опрашиваются датчики нормально. Не думаю, что за 3 секунды температура сильно изменится. А чаще нам не нужно.
    Что то мне все это напоминает анекдот про Красную площадь. В любом случае, спасибо. Научили.
     
  15. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Конечно, не будем, и да - Дима очень против :) Потому что конца этому иначе не видать ;)

    И такая возможность есть - просто по датчику на отдельный пин, лично мне - гроздями не нужно датчиками увиваться ;) Да и лично я считаю, что гораздо удобнее - выносить датчики по RS-485, для чего уже есть выносные модули, каждый может держать до трёх датчиков на борту. Ещё одна степень свободы (это я про мультиплексор) - это, конечно, хорошо, но - мне уже достаточно того, что есть, более чем, скажем так ;) И так проект уже вырос из наколенного быстро сколхоженного - в косячного монстра с кучей нюансов ;)
     
Статус темы:
Закрыта.