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

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

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

Статус темы:
Закрыта.
  1. vad711
    Регистрация:
    30.04.14
    Сообщения:
    5.310
    Благодарности:
    5.028

    vad711

    Живу здесь

    vad711

    Живу здесь

    Регистрация:
    30.04.14
    Сообщения:
    5.310
    Благодарности:
    5.028
    Адрес:
    МО
    К меня +7.
     
  2. dimex2015
    Регистрация:
    25.10.15
    Сообщения:
    1.947
    Благодарности:
    372

    dimex2015

    Живу здесь

    dimex2015

    Живу здесь

    Регистрация:
    25.10.15
    Сообщения:
    1.947
    Благодарности:
    372
    Адрес:
    Минск
    Было
    #define PIN_MODBUS_RSE 22 /+ Управление направлением передачи 485 для связи с инвертором по Modbus (1-передача 0-прием)
    Стало
    / Конфигурирование Modbus для инвертора и счетчика SDM
    #define MODBUS_PORT_NUM Serial3 / Аппаратный порт куда прицеплен Modbus
    #define MODBUS_PORT_SPEED 9600 / Скорость порта куда прицеплен частотник и счетчик
    #define MODBUS_PORT_CONFIG SERIAL_8N1 / Конфигурация порта куда прицеплен частотник и счетчик
    #define MODBUS_TIME_WAIT 1000 / Время ожидания захвата мютекса для modbus мсек
    #define MODBUS_TIME_TRANSMISION 0 / Пауза (msec) между запросом и ответом по модбас было 4

    Это правильно?
     
  3. Pskovsat
    Регистрация:
    04.12.12
    Сообщения:
    2.504
    Благодарности:
    1.231

    Pskovsat

    Живу здесь

    Pskovsat

    Живу здесь

    Регистрация:
    04.12.12
    Сообщения:
    2.504
    Благодарности:
    1.231
    Адрес:
    Псков
    @dimex2015, а что смущает?

    Заменил кварц. Отстает также, в каждой минуте 85 сек.
     
  4. vad711
    Регистрация:
    30.04.14
    Сообщения:
    5.310
    Благодарности:
    5.028

    vad711

    Живу здесь

    vad711

    Живу здесь

    Регистрация:
    30.04.14
    Сообщения:
    5.310
    Благодарности:
    5.028
    Адрес:
    МО
    @dimex2015, если используется китайская плата, то PIN_MODBUS_RSE не нужен.
    Далее нужно задать правильно Serial порт, все остальные настройки трогать не нужно.

    Как поживает мини скетч на 10 минут?
    Часовой кварц влияет только на время (в вебе снизу слева), на задержки влияние не оказывает.
    На задержки влияет основной кварц и делители при старте.
     
  5. Pskovsat
    Регистрация:
    04.12.12
    Сообщения:
    2.504
    Благодарности:
    1.231

    Pskovsat

    Живу здесь

    Pskovsat

    Живу здесь

    Регистрация:
    04.12.12
    Сообщения:
    2.504
    Благодарности:
    1.231
    Адрес:
    Псков
    Вспе верно время в вебе и отстает.
    Мини скетч, в секции loop :)
    молчит и в сетупе молчит
     
  6. vad711
    Регистрация:
    30.04.14
    Сообщения:
    5.310
    Благодарности:
    5.028

    vad711

    Живу здесь

    vad711

    Живу здесь

    Регистрация:
    30.04.14
    Сообщения:
    5.310
    Благодарности:
    5.028
    Адрес:
    МО
    @Pskovsat, спереди нужно добавить Serial. begin (115200);
    Цифра - скорость порта.
     
  7. Pskovsat
    Регистрация:
    04.12.12
    Сообщения:
    2.504
    Благодарности:
    1.231

    Pskovsat

    Живу здесь

    Pskovsat

    Живу здесь

    Регистрация:
    04.12.12
    Сообщения:
    2.504
    Благодарности:
    1.231
    Адрес:
    Псков
    Прогнал три раза.
    Все тюлька в тюльку.
     
  8. vad711
    Регистрация:
    30.04.14
    Сообщения:
    5.310
    Благодарности:
    5.028

    vad711

    Живу здесь

    vad711

    Живу здесь

    Регистрация:
    30.04.14
    Сообщения:
    5.310
    Благодарности:
    5.028
    Адрес:
    МО
    Значит что-то или кто-то морозит задачи.
    Загрузка CPU какая?
     
  9. Pskovsat
    Регистрация:
    04.12.12
    Сообщения:
    2.504
    Благодарности:
    1.231

    Pskovsat

    Живу здесь

    Pskovsat

    Живу здесь

    Регистрация:
    04.12.12
    Сообщения:
    2.504
    Благодарности:
    1.231
    Адрес:
    Псков
    Максимум что видел 21% в основном 8-12%
     
  10. vad711
    Регистрация:
    30.04.14
    Сообщения:
    5.310
    Благодарности:
    5.028

    vad711

    Живу здесь

    vad711

    Живу здесь

    Регистрация:
    30.04.14
    Сообщения:
    5.310
    Благодарности:
    5.028
    Адрес:
    МО
    Ну тогда хз, у меня мысли закончились, нужно разбираться вплотную...
     
  11. Pskovsat
    Регистрация:
    04.12.12
    Сообщения:
    2.504
    Благодарности:
    1.231

    Pskovsat

    Живу здесь

    Pskovsat

    Живу здесь

    Регистрация:
    04.12.12
    Сообщения:
    2.504
    Благодарности:
    1.231
    Адрес:
    Псков
    Попробовал влить чистую 996 с твоим конфигом.
    Тоже опаздывает.
    Еще приметил, что собачка, бывает раз в 2-3мин, 25мин или 2 часа 20мин скидывает.
    Железо одинаковое, разные только сетевые платки, память и флешки.
     
  12. vad711
    Регистрация:
    30.04.14
    Сообщения:
    5.310
    Благодарности:
    5.028

    vad711

    Живу здесь

    vad711

    Живу здесь

    Регистрация:
    30.04.14
    Сообщения:
    5.310
    Благодарности:
    5.028
    Адрес:
    МО
    Дело не в конфиге, а в железе.
    Я так понимаю, ни блок питания, ни искрящая плата реле не заменены?
     
  13. Pskovsat
    Регистрация:
    04.12.12
    Сообщения:
    2.504
    Благодарности:
    1.231

    Pskovsat

    Живу здесь

    Pskovsat

    Живу здесь

    Регистрация:
    04.12.12
    Сообщения:
    2.504
    Благодарности:
    1.231
    Адрес:
    Псков
    Он на стоящем, не на работающем НК опаздывает.
    Твой скетч простецкий нормально отсчитал, на питании от аккумулятора ноутбука, на моем внешнем питании, с отключенной и подключенной платой сетевого шильда. upload_2018-12-10_23-41-1.png

    Вот верхний процесс если только шалит, жрет время. Потом собака сбрасывает...
     
    Последнее редактирование: 10.12.18
  14. Pav2000
    Регистрация:
    01.03.09
    Сообщения:
    1.018
    Благодарности:
    2.705

    Pav2000

    Живу здесь

    Pav2000

    Живу здесь

    Регистрация:
    01.03.09
    Сообщения:
    1.018
    Благодарности:
    2.705
    Адрес:
    Москва
    Все делать на выключенном ТН (простой).
    1. Вопрос какая память на i2c стоит (названием микросхемы, с описанием где стоит), и какая память определена в прошивке?
    это вот здесь:
    #define I2C_EEPROM_64KB / + Использование памяти I2C для записи журнала при коментарии используется оперативка
    #define I2C_FRAM_MEMORY 1 / + Тип используемой памяти 0 - Флеш 1 (обычно) - FRAM память (vad711)
    #ifdef I2C_EEPROM_64KB / В зависимости от типа чипа
    #define I2C_ADR_EEPROM 0x50 / Адрес чипа eeprom на шине I2C
    #define I2C_SIZE_EEPROM 512 / Объем чипа в килобитах (vad711: FM24V10 - это фактически два чипа разделенные пином, в библиотеке exteeprom сквозная нумерация: 65536+ другая страница)
    #define I2C_MEMORY_TOTAL 1024 / Итоговый размер I2C памяти в килобитах (если несколько чипов)
    #define I2C_PAGE_EEPROM 64 / Размер страницы для чтения eeprom байты
    #else / все остальное
    #define I2C_ADR_EEPROM 0x57 / Адрес чипа eeprom на шине I2C
    #define I2C_SIZE_EEPROM 32 / Объем чипа eeprom в килобитах
    #define I2C_PAGE_EEPROM 32 / Размер страницы для чтения eeprom байты
    #define I2C_MEMORY_TOTAL I2C_SIZE_EEPROM / Итоговый размер I2C памяти
    #endif
    код в студию.
    2. Попробовать мой (5 конфиг) в режиме демо (он включен по умолчанию), не забыть сделать соответствие i2c памяти (см.п1.)
    3. Включить всю индикацию ошибок, смотреть счетчики ошибок и лог на предмет ошибок
    4. Веб морда быстро открывается? не тормозит?
    5. Страница сеть. в конце табличка по сокетам - нет ли лишних адресов? лучше фото в студию
    6. Еще раз убедиться что все либы обновлены для нужной прошивки.
    7. Настройки спай шины ?
    8. Морда должна соответствовать прошивке.
    9. Отключить логирование истории на сд карту. ПОМНИМ что при первом запуске истории идет создание файла 5 минут.
    10. Какая сд стоит? если стоит больше 2 гб крайне желательно форматнуть ее с максимальным размером блока (винды это позволяют делать).
    11. Если есть спай диск - закинуть туда мору и посмотреть место расположение морды (флеш или карта) влияет на торможение.
    12. Вопрос часы (именно минуты и секунды отстают?) проверить по логу, там некоторые сообщения идут с меткой времени.
    13. Найти шаманский бубен, и провести ритуал изгнания злых духов из контроллера.

    Отвечать с ссылкой на пункты
     
  15. vad711
    Регистрация:
    30.04.14
    Сообщения:
    5.310
    Благодарности:
    5.028

    vad711

    Живу здесь

    vad711

    Живу здесь

    Регистрация:
    30.04.14
    Сообщения:
    5.310
    Благодарности:
    5.028
    Адрес:
    МО
    @Pskovsat, с верхним процессом все норм, так и должно.
    Да и прошивка очень старая.

    Вот, запусти-ка, проверим голое железо (скорость монитора порта 250000):
    Код:
    #include "Arduino.h"
    #include "rtc_clock.h"
    #include "DS3232.h"
    
    RTC_clock rtcSAM3X8(XTAL);
    DS3232  rtcI2C;
    tmElements_t tm;
    volatile unsigned long ulHighFrequencyTimerTicks;
    
    #define SEC_1970_TO_2000      946684800
    static  const uint8_t dim[] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
    unsigned long TimeToUnixTime(tmElements_t t) //[V]*
    {
        uint16_t  dc;
        dc = t.Day;
        for (uint8_t i = 0; i<(t.Month-1); i++) dc += dim[i];
        if ((t.Month > 2) && (((t.Year-2000) % 4) == 0))  ++dc;
        dc = dc + (365 * (t.Year-2000)) + (((t.Year-2000) + 3) / 4) - 1;
        return ((((((dc * 24L) + t.Hour) * 60) + t.Minute) * 60) + t.Second) + SEC_1970_TO_2000;
    }
    
    void setup() {
        Serial.begin(250000);
        rtcSAM3X8.init();
        rtcI2C.begin(400000);
        rtcI2C.read(tm);
        rtcSAM3X8.set_clock(TimeToUnixTime(tm));
    }
    
    void loop() {
        Serial.print("RTC: ");
        rtcI2C.read(tm);
        Serial.print(tm.Hour); Serial.print(":"); Serial.print(tm.Minute); Serial.print(":"); Serial.print(tm.Second);
        Serial.print("\nSAM: ");
        Serial.print(rtcSAM3X8.get_hours()); Serial.print(":"); Serial.print(rtcSAM3X8.get_minutes()); Serial.print(":"); Serial.print(rtcSAM3X8.get_seconds());
        Serial.print("\nT: ");
        Serial.print(GetTickCount());
        Serial.print("\n\n");
        delay(600000);
    }
    
     
    Последнее редактирование: 11.12.18
Статус темы:
Закрыта.