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

Контроллер ТН на скорую руку

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

  1. Sheeny
    Регистрация:
    25.05.10
    Сообщения:
    740
    Благодарности:
    881

    Sheeny

    Живу здесь

    Sheeny

    Живу здесь

    Регистрация:
    25.05.10
    Сообщения:
    740
    Благодарности:
    881
    Адрес:
    Ивантеевка
    В конфиге:
    uint8_t SPI_RATE = 2; / делитель для SPI шины, 2=42MHz, 3=28MHz, 4=21MHz
     
  2. Альтермолог
    Регистрация:
    29.03.11
    Сообщения:
    8.499
    Благодарности:
    6.235

    Альтермолог

    Живу здесь

    Альтермолог

    Живу здесь

    Регистрация:
    29.03.11
    Сообщения:
    8.499
    Благодарности:
    6.235
    Адрес:
    Москва
    Спасибо, но главная проблема дуню шить я не умею, для меня это невыполнимая задача. Был бы пошаговый видос именно по НК, было бы проще, в тексте вообще ничего не понятно, туда не ходи, это не открывай, найди куда записалось, тот же Павел пишет, что сам долго искал. Если честно полез на тот же гибхаб, я там даже архива никого не нашёл. Неужели автозагрузку никакую нельзя придумать?
     
  3. vad711
    Регистрация:
    30.04.14
    Сообщения:
    5.300
    Благодарности:
    5.019

    vad711

    Живу здесь

    vad711

    Живу здесь

    Регистрация:
    30.04.14
    Сообщения:
    5.300
    Благодарности:
    5.019
    Адрес:
    МО
    upload_2019-12-4_17-5-5.png

    У меня такая же плата и работает без понижения частоты, так что может не в этом дело.

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

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

    Разработка устройств, которые легко налаживать, а программу легко дорабатывать это утопия и чем ближе она стремится к идеалу, чем тяжелее и дороже разработка.
     
  4. Альтермолог
    Регистрация:
    29.03.11
    Сообщения:
    8.499
    Благодарности:
    6.235

    Альтермолог

    Живу здесь

    Альтермолог

    Живу здесь

    Регистрация:
    29.03.11
    Сообщения:
    8.499
    Благодарности:
    6.235
    Адрес:
    Москва
    Всё что не смотрел, то по написанию скетчей и там почему то всё залетает, а если промониторить тему по НК, то обновление прошивки вызывает у народа дрожь в коленях. Если есть видосы полезные для НК буду признателен за ссылки, да и для этой темы будет интересно.
     
  5. Perelesnik
    Регистрация:
    01.02.13
    Сообщения:
    991
    Благодарности:
    4.616

    Perelesnik

    Живу здесь

    Perelesnik

    Живу здесь

    Регистрация:
    01.02.13
    Сообщения:
    991
    Благодарности:
    4.616
    Адрес:
    Черкассы
    "Косичка" - это 10 тонких проводков к блоку реле (8 сигнальных + питание) и 11 к коннекторам термодатчиков (9 сигнальных, + и -).

    Это вместо того, чтобы тянуть минимум 9 толстых проводов на 220 Вольт + 18 проводов с термодатчиков непосредственно к самому контроллеру.

    Такова была общая просьба и клиентов, и монтажников. Так как получается более красиво и аккуратно (контроллер монтируется на стену возле ТН в удобном для пользователя месте). Вся "силовая" разводка с блоком реле при этом остается внутри корпуса ТН, делается заранее (не на самом объекте) и никому не мешает.

    "Косичка" получается в несколько раз тоньше и гибче, чем если тянуть все провода прямо к контроллеру. Плавали - знаем :)

    Без проводов все равно не обойтись. Ну не впаивать же на одну общую плату прямо и компрессор, и соленоид, и насосы, и все датчики, и пускатели...

    А плата с голыми коннекторами выглядит красиво только пока к тем коннекторам ничего не подсоединено на реальном объекте.

    Кстати, и "косичка" - решение временное, чисто переходное. Скорее всего я дальше сделаю так, как всегда поступаю: оставлю контроллер вообще без всяких проводов (кроме шнура питания самого контроллера), а связь будет беспроводной.

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

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

    А вот "волосатый" блок, в который все многочисленные провода будут втыкаться внутри ТН, скорее всего, будет иметь разные варианты комплектации. В зависимости от особенностей проекта. Процессор там ставится простейший и дешевейший (за 2-3 доллара) - его с головой хватает для коммутации и работы с протоколом связи с главным блоком. И на ЭРВ хватит, и на ШИМы... с большим запасом. Вообще, в основном ресурсы процессора "кушает" часть кода, предназначенная для общения с пользователем, а не с "железом". А здесь не будет ничего, кроме "железа". АЦП отдельный - вряд ли будет. Полтора десятков аналоговых входов - нормально. И даже 10 нормально. Если больше - монтажники проклянут. Точно проклянут. Разрядности встроенного АЦП тоже хватит.

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

    Получается такой себе компромисс между желанием монтажников делать всю разводку на коротких проводах ближе к "железу" и желанием пользователя иметь экранчик с кнопочкой в удобном месте и без пугающих пучков кабелей к нему.

    Производители серийных котлов поступают немного иначе - у них "главный процессор" располагается не на выносном блоке с экраном и кнопками, а внутри котла, на большой плате. Но у них вариант серийного изделия и там плата разрабатывается для копирования в количестве тысяч экземпляров без изменений. У меня вот, наоборот, постоянные изменения от объекта к объекту.

    Провода, если интересно, беру МГТФ. К сожалению, при Союзе не сделал никаких запасов. Но многие, видимо, сделали. Поэтому покупаю (в розницу, по несколько десятком метров) или в радиомагазине, или в интернет-магазине по Ардуинкам. Обычно везде есть в хорошем ассортименте.
    Пока что более удобного в работе и надежного в эксплуатации провода для себя не обнаружил (даже супер-тонко-многожильные посеребренные провода в силиконовой изоляции не идут ни в какое сравнение).

    Вот возникло такое впечатление, что запасов МГТФ в нашей стране на мой век точно хватит.
     
  6. Gaunt
    Регистрация:
    14.06.12
    Сообщения:
    14.714
    Благодарности:
    10.099

    Gaunt

    Живу здесь

    Gaunt

    Живу здесь

    Регистрация:
    14.06.12
    Сообщения:
    14.714
    Благодарности:
    10.099
    Адрес:
    Стерлитамак Уфимской Губернии
    Собственно, этим и занят.
    В отличии от народного, использую дешевую адруину, и никаких красявостей - никакого умного дома.
    Как правильно подметил @Альтермолог, достаточно прикрутить пару датчиков какого-нибудь сяоми, джиэсэм сигнализацию и дело в шляпе.
    Как раз тащить семнадцать силовых проводов внутрь ТН - моветон.
    Достаточно просто включить в розетку.
    Контроллер, кстати, прекрасно дружит с малинкой, на которой полностью вертится умный дом, от сигнализации и видеонаблюдения, до лампочек и ТН.
    Но это удел избранных. Даже я туда не суюсь. Мне пока одного наркотика хватает - ТН.
    Надеюсь, к следующему сезону будет готов бюджетный продукт.
    Хотя вру, есть ещё один червячок...хочу супермаховик смастерить. Но это дорого. Сначала надо денег заработать.
     
  7. vad711
    Регистрация:
    30.04.14
    Сообщения:
    5.300
    Благодарности:
    5.019

    vad711

    Живу здесь

    vad711

    Живу здесь

    Регистрация:
    30.04.14
    Сообщения:
    5.300
    Благодарности:
    5.019
    Адрес:
    МО
    Тут скорее знакомство с экосистемой ардуино и с языком программирования C+.
    Видосы и доки конкретно под НК должны быть чем-то мотивированы.
    Ну это смотря какая ардуина, а то 10 бит маловато для перегрева, если датчики не удачные.
     
  8. Perelesnik
    Регистрация:
    01.02.13
    Сообщения:
    991
    Благодарности:
    4.616

    Perelesnik

    Живу здесь

    Perelesnik

    Живу здесь

    Регистрация:
    01.02.13
    Сообщения:
    991
    Благодарности:
    4.616
    Адрес:
    Черкассы
    На всех Ардуинках, которые я использую, одна и та же разрядность АЦП - 10 бит.
    А если датчики не удачные, то тут разрядность уже не спасает.
    Если исходный аналоговый сигнал приходит неверный, то его хоть как точно не измеряй, результат будет все равно неверный.

    Могу посоветовать простое решение, если нужно получить точное (до сотых долей градуса) значение температуры без дополнительного АЦП на плате: DS18B20 имеет собственный АЦП на 12 бит.

    В первом варианте контроллера, выполненном именно на этих датчиках, впрочем, я программно уменьшал разрядность до 10 бит - ради быстродействия всей системы. Тем не менее, по перегреву работало (и до сих пор работает) четко.

    Если кому нужно, то изменяется там разрядность так:

    Код:
    #include <OneWire.h>
    #include <DallasTemperature.h>
    
    #define ONE_WIRE_BUS_1 22
    OneWire oneWire_1 (ONE_WIRE_BUS_1);
    DallasTemperature sensors1(&oneWire_1);
    DeviceAddress Thermometer1;
    
    sensors1.getAddress(Thermometer1, 0);
    
    if (sensors1.getResolution(Thermometer1) > 10) {
    //  Serial.println("Thermometer1 high resolution.");
        sensors1.setResolution(Thermometer1, 10);
        delay (20);
      }
    
    ПЫ_СЫ: если используем аналоговые датчики (терморезисторы), то "+" на них подавать желательно именно тот, на котором и АЦП работает. Другими словами, если используется внутренний АЦП Ардуинки, то питаем датчики именно от внетреннего стабилизатора этой самой Ардуинки.
     
  9. Gaunt
    Регистрация:
    14.06.12
    Сообщения:
    14.714
    Благодарности:
    10.099

    Gaunt

    Живу здесь

    Gaunt

    Живу здесь

    Регистрация:
    14.06.12
    Сообщения:
    14.714
    Благодарности:
    10.099
    Адрес:
    Стерлитамак Уфимской Губернии
    Будет работать на старт-стопе и обычном испарителе с тепловым напором 6-8К.
    При попытке уменьшить тепловой напор - получишь дулю, а не стабильный перегрев.
    Все у вас ещё впереди.
     
  10. vad711
    Регистрация:
    30.04.14
    Сообщения:
    5.300
    Благодарности:
    5.019

    vad711

    Живу здесь

    vad711

    Живу здесь

    Регистрация:
    30.04.14
    Сообщения:
    5.300
    Благодарности:
    5.019
    Адрес:
    МО
    В DUE - 12.

    Я имел ввиду не удачный коэффициент и базовое сопротивление для измеряемого диапазона.

    10 бит (t°C - АЦП):
    86.0 - 127
    86.1 - 126
    86.2 - 126
    86.3 - 126
    86.4 - 126
    86.5 - 125
    12 бит:
    86.0 - 507
    86.1 - 506
    86.2 - 505
    86.3 - 504
    86.4 - 502
    86.5 - 501

    При 10 битах одно и тоже показание с 86.1 до 86.4, но если измерять от 0 до 40 градусов, то вполне норм (759,758,757,...) .
     
    Последнее редактирование: 05.12.19
  11. faids
    Регистрация:
    18.10.15
    Сообщения:
    3.429
    Благодарности:
    1.019

    faids

    Живу здесь

    faids

    Живу здесь

    Регистрация:
    18.10.15
    Сообщения:
    3.429
    Благодарности:
    1.019
    Адрес:
    Тамбов
    1) Требуется ли коррекция кода для использования на Arduino UNO на ATmega328P ?

    2) умеет ли контроллер управлять ЭТРВ или на него нужно отдельную Ардуинку типа https://www.forumhouse.ru/threads/280889/ ?
     
  12. Perelesnik
    Регистрация:
    01.02.13
    Сообщения:
    991
    Благодарности:
    4.616

    Perelesnik

    Живу здесь

    Perelesnik

    Живу здесь

    Регистрация:
    01.02.13
    Сообщения:
    991
    Благодарности:
    4.616
    Адрес:
    Черкассы
    1) Да, требуется упрощение кода, особенно в части работы с экранными меню (уменьшение количества используемых шрифтов) по причине значительно меньшего объема внутренней памяти на ATmega328P,
    Уменьшить количество аналоговых входов до 8, имеющихся у ATmega328P,
    Переназначить адреса цифровых выходов (которые на реле идут) в соответствии с нумерацией ATmega328P и уменьшить их количество: для работы с экраном и энкодером нужно 6 выходов, остается 6 доступных (а прошивка предполагает работу с 8 реле). Если нужно ЭРВ, то останется только 2 выхода на реле.
    2) Такая функция была (с подключением внешнего драйвера шагового двигателя ULN2003), но по просьбе заказчика я ее убрал из кода.
     
  13. faids
    Регистрация:
    18.10.15
    Сообщения:
    3.429
    Благодарности:
    1.019

    faids

    Живу здесь

    faids

    Живу здесь

    Регистрация:
    18.10.15
    Сообщения:
    3.429
    Благодарности:
    1.019
    Адрес:
    Тамбов
    Можете кодом поделиться?
     
  14. Perelesnik
    Регистрация:
    01.02.13
    Сообщения:
    991
    Благодарности:
    4.616

    Perelesnik

    Живу здесь

    Perelesnik

    Живу здесь

    Регистрация:
    01.02.13
    Сообщения:
    991
    Благодарности:
    4.616
    Адрес:
    Черкассы
    Неа. Я бэкапов кода не делал. Просто снес из программы...
    Да и алгоритм по ЭРВ не писал сам изначально, скопипастил просто из какого-то уже существующего проекта, влепил в программу и проверил как работает.
    Сейчас попробую найти, откуда скоммуниздил...

    https://github.com/gonzho000/chpc/blob/master/CHPC_firmware.ino
     
  15. Gaunt
    Регистрация:
    14.06.12
    Сообщения:
    14.714
    Благодарности:
    10.099

    Gaunt

    Живу здесь

    Gaunt

    Живу здесь

    Регистрация:
    14.06.12
    Сообщения:
    14.714
    Благодарности:
    10.099
    Адрес:
    Стерлитамак Уфимской Губернии
    @Perelesnik, Поздравляю. Это первый "разработчик" бюджетного контроллера ТН, из которого вырос сегодняшний мой=наш контроллер.
    Будет работать на воздушке - проверено.