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

"Народный контроллер" для теплового насоса - 2

Тема в разделе "Геотермальные тепловые насосы", создана пользователем kmvtgn, 13.03.18.

Статус темы:
Закрыта.
  1. Pskovsat
    Регистрация:
    04.12.12
    Сообщения:
    2.504
    Благодарности:
    1.231

    Pskovsat

    Живу здесь

    Pskovsat

    Живу здесь

    Регистрация:
    04.12.12
    Сообщения:
    2.504
    Благодарности:
    1.231
    Адрес:
    Псков
    Код:
        #define RNUMBER             9       // Число исполнительных устройств (всех)
        #define PIN_DEVICE_RCOMP   53       // ++ PWR_16 Реле включения компрессора (пускатель)
        #define PIN_DEVICE_RPUMPO  52       // ++ PWR_15 Реле включения насоса выхордного контура  (отопление и ГВС)
        #define PIN_DEVICE_RBOILER 44       // ++ PWR_7 Включение ТЭНа бойлера
        #define PIN_DEVICE_RTRV    38       // ++ PWR_1 4-ходовой клапан
        #define PIN_DEVICE_RFAN1   39       // ++ PWR_3 Реле включения вентилятора испарителя №1
        #define PIN_DEVICE_RFAN2   40       // ++ PWR_2 Реле включения вентилятора испарителя №2
        #define PIN_DEVICE_RPUMPB  46       // ++ PWR_9 Реле насоса циркуляции бойлера (ГВС)
        #define PIN_DEVICE_R3WAY   43       // ++ PWR_6 Трех ходовой кран. Переключение системы СО — ГВС (что сейчас греть)
    //  #define PIN_DEVICE_RHEAT   45       // ++ PWR_8 Включение ТЭНа СО (электрокотел), может использоваться как догрев, резерв и т.д.
        #define PIN_DEVICE_RSUPERBOILER  49 // ++ PWR_12 реле насоса супербойлера
    Почему то выкинул ошибку уже на 10, одиннадцать не пробовал. Пока стоит 9
    А к ним еще хочу приделать все таки скорости насосоа отопления и предконденсатора не плохо бы.
    это еще 4 реле.

    Чет так и не понял про два двух вентиляторных блока.
    Как меньший поток пойдет через испаритель, если будут дыры равные диаметру работающего вентилятора, да еще и рядом?
     
  2. dimex2015
    Регистрация:
    25.10.15
    Сообщения:
    1.947
    Благодарности:
    372

    dimex2015

    Живу здесь

    dimex2015

    Живу здесь

    Регистрация:
    25.10.15
    Сообщения:
    1.947
    Благодарности:
    372
    Адрес:
    Минск
    А я хочу с вашей помощью к своему гео прикрутить еще и наружку.
     
  3. Sheeny
    Регистрация:
    25.05.10
    Сообщения:
    740
    Благодарности:
    881

    Sheeny

    Живу здесь

    Sheeny

    Живу здесь

    Регистрация:
    25.05.10
    Сообщения:
    740
    Благодарности:
    881
    Адрес:
    Ивантеевка
    уменьшится производительность вентиляторов
     
  4. Sheeny
    Регистрация:
    25.05.10
    Сообщения:
    740
    Благодарности:
    881

    Sheeny

    Живу здесь

    Sheeny

    Живу здесь

    Регистрация:
    25.05.10
    Сообщения:
    740
    Благодарности:
    881
    Адрес:
    Ивантеевка
    #define RNUMBER 9 / Число исполнительных устройств (всех) - меняли на 10?
     
  5. Pskovsat
    Регистрация:
    04.12.12
    Сообщения:
    2.504
    Благодарности:
    1.231

    Pskovsat

    Живу здесь

    Pskovsat

    Живу здесь

    Регистрация:
    04.12.12
    Сообщения:
    2.504
    Благодарности:
    1.231
    Адрес:
    Псков
    Да менял

    Она станет равной 0. Еще и гомна со временем в блок насосет птичек итп.
    Ведь значение температуры выхлопа компрессора есть. Относительно неё и DAC регулировать.
    Нужно только вход детектора перехода через 0 сделать на оптопаре.
     

    Вложения:

    • 220v-power-interface-diagram.gif
    Последнее редактирование: 18.04.18
  6. vad711
    Регистрация:
    30.04.14
    Сообщения:
    5.310
    Благодарности:
    5.028

    vad711

    Живу здесь

    vad711

    Живу здесь

    Регистрация:
    30.04.14
    Сообщения:
    5.310
    Благодарности:
    5.028
    Адрес:
    МО
    Че то как-то слишком по новаторскому. Перегрев важен для испарителя и должен быть в определенных пределах. Вот этот предел и хочется регулировать.
    Так более надежно получается.
     
  7. Sheeny
    Регистрация:
    25.05.10
    Сообщения:
    740
    Благодарности:
    881

    Sheeny

    Живу здесь

    Sheeny

    Живу здесь

    Регистрация:
    25.05.10
    Сообщения:
    740
    Благодарности:
    881
    Адрес:
    Ивантеевка
    у меня скомпилировалось и 10 и 11 выходов...

    upload_2018-4-18_23-22-33.png

    проверьте, как запятые стоят в конце массивов:

    upload_2018-4-18_23-24-4.png
     
  8. Pav2000
    Регистрация:
    01.03.09
    Сообщения:
    1.018
    Благодарности:
    2.705

    Pav2000

    Живу здесь

    Pav2000

    Живу здесь

    Регистрация:
    01.03.09
    Сообщения:
    1.018
    Благодарности:
    2.705
    Адрес:
    Москва
    Это наблюдается только при старте.
    Значит проблема в настройках ЭРВ при старте.
    ИХМО надо запускаться с большим перегревом, чем хочется (ЭРВ перезакрыт).
    Надо учитывать что в момент пуска контура теплые, и СОР нереально высокий (у меня начинается с 8-10)

    Допустим известно что в "обычном" режиме ЭРВ устанавливается где-то на 100 шагов. Тогда делаем специальную позицию 80 (а может и меньше), а стартовую позицию 120 и выставляем времена их срабатывания.
    #define DELAY_ON_PID_EEV 60 / Задержка включения EEV после включения компрессора (сек). Точнее после выхода на рабочую позицию Общее время =DELAY_ON_PID_EEV+DELAY_START_POS
    #define DELAY_START_POS 120 / Время после старта компрессора когда EEV выходит на стартовую позицию - облегчение пуска вначале ЭРВ

    Что получается в итоге
    1. ЭРВ в 80
    2. Старт компрессора
    3. Ожидание 120 сек (перегрев растет, ЭРВ перезакрыто)
    4. ЭРВ на 120
    5. Ожидание 60 сек (немного сбрасываем перегрев, возможно этого делать не требуется)
    6. Начало работы ПИД ЭРВ с позиции 120 (включение слежения за перегревом и изменение ЭРВ)

    2-5 минут на большом перегреве сильно не скажутся на эффективности, но позволят выйти на оптимальный режим

    Надо "угадать" со стартовой позицией - она должна быть близка к рабочей через 2-5 минут после старта

    У меня ситуация тяжелее - у меня после старта еще и ПИД на мощность работает - растет частота (мощность). Но все равно пузыри уходят за 1-2 минуты хотя ПИД ЭРВ немного "колбасит" при изменении мощности.
    И желательно чтобы постоянная времени ЭРВ была сильно меньше постоянной времени на компрессор

    ЗЫ немного подумал, более правильно будет вот так
    1. ЭРВ в 150 - компрессор легче стартует (если проблем нет с пуском то ставим 80)
    2. Старт компрессора
    3. Ожидание 20 сек (разгон компрессора, переоткрытие ЭРВ)
    4. ЭРВ на 80
    5. Ожидание 120 сек (перегрев растет, желательно что бы при начале работы ЭРВ он его начал открывать (уменьшение перегрева) а не закрывать)
    6. Начало работы ПИД ЭРВ с позиции 80 (включение слежения за перегревом и изменение ЭРВ)
     
    Последнее редактирование: 19.04.18
  9. Pskovsat
    Регистрация:
    04.12.12
    Сообщения:
    2.504
    Благодарности:
    1.231

    Pskovsat

    Живу здесь

    Pskovsat

    Живу здесь

    Регистрация:
    04.12.12
    Сообщения:
    2.504
    Благодарности:
    1.231
    Адрес:
    Псков
    Что то, в новой версии в файле Control, не меряно ошибок.
    i2c неопределен
    else есть if где то нету...
    название папки с библиотекой DS3231 а не DS3232 ?
     
    Последнее редактирование: 19.04.18
  10. vad711
    Регистрация:
    30.04.14
    Сообщения:
    5.310
    Благодарности:
    5.028

    vad711

    Живу здесь

    vad711

    Живу здесь

    Регистрация:
    30.04.14
    Сообщения:
    5.310
    Благодарности:
    5.028
    Адрес:
    МО
    @Pskovsat, библиотеки старые нужно удалить из папки libraries в корне ардуины.
    Новые с гита полностью переписать.
    Возможны нюансы с config. Могло что-нибудь не перенестись именно в ваш номер.

    Сегодня выложил страничку с чтением/записью произвольных ячеек Modbus RTU.
    Правда на живую еще не успел протестировать.
     
  11. Gaunt
    Регистрация:
    14.06.12
    Сообщения:
    14.743
    Благодарности:
    10.104

    Gaunt

    Живу здесь

    Gaunt

    Живу здесь

    Регистрация:
    14.06.12
    Сообщения:
    14.743
    Благодарности:
    10.104
    Адрес:
    Стерлитамак Уфимской Губернии
    На китайском контроллере испарителя, есть одна фишка - если разница выхлопа из компрессора и температура жидкости из конденсатора не растет, реле передергивает пуск компрессора. Конечно, с некоторой задержкой. Весьма полезная функция слежения, особенно для однофазного питания.

    Скорость выхода на оптимальный перегрев в испарителе, можно привязать как к прошлому значению открытия вентиля, так и абсолютному значению перегретого газа...в прошлый пуск.
    Пока испаритель залит перед стартом, кипение происходит в верхней части испарителя, что резко уменьшает температуру выхода из испарителя. ЭРВ резко закрывает подачу, что приводит к голоданию испарителя. Соответственно, нужно время для выхода в режим.
    Если сделать отсчет перегрева, от прошлого значения датчика перегрева, или температуры теплоносителя на входе в испаритель...
    То можно значительно ускорить выход в режим.
     
  12. Pskovsat
    Регистрация:
    04.12.12
    Сообщения:
    2.504
    Благодарности:
    1.231

    Pskovsat

    Живу здесь

    Pskovsat

    Живу здесь

    Регистрация:
    04.12.12
    Сообщения:
    2.504
    Благодарности:
    1.231
    Адрес:
    Псков
    Не хочет видимо подхватывать i2c память, часы.
    Код:
    START ----------------------
    Init RAM journal, size 4096 . . .
    Vesion firmware: 0.946 beta
    Chip ID EXID: 677251680
    Chip ID SAM3X8E: 51203120-3648334d-32303720-33323833
    Last reason for reset SAM3x: General
    Last Free RTOS task + error: 0x0000
    Supply Controller Status Register [SUPC_SR]: 0x00001000
    Supply monitor ON, voltage: 3.2V
    Control EEV driver no support
    1. Setting and checking I2C device . . .
    $ERROR - I2C bus failed, status = 2
    $WARNING - Repeat initialization I2C bus
    $ERROR - I2C bus failed, status = 2
    $WARNING - Repeat initialization I2C bus
    $ERROR - I2C bus failed, status = 2
    $WARNING - Repeat initialization I2C bus
    $ERROR - I2C bus init failed on speed 100 kHz, status = 2
    OneWire init Ok.
    2. Init Heat Pump main class . . .
    Init Modbus RTU via RS485: not present config
    Omron MX2, modbus not found, block.
    3. Read safe Network botton . . .
    Mode safeNetwork OFF
    4. Init and checking SD card . . .
    Initializing SD card...
    Repeat initializing SD card . . .
    SUCCESS - SD card initialized.
    SUCCESS - Found index.html file
    SD card info
    Manufacturer ID: 0x3
    OEM ID: SD
    Serial number: 0x5f626f05
    Volume is FAT32
    blocksPerCluster: 64
    clusterCount: 485936
    freeSpace: 15919.28 Mb
    5. Load data from EEPROM . . .
    00:00:03 $ERROR source: Heat Pump, code: -24
    Error load setting from eeprom, CRC16 is wrong!
    Load scheduler CRC mismatch!
    Hash user: dXNlcjp1c2Vy
    Hash admin: YWRtaW46YWRtaW4=
    6. Setting Network . . .
    Disable Ping block
    Network library setting: W5500, ID chip: 4
    DHCP use: YES
    IP: 192.168.1.10
    Subnet: 255.255.255.0
    DNS: 192.168.1.2
    Gateway: 192.168.1.2
    MAC: de:a1:1e:01:02:03
    Speed Status: 100Mpbs
    Duplex Status: full duplex
    SUCCESS: W5500 link ok, PHYSTATUS=0xBF
    7. Setting time and clock . . .
    Init internal RTC sam3x8e
    Set time internal RTC form i2c RTC DS3231: 20/4/2018 13:54:12
    13:54:12  Update time from NTP server: time.windows.com
    time.windows.com resolved to 52.166.120.77
    Send packet NTP, wait . . .
    Set time from NTP server: 20/4/2018 13:54:15
    8. Message update IP from DNS . . .
    sms.ru resolved to 89.188.102.66
    smtp.qip.ru resolved to 185.79.118.182
    9. Client MQTT update IP from DNS . . .
    mqtt.thingspeak.com resolved to 52.54.126.159
    narodmon.ru resolved to 94.142.140.101
    10. Statistic no support (low eeprom).
    11. Delayed start Heat Pump: NO
    12. Start read ADC sensors
    13. Nextion dispaly absent in config
    14. Create tasks free RTOS . . .
    Create tasks - OK, size 13084 bytes
    15. If you want to send a notification about resetting the controller . . .
    16. Information about contoller:
    Ram used (bytes):
      dynamic: 22696
      static:  44512
      stack:   112
    Estimation free Ram: 30984
    FREE MEMORY 17908 bytes
    Temperature SAM3X8E: -232.02
    Temperature DS2331: 21.75
    Start Free RTOS scheduler :-))
    READY ----------------------
    
    в конфиге так
    Код:
       //  #define I2C_EEPROM_64KB  // + Использование памяти I2C для записи журнала при коментарии используется оперативка
    #define I2C_FRAM_MEMORY       0     // + Тип используемой памяти 0 - Флеш 1 (обычно) - FRAM память (vad711)
        #define LOAD_VERIFICATION           // Признак чтения настроек c проверкой версии, длины, CRC16.
    По другому, не компилится 32 кб чип у меня на часах. что ему вписать?
     
    Последнее редактирование: 20.04.18
  13. Sheeny
    Регистрация:
    25.05.10
    Сообщения:
    740
    Благодарности:
    881

    Sheeny

    Живу здесь

    Sheeny

    Живу здесь

    Регистрация:
    25.05.10
    Сообщения:
    740
    Благодарности:
    881
    Адрес:
    Ивантеевка
    Там скорее всего ошибка в адресе памяти...
    Должно быть так:
    #else / все остальное
    #define I2C_ADR_EEPROM 0x53 / Адрес чипа eeprom на шине I2C
     
  14. vad711
    Регистрация:
    30.04.14
    Сообщения:
    5.310
    Благодарности:
    5.028

    vad711

    Живу здесь

    vad711

    Живу здесь

    Регистрация:
    30.04.14
    Сообщения:
    5.310
    Благодарности:
    5.028
    Адрес:
    МО
    @Pskovsat, адрес EEPROM 32k (4 кбайт) в constant. h прописан как 0x50.
    Это когда первые 3 пина чипа закорочены на землю.
    На вашей плате видимо по другому.
    Менять в строке 146 в файле constant. h или запаять на плате.
     
  15. Sheeny
    Регистрация:
    25.05.10
    Сообщения:
    740
    Благодарности:
    881

    Sheeny

    Живу здесь

    Sheeny

    Живу здесь

    Регистрация:
    25.05.10
    Сообщения:
    740
    Благодарности:
    881
    Адрес:
    Ивантеевка
    @vad711, в модуле часов есть память, она и использовалась при самосборе без готовых плат, ее адрес 0х53
     
Статус темы:
Закрыта.