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
    Адрес:
    Псков
    Там стоит безопасная. Вопрос в том что насос отопленя должен включиться, даже если пользователь уберет галку. Ну не нужно мне дальше греть воду, подумалось мне и убрал галку нагрев бойлера. Ну и хорошо, ведь температура в доме ниже уставки. Включаем насос СО и греем дальше.
    Зы... Это я к размышлению. Без предъяв ;-)

    Код:
    Reduced FC 1.00 (POWER: 5.511 kW)
    Set Vacon: 86.00 %
    Reduced FC 1.00 (POWER: 5.511 kW)
    Set Vacon: 85.00 %
    Save settings OK, wrote: 1029 bytes, crc: 66ae   -=== это убрал галку =====--
    Save profile #0 OK, wrote: 267 bytes, crc: e434
    Save counters OK, write: 52 bytes
    $Compressor protection:  Vacon OFF
    15:05:38 $ERROR source: UpdateHeat, code: -59     -==== и сразуже====---
    modWork:6[Hp1] RPUMPO:0 RTRV:1 RBOILER:0 RHEAT:0 RPUMPB:1 freqFC:92.00 Power:5.265 EEV:100
    TOUT:11.56 TIN:21.12 TBOILER:37.68 TCOMP:82.37 TCONIN:79.43 TCONOUT:43.37 TEVAIN:0.93 TEVAOUT:5.93 TCONING:18.75 TCONOUTG:43.50 TEVAING:11.56 TEVAOUTG:6.93 PEVA:7.05 PCON:27.31
    RTOAPB:9265]EAT
    02/10/2018 15:05:38    Stop . . .
    Stop task vUpdate
    Delay: stop IN pump.
    Stop task update EEV
    15:05:41 Relay RFAN1: OFF
    15:05:42 Relay RFAN2: OFF
    Pause before closing EEV 5 sec . . .
    EEV go minSteps
    All relay off
    15:05:49 Relay RTRV: OFF
    15:05:49 Relay RSUPERBOILER: OFF
    statChart stop
    Save counters OK, write: 52 bytes
    15:05:49 Heat Pump OFF . . .
    Repeat start Heat Pump (attempts remaining 2) . . .
    15:05:49 Start vPauseStart
    Start over 300 sec . . .
    Start over 240 sec . . .
     
    Последнее редактирование: 02.10.18
  2. Sheeny
    Регистрация:
    25.05.10
    Сообщения:
    740
    Благодарности:
    881

    Sheeny

    Живу здесь

    Sheeny

    Живу здесь

    Регистрация:
    25.05.10
    Сообщения:
    740
    Благодарности:
    881
    Адрес:
    Ивантеевка
    как бы в коде все насосы включаются...
    Код:
    // Конфигурирование насосов ТН, вход желаемое состояние(true-бойлер false-отопление/охлаждение) возврат onBoiler
    // в зависимости от режима, не забываем менять onBoiler по нему определяется включение ГВС
    boolean HeatPump::switchBoiler(boolean b)
    {
        if(b && b == onBoiler) return onBoiler;        // Нечего делать выходим
        boolean old = onBoiler;
        onBoiler = b;                                  // запомнить состояние нагрева бойлера ВСЕГДА
        if(!onBoiler) offBoiler = rtcSAM3X8.unixtime(); // запомнить время выключения ГВС (нужно для переключения)
        else offBoiler = 0;
    #ifdef R3WAY
        dRelay[R3WAY].set_Relay(onBoiler);            // Установить в нужное полежение 3-х ходового
    #else // Нет трехходового - схема с двумя насосами
        // ставим сюда код переключения ГВС/отопление в зависимости от onBoiler=true - ГВС
        //journal.printf(" swBoiler(%d): old:%d, modeHouse:%d\n", b, get_modWork(), get_modeHouse());
        if(onBoiler) // переключение на ГВС
        {
            #ifdef RPUMPBH
            dRelay[RPUMPBH].set_ON();    // ГВС - включить
            #endif
            Pump_HeatFloor(false);         // выключить насос ТП
            dRelay[RPUMPO].set_OFF();    // файнкойлы выключить
        } else  // Переключение с ГВС на Отопление/охлаждение идет анализ по режиму работы дома
        {
        #ifdef RPUMPBH
            dRelay[RPUMPBH].set_OFF();    // ГВС по любому надо выключить
        #endif
        if ((Status.modWork!=pOFF)&&(get_modeHouse()!=pOFF)) // Если не пауза И отопление/охлаждение дома НЕ выключено то надо включаться
        {
            Pump_HeatFloor(true);
            dRelay[RPUMPO].set_ON();     // файнкойлы    
        } else  // пауза ИЛИ рабата дома не задействована - все выключить
        {
              Pump_HeatFloor(false);
             dRelay[RPUMPO].set_OFF();     // файнкойлы    
        }
        }
    #endif
        if(old && get_State() == pWORK_HP) // Если грели бойлер и теперь ТН работает, то обеспечить дополнительное время (delayBoilerSW сек) для прокачивания гликоля - т.к разные уставки по температуре подачи
        {
            journal.jprintf(" Pause %d sec, Boiler->House . . .\n", HP.Option.delayBoilerSW);
            _delay(HP.Option.delayBoilerSW * 1000); // выравниваем температуру в контуре отопления/ГВС что бы сразу защиты не сработали
        }
        return onBoiler;
    а срабатывает похоже защита - не хватает времени на прокачку...

    if (old && get_State() = pWORK_HP) / Если грели бойлер и теперь ТН работает, то обеспечить дополнительное время (delayBoilerSW сек) для прокачивания гликоля - т. к разные уставки по температуре подачи
     
  3. Pskovsat
    Регистрация:
    04.12.12
    Сообщения:
    2.504
    Благодарности:
    1.231

    Pskovsat

    Живу здесь

    Pskovsat

    Живу здесь

    Регистрация:
    04.12.12
    Сообщения:
    2.504
    Благодарности:
    1.231
    Адрес:
    Псков
    Он не включает насос СО! Нет прокачки.
    Седня вечером еще раз испытаю этот момент.
     
  4. Sheeny
    Регистрация:
    25.05.10
    Сообщения:
    740
    Благодарности:
    881

    Sheeny

    Живу здесь

    Sheeny

    Живу здесь

    Регистрация:
    25.05.10
    Сообщения:
    740
    Благодарности:
    881
    Адрес:
    Ивантеевка
    В прошивке 963b все включается:
    Код:
    Run command: START
    01.01.2000 01:53:55   Start . . .
    EEV init
    EEV set zero
    Charts clear and start
    Start modWork:1[Hh2]
    01:53:55 Relay RFAN1: ON
    01:53:56 Relay RFAN2: ON
    01:53:57 Relay RPUMPO: ON
    01:54:00 compressorON > modWork:1[Hh2], COMPRESSOR_IS_ON:0
    EEV go StartPos: 100
    01:54:00 Pause 60s before start compressor
    01:54:56 Relay RCOMP: ON
    Start task update EEV
    Counters saved
    Start task vUpdate
    vUpdate: 1
    01:54:56 Heat Pump ON . . .
    vUpdate: 1
    vUpdate: 3 - ================НАЖАЛ ГАЛКУ ГВС - ВКЛ================
    01:55:20 Relay RPUMPO: OFF
    vUpdate: 3
    Sync from I2C RTC: 01.01.2000 01:55:52
    vUpdate: 3
    vUpdate: 3
    vUpdate: 3
    vUpdate: 1 - ================НАЖАЛ ГАЛКУ ГВС - ВЫКЛ================
    01:56:30 Relay RPUMPO: ON
    Pause 60 sec, Boiler->House . . .
     
  5. dimex2015
    Регистрация:
    25.10.15
    Сообщения:
    1.947
    Благодарности:
    372

    dimex2015

    Живу здесь

    dimex2015

    Живу здесь

    Регистрация:
    25.10.15
    Сообщения:
    1.947
    Благодарности:
    372
    Адрес:
    Минск
    Скачал я по этой ссылке https://github.com/vad7/ControlHeatPump 963 версию НК. Думал вечером поехать на дом залить.
    А прошивка даже в в 6м конфиге не билдится. ругается на библиотеку.
    Библиотеку взял из архива с прошивкой. Куда копать?

    C:\Program Files (x86)\Arduino\libraries\SdFat\src\SdFat.cpp:22:6: error: 'SdFatBase' has not been declared
    void SdFatBase: errorHalt (Print* pr) {
    ^
    C:\Program Files (x86)\Arduino\libraries\SdFat\src\SdFat.cpp: In function 'void errorHalt (Print*)':
    C:\Program Files (x86)\Arduino\libraries\SdFat\src\SdFat.cpp:23:16: error: 'errorPrint' was not declared in this scope
    errorPrint (pr);
    ^
    C:\Program Files (x86)\Arduino\libraries\SdFat\src\SdFat.cpp: At global scope:
    C:\Program Files (x86)\Arduino\libraries\SdFat\src\SdFat.cpp:27:6: error: 'SdFatBase' has not been declared
    void SdFatBase: errorHalt (Print* pr, char const* msg) {
    ^
    C:\Program Files (x86)\Arduino\libraries\SdFat\src\SdFat.cpp: In function 'void errorHalt (Print*, const char*)':
    C:\Program Files (x86)\Arduino\libraries\SdFat\src\SdFat.cpp:28:21: error: 'errorPrint' was not declared in this scope
    errorPrint (pr, msg);
    ^
    C:\Program Files (x86)\Arduino\libraries\SdFat\src\SdFat.cpp: At global scope:
    C:\Program Files (x86)\Arduino\libraries\SdFat\src\SdFat.cpp:32:6: error: 'SdFatBase' has not been declared
    void SdFatBase: errorHalt (Print* pr, const _FlashStringHelper* msg) {
    ^
    C:\Program Files (x86)\Arduino\libraries\SdFat\src\SdFat.cpp: In function 'void errorHalt (Print*, const _FlashStringHelper*)':
    C:\Program Files (x86)\Arduino\libraries\SdFat\src\SdFat.cpp:33:21: error: 'errorPrint' was not declared in this scope
    errorPrint (pr, msg);
    ^
    C:\Program Files (x86)\Arduino\libraries\SdFat\src\SdFat.cpp: At global scope:
    C:\Program Files (x86)\Arduino\libraries\SdFat\src\SdFat.cpp:37:6: error: 'SdFatBase' has not been declared
    void SdFatBase: errorPrint (Print* pr) {
    ^
    C:\Program Files (x86)\Arduino\libraries\SdFat\src\SdFat.cpp: In function 'void errorPrint (Print*)':
    C:\Program Files (x86)\Arduino\libraries\SdFat\src\SdFat.cpp:38:22: error: 'cardErrorCode' was not declared in this scope
    if (!cardErrorCode() {
    ^
    C:\Program Files (x86)\Arduino\libraries\SdFat\src\SdFat.cpp:42:27: error: 'cardErrorCode' was not declared in this scope
    pr->print (cardErrorCode(), HEX);
    ^
    C:\Program Files (x86)\Arduino\libraries\SdFat\src\SdFat.cpp:44:29: error: 'cardErrorData' was not declared in this scope
    pr->println (cardErrorData(), HEX);
    ^
    C:\Program Files (x86)\Arduino\libraries\SdFat\src\SdFat.cpp: At global scope:
    C:\Program Files (x86)\Arduino\libraries\SdFat\src\SdFat.cpp:47:6: error: 'SdFatBase' has not been declared
    void SdFatBase: errorPrint (Print* pr, char const* msg) {
    ^
    C:\Program Files (x86)\Arduino\libraries\SdFat\src\SdFat.cpp:53:6: error: 'SdFatBase' has not been declared
    void SdFatBase: errorPrint (Print* pr, const _FlashStringHelper* msg) {
    ^
    C:\Program Files (x86)\Arduino\libraries\SdFat\src\SdFat.cpp:59:6: error: 'SdFatBase' has not been declared
    void SdFatBase: initErrorHalt (Print* pr) {
    ^
    C:\Program Files (x86)\Arduino\libraries\SdFat\src\SdFat.cpp: In function 'void initErrorHalt (Print*)':
    C:\Program Files (x86)\Arduino\libraries\SdFat\src\SdFat.cpp:60:20: error: 'initErrorPrint' was not declared in this scope
    initErrorPrint (pr);
    ^
    C:\Program Files (x86)\Arduino\libraries\SdFat\src\SdFat.cpp: At global scope:
    C:\Program Files (x86)\Arduino\libraries\SdFat\src\SdFat.cpp:64:6: error: 'SdFatBase' has not been declared
    void SdFatBase: initErrorHalt (Print* pr, char const *msg) {
    ^
    C:\Program Files (x86)\Arduino\libraries\SdFat\src\SdFat.cpp:69:6: error: 'SdFatBase' has not been declared
    void SdFatBase: initErrorHalt (Print* pr, const _FlashStringHelper* msg) {
    ^
    C:\Program Files (x86)\Arduino\libraries\SdFat\src\SdFat.cpp:74:6: error: 'SdFatBase' has not been declared
    void SdFatBase: initErrorPrint (Print* pr) {
    ^
    C:\Program Files (x86)\Arduino\libraries\SdFat\src\SdFat.cpp: In function 'void initErrorPrint (Print*)':
    C:\Program Files (x86)\Arduino\libraries\SdFat\src\SdFat.cpp:75:21: error: 'cardErrorCode' was not declared in this scope
    if (cardErrorCode() {
    ^
    C:\Program Files (x86)\Arduino\libraries\SdFat\src\SdFat.cpp:81:18: error: 'vol' was not declared in this scope
    } else if (vol()->fatType() = 0) {
    ^
    C:\Program Files (x86)\Arduino\libraries\SdFat\src\SdFat.cpp:83:19: error: 'vwd' was not declared in this scope
    } else if (!vwd()->isOpen() {
    ^
    C:\Program Files (x86)\Arduino\libraries\SdFat\src\SdFat.cpp: At global scope:
    C:\Program Files (x86)\Arduino\libraries\SdFat\src\SdFat.cpp:90:6: error: 'SdFatBase' has not been declared
    void SdFatBase: initErrorPrint (Print* pr, char const *msg) {
    ^
    C:\Program Files (x86)\Arduino\libraries\SdFat\src\SdFat.cpp:95:6: error: 'SdFatBase' has not been declared
    void SdFatBase: initErrorPrint (Print* pr, const _FlashStringHelper* msg) {
    ^
    exit status 1
    Ошибка компиляции для платы Arduino Due (Programming Port).
     
  6. Sheeny
    Регистрация:
    25.05.10
    Сообщения:
    740
    Благодарности:
    881

    Sheeny

    Живу здесь

    Sheeny

    Живу здесь

    Регистрация:
    25.05.10
    Сообщения:
    740
    Благодарности:
    881
    Адрес:
    Ивантеевка
    закрой прогу.
    удали папку SdFat из папки libraries
    скопируй папку SdFat в папку libraries из скаченного архива.

    Попробуй скомпилировать...

    И еще, по-моему, компилятор ругался на PubSubClient... эту библиотеку по тому же принципу установить...

    Тоже самое я делаю для папки Ethernet, если что-то правилось для сети...
     
  7. dimex2015
    Регистрация:
    25.10.15
    Сообщения:
    1.947
    Благодарности:
    372

    dimex2015

    Живу здесь

    dimex2015

    Живу здесь

    Регистрация:
    25.10.15
    Сообщения:
    1.947
    Благодарности:
    372
    Адрес:
    Минск
    Не помогает. Попробую еще на ноуте.
     
  8. vad711
    Регистрация:
    30.04.14
    Сообщения:
    5.310
    Благодарности:
    5.028

    vad711

    Живу здесь

    vad711

    Живу здесь

    Регистрация:
    30.04.14
    Сообщения:
    5.310
    Благодарности:
    5.028
    Адрес:
    МО
    @dimex2015, из папки C:\Program Files (x86)\Arduino\libraries нужно удалить все и скопировать библиотеки из архива с прошивкой.
    Так же нужно найти, где лежит библиотека платы DUE и туда перезаписать файлы из директории hardware.

    PS. Исходники из гита pav2000 в ближайшее время ставить не нужно, там версия в разработке, используйте гит vad7.
     
  9. dimex2015
    Регистрация:
    25.10.15
    Сообщения:
    1.947
    Благодарности:
    372

    dimex2015

    Живу здесь

    dimex2015

    Живу здесь

    Регистрация:
    25.10.15
    Сообщения:
    1.947
    Благодарности:
    372
    Адрес:
    Минск
    Все так и делал кроме того факта, что библиотеки скопировал по верх имеющихся.
     
  10. vad711
    Регистрация:
    30.04.14
    Сообщения:
    5.310
    Благодарности:
    5.028

    vad711

    Живу здесь

    vad711

    Живу здесь

    Регистрация:
    30.04.14
    Сообщения:
    5.310
    Благодарности:
    5.028
    Адрес:
    МО
    @dimex2015, поверх нельзя, они менялись, файлы не совпадают.
     
    Последнее редактирование: 02.10.18
  11. dimex2015
    Регистрация:
    25.10.15
    Сообщения:
    1.947
    Благодарности:
    372

    dimex2015

    Живу здесь

    dimex2015

    Живу здесь

    Регистрация:
    25.10.15
    Сообщения:
    1.947
    Благодарности:
    372
    Адрес:
    Минск
    С полным удалением тоже не компилится. И на ноуте и на рабочем компе.
     
  12. dimex2015
    Регистрация:
    25.10.15
    Сообщения:
    1.947
    Благодарности:
    372

    dimex2015

    Живу здесь

    dimex2015

    Живу здесь

    Регистрация:
    25.10.15
    Сообщения:
    1.947
    Благодарности:
    372
    Адрес:
    Минск
    Капец. Разобрался. В общем у меня для простоты сравнения изменений в исходниках установлен SVN. И когда я скачиваю новую версию, я ей заменяю свою последнюю и SVN пишет какие файлы добавлены, какие заменены и добавлены. Я конечно согласился с тем что что-то в библиотеках добавилось и что-то обновилось. Вышло так что после полного удаления содержимого папки с библиотеками в моем локальном хранилище и потом опять полной заменой этих библиотек в папке с ардуино - все скопмилировалось с 6м конфигом.
    Теперь пойду пробовать с моим (3) конфигом.
     
  13. vad711
    Регистрация:
    30.04.14
    Сообщения:
    5.310
    Благодарности:
    5.028

    vad711

    Живу здесь

    vad711

    Живу здесь

    Регистрация:
    30.04.14
    Сообщения:
    5.310
    Благодарности:
    5.028
    Адрес:
    МО
    @dimex2015, а все файлы все равно нужно переписывать, так что смысла их сравнивать нет.
    Вот свой кусок из конфига можно и сравнить по строчно, вдруг чего туда добавилось или пропало.
     
  14. dimex2015
    Регистрация:
    25.10.15
    Сообщения:
    1.947
    Благодарности:
    372

    dimex2015

    Живу здесь

    dimex2015

    Живу здесь

    Регистрация:
    25.10.15
    Сообщения:
    1.947
    Благодарности:
    372
    Адрес:
    Минск
    С одной стороны я понимаю. Но ведь и конфиг и файл с константами меняется. Часто что-то из констант переходит в конфиг и наоборот. И потом очень не просто узнать - что какие же были ранее значения.
     
    Последнее редактирование: 02.10.18
  15. dimex2015
    Регистрация:
    25.10.15
    Сообщения:
    1.947
    Благодарности:
    372

    dimex2015

    Живу здесь

    dimex2015

    Живу здесь

    Регистрация:
    25.10.15
    Сообщения:
    1.947
    Благодарности:
    372
    Адрес:
    Минск
    @vad711, На сколько важен этот кусок кода? в моем конфиге его нет
    / Имена датчиков
    const char *nameTemp[TNUMBER] = {
    "TOUT", / 0. Температура улицы
    "TIN", / 1. Температура в доме
    "TBOILER", / 2. Температура в бойлере ГВС
    "TCOMP", / 3. Температура нагнетания компрессора
    "TEVAING", / 4. Температура на входе испарителя по гликолю
    "TEVAOUTG", / 5. Температура на выходе испарителя по гликолю
    "TCONING", / 6. Температура на входе конденсатора по гликолю
    "TCONOUTG", / 7. Температура на выходе конденсатора по гликолю
    "TEVAOUT", / 8. Температура на выходе испарителя по фреону
    "TCONOUT", / 9. Температура на выходе конденсатора по фреону
    "TSUN", / 10. Температура солнечного коллектора (улица)
    "TSUNOUTG", / 11. Температура на выходе из солнечного коллектора (гликоль)
    "TKITCHEN", / 12.
    "TBR1", / 13.
    "TFLOOR2", / 14.
    "TBASEMENT", / 15.
    "TEOUT", / 16.
    / Радиодатчики
    "T65", / 17.
    "T55", / 18.
    "T38", / 19.
    "T45", / 20.
    "T49" / 21.
    };
    / Описание датчиков
    const char *noteTemp[TNUMBER] = {
    "Температура улицы",
    "Температура в доме",
    "Температура в бойлере ГВС",
    "Температура нагнетания компрессора",
    "Температура на входе из геоконтура",
    "Температура на выходе в геоконтур",
    "Температура на входе из отопления",
    "Температура на выходе в отопление",
    "Температура фреона на выходе ПТО гео",
    "Температура фреона на выходе ПТО дома",
    "Температура солнечного коллектора (улица)",
    "Температура на выходе из солнечного коллектора",
    "Температура кухни",
    "Температура спальни 1 этажа",
    "Температура спальни 2 этажа",
    "Температура подвала",
    "Температура электрокотла",
    "Температура в прихожей",
    "Температура санузла",
    "Температура 1 этажа",
    "Температура 2 этажа, ТВ",
    "Температура Бани"
    };
     
Статус темы:
Закрыта.