Модификация термостата W1209

W1209 thermoЕсть такой недорогой китайский термостат W1209. Их в изрядном количестве продают разнообразные китайские магазины. Из плюсов — цена :). Остальное немножко недостатки, частично который можно исправить перепрограммированием набортного контроллера — STM8S003F3.


Термодатчиком работает терморезистор,  штатная прошивка позволяет ввести только смещение показаний. Соответственно для такой штуки точность может быть не очень (как повезет). Однако, есть неплохой цифровой термодатчик DS18B20, который калибровки не требует(ну, условно). Берем такой датчик, немного модернизируем платку (снимается конденсатор С1 возле разъема датчика, резистор R2 заменяем на 4,7К). Новый датчик цепляем на разъем старого (там GND и DQ), питание берем с разъема программирования(квадратный пятак слева от индикатора). Плюс заливаем новую прошивку — оп, работает 🙂 Отмечу, оригинальная прошивка защищена от считывания, поэтому сохранить ее не удалось. Возврата к старому варианту не будет. Другим пользователям повезло больше, китайцы не закрыли от считывания, так что родная прошивка приложена ниже. Новая — умеет установить порог срабатывания реле и метод управления — реле работает если температура ниже заданной или если выше. Краткое нажатие кнопки SET позволяет установить порог, удержание SET — метод управления.

Схема устройства(стырено отсюда, спасибо автору):
schematic

Что потребуется:
1) программатор ST-Link/V2. Или любая плата STM8 Discovery (там он есть встроеный, можно использовать). Стоимость на алиэкспресс в пределах 2..4$
2) софт для программатора
http://www.st.com/web/en/catalog/tools/PF260219# (драйвер)
http://www.st.com/web/catalog/tools/FM147/CL1794/SC1807/SS1747/PF210568 (софт для программирования)
3)  кусочек гребенки с шагом 2,54мм для программирования (можно без нее, просто проводочки впаять)
4) резистор типоразмера 0805 с номиналом 4,7КОм.
5) сам датчик DS18B20.

Производим модернизацию платы термометра согласно картинке

Берем программатор и соединяем его с разъемом программирования впаяным (или просто проводами). Обычно на программаторе подписано что и куда. Для моего варианта (как пример) см. картинку


Получаем что-то типа, как на картинке


Запускаем программу ST-Link Visual Programmer, выставляем параметры программирования

Чип изначально защищен от чтения/записи. Надо разблокировать:

1) +12в не подавать. питать от ст-линка.
2) запустить программатор.
3) не делая попытки записать, попробовать прочитать данные. (должна быть ошибка, по идее)
4) если таки да — закладка options (третья, там первая программа, вторая еепром, третья байты опций) переключиться на нее и сделать write page.
5) попробовать вычитать — если все нормально, чип начнет читаться нулями и перестанет совсем работать железка :)

Теперь записываем новую прошивку.

Файл — открыть — выбираем thermo.hex из архива с исходниками.
Жмем — Program — All Tabs.

Подключаем датчик DS18B20, отрываем программатор от платы (в принципе, достаточно отключить только линию RESET) и все. На дисплейчике появится при удаче — температура с датчика.

Если же температура не появилась — не повезло, придется резать дорожку и делать перемычку (мешает конденсатор под дисплеем).

Исходные тексты прошивки

Оригинальная прошивка
Альтернативная прошивка с гистерезисом и отрицательными температурами
Upd.15.04.17 Показометр влажности на базе dht11/dht22
Upd.30.05.19 Прошивка для работы с термопарой на базе модуля max6675
Подключение модуля к МК: MISO PD2, SCK PD3, CS PD6
Upd 20.07.19 Другой вариант немного прошивки под DHT11/22

Модификация термостата W1209: 492 комментария

    • Добрый день ! Можно ли скоректировать программу ацп платы w1209 для использования стандартных термосопротивлений с линейной характеристикой ? не бесплатно конечно.

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

  1. если нужна заводская прошивка даного терморегулятора (w1209) пишите в личку

    • Автору, спасибо за науку.
      Прошивка заводская тут: (Нужна регистрация на ХомДистиллер.)

      files.homedistiller.ru/147060.hex

  2. Автору спасибо! Повторил конструкцию — работает. Но непонятно с установками — а что нижнего предела нет? Это что ПИД-регулирование?

    • Нет. Это простой пороговый автомат.В зависимости от настройки срабатывания (опция 0 или 1), устройство будет включено при температуре меньшей, установленой, по превышении выключится. Или наоборот (выключено если меньше, включится при превышении).

  3. Понятно. Это не термостат. Спасибо за исходники. Будем работать дальше.

  4. Повторил конструкцию —НЕ работает, пока не выяснил или термодатчик сгорел или прога не работает. Сижу у «разбитого корыта», с терморезистором Ваша прошивка работать не будет, а старую не вернуть.

    • Там под дисплеем еще есть конденсатор.. Он тоже мешает в некоторых случаях. Варианты решения — или поднять дисплей и выпаять конденсатор, или обрезать дорожку, ныряющую под дисплей с обоих сторон и проводочком на датчик.
      Ну или обновил статью — добавил файл с исходной прошивкой, если экспериментировать надоело.

  5. Проводочик помог. Вылез другой баг, комнатная температура 03.5; пальцами нагрел до
    04.1, ???

    • Здесь уже не знаю, никогда такого не встречал. «Соплей» нет? Датчик точно исправен?
      Какие-либо показания выводятся только если получена корректная контрольная сумма от датчика…

  6. Пока тоже в ауте.
    А можно Вашу прогу доработать для терморезистора? У самого врядли получится,
    программист из меня никакой.

  7. Возникла необходимость таймера на заданную температуру (например 99градусов 10минут затем чтобы отрубалась насовсем)

  8. Нашел ошибку!!! В статье описан датчик DS18B20, а я поставил DS1820 (из исходников запомнилось наверное) .

    • А, таки да. У 18(s)20 и 18(b)20 немного отличаются форматы выдачи. Если правильно помню, я рассчитывал в коде на 12бит разрешение, которое 1820 просто не умеет. Вот и чудеса с преобразованием.

  9. а возможно верхнюю температуру работы поднять градусов до 300 или 1000 лучше?

    • Да. Совершенно другим датчиком и совсем другой программой. Возможно, есть терморезистор с рабочими температурами в нужных значениях. Тогда заменить родной, переделать программу.

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

    • Сама настройка ацп, если через либы стм, примерно так:

      GPIO_Init(GPIOD,GPIO_PIN_6,GPIO_MODE_IN_FL_NO_IT); // AIN6
      ADC1_DeInit();
      ADC1_ScanModeCmd(ENABLE);
      ADC1_DataBufferCmd(ENABLE);
      ADC1_Init(ADC1_CONVERSIONMODE_SINGLE, ADC1_CHANNEL_6,
      ADC1_PRESSEL_FCPU_D8, ADC1_EXTTRIG_TIM, DISABLE, ADC1_ALIGN_RIGHT,
      ADC1_SCHMITTTRIG_CHANNEL6, DISABLE);

      ну и считать данные со входа

      ADC1->CR1 |= ADC1_CR1_ADON; // запуск преобразования

      if((ADC1->CSR & 0x80)) // преобразование завершено?
      {
      ADC1->CSR &= 0x7F; // сбросим флаг
      value = ADC_GetBufferValue(ADC1_CHANNEL_6);
      }

      где-то так. Ну а дальше производить расчет, смотря что к ацп подключено.

  11. а ниже нуля принципиально нельзя померить? или у меня с ds1820 не стыкуется?

    • Можно конечно. Результат с датчика обрабатывать как значение со знаком и придумать отображение минуса. Отрицательное значение с единицей в старшем бите.

  12. А у меня температуры настраиваются, но реально срабатывает все время от 28 градусов, то есть той температуры, которая мигает при вхождений в настройки.

    • Так мигает как раз температура, на которую настроено срабатывание. После входа в настройки кнопками +/- пробовали менять, выходить по SET, зайти и посмотреть — сохранилось ли нормально все?

  13. Что делать? Практически могу использовать только как термометр или только на одну 28 c температуру с гистерезисом. Мож кто посоветует где копать. Купил несколько и все с такой неисправностью.

  14. Приобрёл такой девайс но при включении почему-то пробил пробил стабилизатор 5 вольт и соответственно STM8S003F3P6 выгорел. Подскажите можно ли простыми методами(типа JTAG) прошить такой контролер. Надеюсь прошивкой поделитесь :-).

  15. Подпилил проект автора — теперь показывает отрицательную температуру. И еще при настройке показывает не 0 или 1, а С или Н, то есть Cooling или Heating.

    • Можно ли где-то скачать подпиленный вариант? с отрицательной температурой и С и Н?

    • Это заказная программа. Что потом с ней делает владелец — его проблемы. В данном случае да, они продают.

    • dht11 вроде отличается только точностью (хуже, чем у dht22).

      для stm8s003 на штатных 8мгц (вроде, может на 16 тогда настраивал) читал dht22 вот таким кодом примитивным

      uint8_t dht22_measure_flag = 0;
      u8 imp_len[100];
      u8 imp_res[5];

      void dht22_measure(void)
      {
      if (!dht22_measure_flag) return;
      // дернем датчик за лапку
      GPIO_Init(GPIOC,GPIO_PIN_5,GPIO_MODE_OUT_PP_LOW_FAST);
      GPIOC->ODR &= ~GPIO_PIN_5;
      u16 l;
      for (l = 0; l < 2000; l++) { } GPIO_Init(GPIOC,GPIO_PIN_5,GPIO_MODE_IN_PU_NO_IT); u8 i, k, v; v = GPIOC->IDR & GPIO_PIN_5;

      for (i = 0; i < 100; i++) { imp_len[i] = 0; while (((GPIOC->IDR & GPIO_PIN_5) == v) & (imp_len[i] < 255)) imp_len[i]++; v = GPIOC->IDR & GPIO_PIN_5;
      }

      if (((0x24 - imp_len[1]) <= 3) & ((0x24 - imp_len[2]) <= 3)) { // пресенс был от датчика i = 4; for (v = 0; v < 5; v++) { imp_res[v] = 0; for (k = 0; k < 8; k++) { if (imp_len[i] > 0x15)
      {
      imp_res[v] |= 1 << 7- k; } i += 2; } } // посчитаем crc uint8_t crc = 0; for (i = 0; i < 4; i++) crc += imp_res[i]; if (crc == imp_res[4]) { //imp_res[i]; здесь в массиве imp_res от 0..3 данные с датчика dht22 dht22_measure_flag = 0; // фух, намеряли что-то } } }

      • Есть еще для DHT21
        // Header: DHT21-AM2301
        // File Name: loc_dht21_am2301_stm8s.c
        // Author: Nguyen Phuc Loc
        // Date:11/03/2015

        #include «loc_dht21_am2301_stm8s.h»
        #include «stm8s.h»
        ///////////////////////##########################################

        void delay_us(unsigned int x){

        nop();

        }
        ///////////////////##############################################
        void delay_x(unsigned int x)
        {

        while(x—)
        {
        nop();
        }
        }
        ////////////////////////######################################
        void Start(void)
        {
        SET_OUT();
        ONE_WIRE_HIGH();
        delay_x(100); //delay 50us
        ONE_WIRE_LOW();
        delay_x(2000); //delay 1ms
        ONE_WIRE_HIGH();
        SET_IN();
        delay_x(60); //delay 30us
        }
        /////////////////////////#################################
        uint8_t Check_response(void)
        {
        if(ONE_WIRE_IN()) return 0;
        else
        while(ONE_WIRE_IN()); //cho cho chan DATA duoc keo xuong 0
        delay_x(200); //delay 100us
        if(ONE_WIRE_IN())
        return 1;
        else
        return 0;
        }
        ///////////////////////////#######################################
        unsigned char Read_DHT21(unsigned int *temp,unsigned int *humi)
        {
        unsigned char buff[5]={0,0,0,0,0};
        unsigned char ii,i,checksum;
        Start();
        if(!Check_response())
        return 0;
        else
        while(ONE_WIRE_IN()); //doi DATA ve 0
        //doc du lieu
        for(i=0;i<5;i++)
        {
        for(ii=0;ii<8;ii++)
        {
        while(!ONE_WIRE_IN()); //doi DATA len 1
        delay_x(100); //delay 50us
        if(ONE_WIRE_IN())
        {
        buff[i]|=(1<<(7-ii));
        while(ONE_WIRE_IN()); //doi DATA xuong 0
        }
        }
        }
        checksum=buff[0]+buff[1]+buff[2]+buff[3];
        if(checksum!=buff[4]) return 0;
        if(buff[2]&0x80)
        *temp=buff[3];
        else
        *temp=buff[2]*256+buff[3];
        *humi=buff[0]*256+buff[1];
        return 1;
        }
        ////////////////////////##################################333
        void SET_OUT(void)
        {
        GPIO_Init(GPIOD,GPIO_PIN_6, GPIO_MODE_OUT_PP_LOW_FAST);
        }
        ////////////////////////##################################333
        void SET_IN(void)
        {
        GPIO_Init(GPIOD,GPIO_PIN_6, GPIO_MODE_IN_FL_NO_IT);
        }
        Но опять таки иногда прыгают показания, я так понимаю проблема в delay_x, скажем так в STM не силен

        • ну и пусть прыгают. на датчик подышали — прыгнет. рядом пошуршали — прыгнет. почему нет?

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

  17. Всем привет! Купил 10 штук w1209 и у всех глюк, не отображает температуру више 50градусов а показывает » — — — «. В настройках усе правильно виставлено. Хто может помогите прошивкий или советом что делать и как? [email protected]

  18. artko правильно ли я понял? При повторении вашей разработки. Должен получится термостат: С точностью измерения (шагом индикации измерений)0.1 градуса. Гистерезисом 0.1. Не требует калибровки. И не умеет вносить корректировки температуры.

    • Да, только гистерезиса нет. Просто сверяется заданное значение с установкой. Теоретическая точность реакции датчика на изменение 0.0675 градуса, прекалиброван на заводе, точность измерения 0.5 градуса

          • «точность измерения 0.5 градуса» прошу пояснить.
            условная температура 100 градусов термостат будет показывать при каждом измерении одно и тоже число, или каждый раз разное в диапазоне 100+- 0.5.

          • Если на границе датчика, могут и «мерцать» показания.

      • (Я не программист. придётся кого то просить помочь.)
        Сколько строчек нужно переписать в программе для частоты измерений примерно 2 в секунду.

        • Если устроит точность отклика 0,5градуса, то достаточно поменять константы в программе. Если нужно 0.0675 то нисколько, датчик измеряет температуру с таким разрешением 0.75секунды. т. Е. Два измерения в секунду просто невозможно

          • «Насколько помню, один раз в две секунды»?
            «Если нужно 0.0675 то нисколько, датчик измеряет температуру с таким разрешением 0.75секунды.»?
            0.0675.гр. 0.75секунды. вполне устраивает.

          • С предельной точностью чаще чем раз в секунду нельзя. Еще время опроса и при большой частоте точность уплывет изза саморазогрева датчика

  19. «Если на границе датчика, могут и «мерцать» показания.»
    мерцать в диапазоне 0.5гр. или 0.0675 гр.?

  20. Можно ли у термостата W1209 поднять верхний предел измерения температуры до 300 градусов или выше (термопечь), что для этого нужно и как это сделать? Достаточна точность измерения в 1 градус.

    • Можно. Взять другой термодатчик. Не знаю, если есть терморезисторы до такой температуры — то обойдется переделкой в основном программы, если термопара — то придется городить и обвязку другую.

  21. Термопара, например К-типа по цене 180 руб. у китайцев.https://ru.aliexpress.com/item/5PCS-Lot-Stainless-Steel-Temperature-Sensor-K-Type-Thermocouple-Bayonet-Compression-Spring-with-2m-Cable-Wire/1717230149.html?
    Модуль из Китая на микросхеме MAXIM MAX6675, которая выдает на выходе цифровой сигнал. Для Ардуино такой модуль стоит 170 руб https://ru.aliexpress.com/item/1pcs-MAX6675-K-type-Thermocouple-Temperature-Sensor-Temperature-0-800-Degrees-Module/32686656074.html?
    Как состыковать сей девайс с W1209 ?
    Еще один вариант на микросхеме AD597. У нее аналоговый выход действующий по закону
    AD597 output = (Type K voltage) × 245.46
    Модуль на AD597 стоит около 450 руб.https://ru.aliexpress.com/item/CJMCU-597-AD597-K-type-thermocouple-temperature-measurement-sensor-analog-output-module-3D/32657924063.html?
    Есть еще один вариант (аналоговый) на операционном усилителе LM358 по цене около 2 руб.(партия 100шт).https://ru.aliexpress.com/item/Free-shipping-10pcs-LM358DR-SMD-Amplifier-SOIC8-LM358/32345652395.html?
    Сам модуль W1209 из Китая стоит 130 руб.
    Какой же вариант выбрать, как схему составить и запрограммировать контроллер?

    • Модуль на MAX6675 не пойдет, у W1209 нет свободных ног для него (надо три, есть один)

      любой аналоговый сигнал, если приведет к диапазону 0…5в — можно пересчитать и что-то показать.
      Можно на LM358 — точность только будет хромать.

      … то время как AD597 работает в диапазоне от -200 °С до +1250 °С (диапазон термопар типа K). Усилители откалиброваны с точностью ±4 °С при температуре окружающей среды 60 °С и характеризуются температурной стабильностью 0,05°С/°С при изменении температуры окружающей среды в пределах от 25 °С до 100 °С….

      так что с точностью в +-1градус — как-то плохо.

  22. Ответ понятен, на LM358 будет гораздо дешевле. Поясните пожалуйста про точность.
    В термостате инкубатора, где температура поддерживается около 38 градусов требуется точность в одну четвертую градуса. У меня же термопечь должна поддерживать кулинарную температуру в пределах 180 — 250 градусов с точностью +-5 градусов температура окружающей среды 30 — 60 градусов). Если точность окажется выше, то это будет даже лучше.
    Можно ли состыковать W1209 с узлом на LM358, взятым с приводимой ниже ссылки?
    http://forum.cxem.net/index.php?/topic/156323-%D1%82%D0%B5%D1%80%D0%BC%D0%BE%D0%BC%D0%B5%D1%82%D1%80-400-%D0%BD%D0%B0-%D1%82%D0%B5%D1%80%D0%BC%D0%BE%D0%BF%D0%B0%D1%80%D0%B5-%D0%BA-%D1%82%D0%B8%D0%BF%D0%B0/

    • А простой метод Вам не подойдет ?
      Китайский тестер с термопарой. Мультиметр DT830E.Я таким измеряю температуру жала паяльника. Проверял на газплите — 800 градусов измеряет.

        • «Аппаратура принем, принем» в виде специально обученного товарища и тумблера. 😉

          • Я так понимаю, надо измерять температуру печки? А регулировать температуру мощным диммером.

  23. У термопары очень мелкие напряжения. Если усиливать LM358 — то малейшие шумы по питанию/шумы самого ОУ будут приводить к «прыжкам» температуры. Это к вопросу о точности.
    Состыковать с узлом из ссылки — можно. Поставить вместо штатного датчика и написать программу 🙂

    • Могу. Для этого нужна термопара и адаптер для нее. Поскольку их у меня нет — то не могу 🙂

  24. А можно исходники оригинальной прошивки. Хочу гистерезис побольше поставить.

  25. А, я думал это ваше творение. Не подскажете есть ли смысл ковырятся в ассемлере и искать тот байтик ограничения в 15 градусов? Реально ли? Опыта пока мало.

    • Не знаю.. с асмом последний раз встречался на спектруме, у стм8 вроде похожий. Имхо проще взять исходник неродной прошивки(моей или здесь в комментах есть еще вариант) и доделать что хочется.

  26. попалась партия плат W1209 подтягивающий резик к +5в был 200 ом вместо 20 кОм и STM чистая. После замены резистора и прошивки заработал. 🙂 Вот и заморочился подправить как мне нужно.

  27. После долгих ковыряний нашел. Как я и предполагал 15.0 записано как 150, так что максимальный гистерезис без исходников смог поставить только на 25.5 градуса. Кому надо ссылка для скачивания: https://yadi.sk/d/8-DAmTYy3Gi9tM

  28. В качестве продолжения темы прошу рассмотреть вариант применения (модификации) STM8S003F3 в товаре https://ru.aliexpress.com/item/DC12V-Dual-LED-Cycle-Timer-Delay-Control-Switch-Relay-DIY-Module-Digital-Display/32773747998.html?
    Внешний вид http://s020.radikal.ru/i710/1704/79/0f02d5c4509c.jpg
    Вот я срисовал электрическую схему http://s012.radikal.ru/i320/1704/ad/a7b7c45aba51.jpg
    Цена вполне доступная а возможности за счет второго дисплея удваиваются, к тому же есть возможность расширения интерфейса в сторону I2C.

  29. Графический дисплей конечно есть гуд, однако цена немножко возрастает (хотя возможностей думаю будет больше).
    А схемку сможете нарисовать (с расширенными возможностями)?

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

  30. Можно ли, за оплату конечно,переделать https://ru.aliexpress.com/item/XH-B305-DC12V-electronic-digital-thermometer-digital-thermometer-head-high-and-low-temperature-alarm-high-precision/32799682519.html?spm=2114.0 под терморезистор pt 100 Показания должны быть с десятками . Я купил вариант переделки W 1209 но там нет десятичных показаний.

  31. Я могу прислать датчик Pt100 а также переделанный под Pt 100 W1209,но мне нужны десятые в показаниях а с W1209 не смогли сделать да и при 3 разрядах температуру больше 100 не покажеш с десятыми ,потому я и заинтерисовался термометром с четирьма разрядами, но NTC не та точность и характеристики не такие линейные как у Pt 100.Правда дороговато у китайцев.

  32. А как Вы смотрите на посылку (отправку) вам необходимого материала-hard’а для того, чтобы Вы написали soft. И на каких условиях это возможно?

    • какой диапазон температур нужен и с какой точностью? не факт, что стм8 сможет, надо прикидывать. датчика pt100 разве что не хватает для проверки, что и как, остальное есть.

  33. Есть желание по максимуму модифицировать W1209.
    Выпаять 3-х разрядный индикатор, 3 кнопки, реле.
    На дополнительной плате (платах) разместить 1-разрядные индикаторы, питающиеся через 74HC595 каждый (исключаем динамическую индикацию), реле, кнопки.
    Один АЦП порт использовать под необходимое количество кнопок.
    Один АЦП порт использовать под разнообразные температурные датчики. В зависимости от датчика меняется программа.
    Использовать 2 таймера (с выходом на реле), работающие независимо от термостата.
    Позже накидаю электрическую схему.
    Хватит ли для этого внутренней памяти процессора?

    • Уже писал ранее.. имхо это перебор и затраченые усилия не стоят результата. Практичнее сдернуть родной дисплей, поставить SPI графический цветной. Уже освободится портов достаточно ( 6 штук), чтобы хватило почти на все что угодно.

      памяти 8КБ у мк.

  34. Точность нужна 0.5 град. диапазон -20…+200 град.Сообщите адрес я пришлю Pt 100 и сможете попробовать.

    • практически малореально. ацп у стм8 — 10 разрядов(1024 значения). если привести к 5в, это 5мв на отсчет. -20..+200 с разрешением 0.5градуса — 440 значения. Подозреваю, пульсации питания (надо будет осциллографом ткнуть в свой 1209) не дадут измерить +-10мв. имхо.

  35. А если сузить диапазон измерений (с разбивкой на несколько поддиапазонов)?

  36. Представляю работу 2 шт W1209 работающих совместно.
    Первый — на DS18B20, работающий в диапазоне -20…+120 градусов.
    Второй — на pt100 с ОУ, работающий в диапазоне+120…+220 градусов.
    Первый отключает замер показаний при достижении критической температуры, выводит датчик из зоны нагрева, включает второй.
    Вот хотя бы так.

    • представил w1209, к которому еще подключен привод для вытаскивания датчика, вздрогнул 🙂
      Не рассматривали вариант — W1209 + ADS1115 + pt100? проще, имхо.

  37. Как еще один вариант. То же самое, что и предыдущий, только оба работают с pt100.

      • Подключать без переделок ? Вместо терморезистора ? Только питание на датчик подать ?
        Измеритель — это хорошо, а вот если бы он еще мог увлажнителем управлять.. Реле ж есть. 😉 Реально ? Сделаете ?

          • Ну, раз за увлажнитель не ответили ( хотя еще надеюсь 😉 ), спрошу еще, а другой датчик можно подключить ? Такой — DHT21/AM2301 ? Кстати, dht11 и dht22 отличаются по точности. Будет ли использована эта точность при установке dht22, ведь они весьма отличаются в цене.

          • Они вроде по протоколу не отличаются все. Про отличия в точности знаю 🙂 но все равно, там плюс минус лапоть, десятых долей показ не делал и не считаю нужным. Просто dht22 точнее измерит и все.
            Управление в прошивке есть, заблокировано до выяснения статуса что и как.

    • Тоже хотел бы очень перешить w1209 на управление увлажнителем в свой самодельный инкубатор. Буду очень ждать. Заранее спасибо.

  38. AM2320 Цифровой Датчик Температуры и Влажности на Алиэкспрессе стоит 93 руб. Он получше будет?
    I2C/SPI BMP280 3.3 В Цифровой Атмосферное Давление Датчик — 109 руб.
    I2C RTC DS1307 AT24C32 Часы Реального Времени Модуль — 232 руб.
    Хватит памяти ROM в прошивке для всего этого?

    • получше чем какой? i2c контроллера можно считать недоступен, он занят (выводы)
      разве что с извращениями.

  39. Добрый день.
    Подскажите, есть ли возможность запрограммировать один выход на генерацию ШИМ сигнала и использовать его для управления силовым транзистором для плавного (ПИД) управления нагревателем?

    • в базе у 1209 ровно один вход и один выход. а так — да, вместо реле в принципе можно сделать ШИМ.

      • Бить может у Вас возникнет интерес в реализации такого алгоритма? К сожалению, сам не имею опыта программирования STM8S003F3.

  40. Всех приветствую!
    В общем, сделал модификацию данного девайса, всё по инструкции, за исключением того, что под «дисплеем» не выпаивал ничего.
    И у меня схема немного другая, не как на фото с подписанными пинами интерфейса программирования, а именно между LEDом и резом на 4.7 кОм (при использовании DS18B20) стоял рез на 2.2 кОм, который я в процессе пайки случайно куда то смахнул паяльником.
    В итоге после включения температура при подключении DS18B20 +85С, я так понимаю такого быть не должно.
    Подскажите, в чем тут причина сиго безобразия закралась, в отсутствующем резе на 2.2 или датчик температуры лаганутый?
    Датчик проверить пока времени не было, но для верности подцеплю его к малинке или ESP, посмотрим как себя вести будет.

      • Проверил датчик, и ещё один запасной, на ардиуно что то не завелись оба, на ESP8266 и малине данные получает исправно.
        В чем проблема так и не понял.
        Попробовал накатить оригинальную прошивку, скачанную по ссылке в этой статье, и подключил старый датчик, в итоге на дисплее температура -35, правда это при отсутствии кондера на входе датчика и R2 2.2 кОм, возможно тут обвязка виновата.
        Кстати, какого там номинала кондер, 0.1 мкФ?
        Алсо, ненавижу смд кондер, ибо на них не наносят маркировку. 8(

        • r2 в оригинале 20к, точный. кондер 0.47мкф.
          Без р2 старый датчик работать адекватно не будет, он как раз цепь делителя организует.
          конденсатор под дисплеем не снимали ж. с ним шансы что заработает низковаты — его надо как-то обходить. как вариант перемычкой и резкой дорожки. еще неплохо бы схему отрисовать, раз отличается. программа рассчитана на подключение датчика к третьей ноге мк.

          • А номинал R8 не подскажете, что то я его не увидел на предоставленной тут схеме, у меня маркировка 115, т.е. 1.1мом, что то многовато, китайцы с маркировкой что ли ошиблись, по замерам, правда без выпайки показывает ~500Ом…

          • сейчас нет, не раньше понедельника. все 1209 на работе валяются

  41. Дмитрий, попробуйте прочитать маркировку резистора с другого конца (как бы задом на перед).
    artko, а как здесь вставить картинку?

    • вроде только линком на внешний сайт. надо будет посмотреть, кстати, как на сам хост грузить. не задавался таким вопросом, у меня то вставляется 🙂

  42. Бесполезная скудная переделка даже терморегулятором назвать нельзя другая прошивка с глюком. Не стоит портить заводскую сборку. Лучше на дс 18б20 применить другой контроллер полноценных схем и прошивок полно

  43. Имею три таких контроллера и все бессовестно врут в коптильне.Буду признателен если кто-нибудь за деньги приведет их в нормальное состояние.Сам не справлюсь.Мэйл [email protected]

    • Там же есть в настройках калибровка? Если не помогает, переходите не цифровой датчик. Он вполне не особо врет. (Производитель обещает +- 0.5 градуса, насколько помню)

  44. Может быть, я запутался, но не нашел в .zip исходного текста .hex

  45. как и в Альтернативная прошивка с гистерезисом и отрицательными температурами

    • Скачал еще раз, порассматривал исходные тексты… А как они должны выглядеть то? Вполне явно файлы на си и проект под иде…

  46. Полетел терморегулятор terneo st на Atmega48.
    Нужна прошивка, может у кого есть.

  47. Уважаемый artco,имеется такой девайс XH-W1313 на STM8S003F3P6. https://ru.aliexpress.com/item/12V-Digital-Temperature-Controller-Board-Thermostat-K-Thermocouple-Probe/32682259659.html?spm=a2g0v.10010108.1000016.1.38f7f731ZUY3vf
    Схема похожа на W1209 но порты использованы другие.
    При наличии схемы Вы сможете сделать прошивку с выходом ПИД или ШИМ ???

    С уважением…

  48. Железка у меня в руках.схему я нарисую.
    интересует именно регулируемый выход.
    делаю ИК стол с феном.

    С уважением…

  49. То есть в ручную выставляешь напругу на тэнах до приемлимых значений?
    На релейном выходе разбег температуры 60 град.
    Выставляю 160 гр.термостат сработал температура поднимается до 220-230
    потом падает и так по кругу.если увеличить поток воздуха-разбег уменьшается.
    но это не приемлимо. всё сдувает.

    С уважением…

    • у меня есть прототип регулятора/стабилизатора мощности на W1209. Фазовое управление, симистор. С расчетом RMS и поддержанием его на заданном значении.

        • Разве что для электрокотла. Вообще назначение немного другое (удержание стабильной подачи тепла в заданный объем). Регулировка от внешних условий — немного другое.

      • А можно глянуть на это чудо? Как раз есть необходимость стабилизировать мощность на ТЭНах в кубе.

        • там прототипно, попробовал и переехал на стм32. не довел до полноценного образца. Если сможете доделать программу — отдам что есть.

          • Вот как раз с программированием я и не знаком. А на стм32 сделали?

          • да, в виде модуля управляемого через USART-TTL. Ну и разновидность прошивки с протоколом MODBUS-RTU.
            вот он, слева.

          • Вам хорошо, а у меня такого нет ((( А так хочется.

  50. Давно не ходил сюда. Лето однако. Но вот почитал и решил поделиться своими наработками. Решил сделать бюджетный термостат на базе W1209. Вот ссылочка на проект DipTrace с блоком питания 220 — https://yadi.sk/d/5CMQXeO93MgzHG. Заказал на Ali датчики. Прошил естественно заводской прошивкой. Датчики пришли. Подключил и получил ерунду. Короче датчики я заказал 3950, а с W1290 похоже идет 3435. Но я унывать не стал, опять взял авторский проект, подправил его и вот он — https://yadi.sk/d/hma_P8O93Mgzd9. Вполне рабочий — проверял с Ds18B20.

  51. Добрый всем день. Возможно модифицировать альтернативную прошивка с гистерезисом и отрицательными температурами чтобы регулировался гистерезис?

  52. Артем Вы писали:
    on 05.09.2017 at 11:17 said:
    у меня есть прототип регулятора/стабилизатора мощности на W1209. Фазовое управление, симистор. С расчетом RMS и поддержанием его на заданном значении.
    .
    Можно прошивку и схему если сильно от w1209 отличается.

    • В схему вводится дополнительный модуль детектора нуля. На данный момент закрытая разработка в корыстных целях 🙂

  53. Ну можно и без RMS просто регулировать мощность нагрузки при заданной температуре.

  54. Добрый день!
    по последнему фото не видно где резать дорожки. Можете приложить более детально фото, на котором было бы все это видно. Уже третий термостат мучаю, не получается. один не работает, второй показывает 85 градусов.

  55. Само собой штатную схему надо будет поменять. Вместо реле симистор поставить. Управлять симистором через шим, поддерживать заданную температуру?

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

    • Можно пробовать оторвать родной делитель напряжения и прямо в разъем датчика включить батарейку, вместо реле — управление полевиком. В теории сработает. А зачем? Полно готовых плат защиты.

      • Предполагается при дозаряде батареи управлять током заряда путем подключения нагрузки параллельно батарее(токи от 10А до 50А) с последующей индикацией уровня напряжения.Указанные вами платы защиты расчитаны на такие токи?

        • Врядли 🙂 В первом сообщении ничего про такое не указывали, касательно токов. Хотя с трудом себе представляю метод управления током с подключением нагрузки. Балластный резистор есть желание использовать? Методика для зимы, тепло будет 🙂

          • Пока прорабатывается вариант -полевик+индуктивность с шим управлением.
            Куда можно сбросить вам наброски схемы?

  57. приветствую граждане товарищи! Подскажите мне нубу пожааалуйста! Есть такой контроллер https://ru.aliexpress.com/item/Smart-Electronics-W1209-Digital-Temperature-Controller-Thermostat-Switch-Increase-Embedded-Shell-Replace-XH-W1209/32600357513.html?spm=a2g0s.9042311.0.0.PjU2ST походу слетела прошивка (думаю так потому что, прибор включается и с любым термистором показывает -190* и уходит в тревогу, сброс не помогает.) Решил попробовать его прошить тем что, выложили выше, приобрел такой прибор https://ru.aliexpress.com/item/FREE-SHIPPING-ST-Link-V2-stlink-mini-STM8STM32-STLINK-simulator-download-programming-With-Cover/1766455290.html?spm=2114.13010708.0.0.JukHEI но, вот загвоздка по распиновке на самом 1209. Лицо платы выглядит так https://www.dropbox.com/s/xng94agjxix4yde/2017-10-19%2022.19.41.jpg?dl=0 Вопрос как правильно подключить плату к стлинку?

    • ага, ну так отверстия снизу слева — это и есть разъем программирования.
      4 NRST
      18 SWIM
      7 GND
      9 VDD
      подключить их же с ст-линка, нормально будет.

  58. Была у меня такая сдвоенная плата, я с нее когда-то схему снял, выпаяв детали. Найду схему, выложу здесь.
    Также есть другие разновидности схем такого устройства на STM8S003F3. Но всё это уже выходит за пределы данного топика «Модификация термостата W1209». Может быть, уважаемый artko, открыть (создать) отдельную тему с обсуждением модификаций на базе STM8S003F3? Так как STM8S003F3 можно использовать не только как термостат или термометр, а, например, в составе «умного дома».

    • Я ж на нем делал свои платки с однопроводной связью самопальные, статейка валяется. А вообще и так комментарии здесь разрослись — найти сложно что-то. Добавил форум, для лучшей категоризации если вдруг потребуется.

  59. Нужна помощь, кто поможет благодарочка. Проблема сталась в следующем: 1) Сей прибор (Модуль термостата W1209) был подключён от блока питания с выходом 16-17 вольт, некоторое время всё работало исправно. Тут произошёл казус перебои с электрикой по вине монтажников пошёл перенагруз и мой датчик умер.
    .2) Проверил с блока питания пошёл выход вместо 17 вольт 19-20вольт в сети было почти 300 вольт.
    3) При осмотре выяснил что умер стабилизатор 12 в на 5 вольт(AMS 1117). Я его демонтировал подкинул 5 вольт , прибор ожил, но температуру не показывает только обозначение LLL на дисплеи, датчик рабочий проверял.

    Кто что подскажет, что ещё могло накрыться, все программы работают, но на датчик прибор реагировать перестал. Сам не как не разберусь.

          • А как можно проверить, программы все сохранились, всё выставляется,только вот температуру перестал показывать и реагировать на термодатчик, на дисплеи LLL и хоть ты чё ему не делай, Можно как то напругу на ножках микро контролера проверить,если да то на каких ногах сколько должно приходить и сколько выходить, или есть советы другие.Жалко вроде всё работает,хочу поднять,спортивный интерес.. Заранее благодарю за помощь .

          • Написать программу, которая будет опрашивать этот вход МК и проверять меняется ли значение при опросе. по другому — никак.

  60. можно ли найти исходник прошивки,чтобы поменять ее на индикацию входного напряжения?

  61. Жаль, что тема по таймеру на этой плате закрыта! А ведь интерес есть таки!
    Ребята платы с вашей прошивкой продают в три раза дороже китайцев.

  62. Меня вообще-то интересует на сегодя вопрос о задержки включения на некоторое время в 5-й программе. Минимальный программируемый шаг — 1 минута. Возникла необходимость в задержке включения всего лишь на 1-3 с. Есть ли возможность так сделать?

  63. скачал по ссылке «Альтернативная прошивка с гистерезисом и отрицательными температурами»
    не понял как настраивается гистерезис.
    отрицательные температуры и охладитель — нагреватель работают как надо.
    Прошу подсказать

    • Я же правильно понимаю что он зашит в блоке:
      if (*eeTempMode == TEMP_MODE_ON_IF_LOWER)
      {
      if (ds_temp = *eeTemp1 +10 ) RELAY_OFF;
      }
      if (*eeTempMode == TEMP_MODE_ON_OVER)
      {
      if (ds_temp >= *eeTemp1 + 10 ) RELAY_ON;
      if (ds_temp = *eeTemp1 + 2 ) RELAY_ON;
      if (ds_temp <= *eeTemp1 — 2 ) RELAY_OFF;
      специалисты подскажут? все корректно или могут быть проблемы в связи с 12-битностью разрешения датчика?

      • да, здесь и есть. После получения данных с датчика температура приводится к значению в десятых градусах.
        Проблем в 12-ти битности не должно быть, кроме некоторой потери точности. Если нужно прям все хорошо — переделывать на работу непосредственно с данными датчика.

  64. как то не корректно сформировалось сообщение
    я хотел уточнить изменения в виде
    if (ds_temp = *eeTemp1 + 2 ) RELAY_ON;
    if (ds_temp <= *eeTemp1 — 2 ) RELAY_OFF;
    приведут ли коррекно к снижению гистерезиса в 2 десятые градуса

    • проверил, работает как надо. и одна десятка тоже работает. Спасибо авторам за проделанный труд.
      Но правильнее объявить переменную и присвоить ей значение чем править в 4 местах, но это поправить не сложно.
      еще осталось придумать как гистерезис на ходу править.

  65. Вообще то гистерезис зашит в блоке
    if (*eeTempMode == TEMP_MODE_ON_IF_LOWER)
    {
    if (ds_temp = *eeTemp1 + gisterezis*10 ) RELAY_OFF;
    }

  66. Одна строчка пропала:
    if (*eeTempMode == TEMP_MODE_ON_IF_LOWER)
    {
    if (ds_temp = *eeTemp1 + gisterezis*10 ) RELAY_OFF;
    }

  67. При добавлении комментария пропадают некоторые символы (например больше и меньше). Наверное как понимаются как теги?

  68. Друзья, есть хороший человек, который может написать таймер обратного отсчета для этого модуля. Он делал свой проект на STM8 с таймером для засветки фоторезиста. Я к нему обратился с этим вопросом, но ему нужен сам модуль для отладки. Мне проблемно это будет сделать. Парень живет в Минске, да и модуль у меня один. Может есть желающие поучавствовать? Прошу прощения у местного администратора за внешнюю ссылку. https://ucdev.ru/ru/forum/?view=thread&id=6

      • Я в курсе, что у Вас есть эта прошивка, но ее нет в свободном доступе.
        Человек же готов адаптировать свою прошивку для этого модуля и поделиться с общественностью. Ему просто нужен сам модуль. Я обратился к жителям Минска. Может есть здесь такие, готовые оперативно дать его человеку. Можно просто перевести денег и человек купит сам на али, но это дольше конечно. Если не найдутся минчане, то так и поступлю.

  69. Добрый день, все не могу понять, пишу а коменты а они не добавляются.) Хотел предложить добавить еще один режим работы термостата. Режим, которй будет обеденять два первых режима. те релле будет работать если t1=20< релле работает <t2=50. Может можно такое релизовать?

    • Можно, сделайте 🙂

      Комментарии проходят премодерацию для новых пользователей. Не сразу появляются.

  70. Ожидаемый ответ) Можете подсказать с чего начинать, хотяб направление.

    • 🙂 сам термостат есть, программатор есть? Понимание хоть немного программирования есть?

      • Термостат есть, програматора пока нет. Закажу. Програмировать не умею, но можно поробывать научится разобраться.

          • Редактор — любой, хоть блокнот. Для компиляции программы потребуется компилятор — среда IAR или cosmic c++ для stm8. Я для тестов использую IAR.

  71. Всем привет. Возникли вопросы. Всётаки корректировка температуры датчика есть…? Она подходит для всех датчиков DS18B20?
    Дизассемблировал родную прошивку. Там тоже есть таблица корректировки, но градусы чем выше, тем больше дельта. Т.е. при 0-25 гр шаг 0.1 гр, при 80-100 гр шаг 0.5 гр..Наверно характеристики терморезистора такие. Кому надо проект в ST Visual Develop: https://yadi.sk/d/VfuP8iJC3RKJ8q
    Еще вопрос к artko. Есть платка вольтметр 3-30в постоянного напряжения на STM8s003f3. Прошивка залочена. Хочу переделать на переменку 220в. Нашёл в сети что-то подобное, пины подстроил под свою плату, но меряет с большими погрешностями : 1.2 в-показывает 1.0 в, 9.6в- показывает 8.3в.??? (Это пока проба на постоянном напряжении). При измерении переменного напряжения 220в показания скачут от 300 до 0? (подключено: диод+ резисторный делитель+кондер электорлит 4,7 мкф 35в) Что-то мне не нравится там в организации программы ( может выбор режима АЦП не тот? или прерывания?)сами проекты в IAR (исходный и правленный):https://yadi.sk/d/D_ImjQSD3RKJzr

    • Корректировку датчика я не делал — DS18B20 прекалиброван на заводе, смысла особо нет. У него заявлена производителем погрешность +-0.5 градуса на всем диапазоне.
      По переменке — ну сами прикиньте, ацп у сти008 10 бит. т.е. на весь диапазон 0…350вольт (для сети) каждый отсчет ацп это уже минимум 0.3в.
      Источника опорного напряжения там тоже не особо — просадки/пульсации уже будут менять показания.

      Ну и скачут от 0 до 300 — так и есть. Это нормально для переменного напряжения то. Хотите показывать действующее (а 220вольт это действующее) — то нужно определять момент перехода через ноль, делать выборку хотя бы сотни значений за период, и по математической формуле для RMS считать (сумма квадратов напряжений, из нее корень и еще делить на количество выборок).

      • А что там за таблица из 146 значений?
        uint16_t table_adc[146]={959,955,951,947,943,939,934,929,924,919,
        913,907,901,895,889,882,875,867,860,852,
        844,835,827,818,808,799,789,779,769,759,
        748,737,726,715,704,692,681,669,657,645,
        633,620,608,596,583,571,559,546,534,522,
        509,497,485,473,461,450,438,426,415,404,
        393,382,372,361,351,341,331,321,312,303,
        293,285,276,268,260,252,244,236,229,222,
        215,208,201,195,189,183,177,172,166,161,
        156,151,146,141,137,132,128,124,120,116,
        113,109,106,102, 99, 96, 93, 90, 87, 84,
        82, 79, 77, 74, 72, 70, 68, 66, 64, 62,
        60, 58, 56, 55, 53, 51, 50, 48, 47, 45,
        44, 43, 42, 40, 39, 38, 37, 36, 35, 34,
        33, 32, 31, 30, 29, 29};

        • про подсчет я знаю. Просто при том-же делителе+диод+кондер в родной прошивке значения так не скакали. Поэтому и думаю что в коде какие-то непонятки. Код не смотрели…..
          Прийдется самому допетривать.

          • Ну так смотреть как родная прошивка усредняет и показывает.

          • Родная была залочена.

          • А, ну так в своей делайте усреднение.вариант, упрощенный (если правильно помню) — брать максимально зарегистрированное значение, делить на 1,41 — это будет как раз действующее.(Только для синусоиды)

          • Про подсчет и усреднение я уже понял Вас. Что там за таблица ???

          • Мне то откуда знать? 🙂 Это у автора надо спрашивать или код анализировать, зачем оно там.

          • У Вас эта таблица (В Вашем проекте-забыли про вольтметр.) Выше код с Вашего проекта.

          • Можете натыкать, где именно? Что-то я не могу найти такую таблицу ни в одном своем проекте.

          • Альтернативная прошивка с гистерезисом и отрицательными температурами в шапке.

          • Это не мое. Вытащил просто из комментариев. Изначальный автор: murmiz on 12.12.2016 at 18:31 said:

          • Ааа, тогда ссорри. Ну это-же корректировка температуры?

          • Что-то я совсем туплю. Мы про эту ссылку? http://mgslab.com/wp/wp-content/uploads/2015/12/termo_gist_sym.zip
            Или другую? потому что там тоже нет 🙂
            А таблица — вообще на корректировки ничуть не похоже. Имхо. Скорее просто таблица преобразования значений. Так запрограммирована нелинейность чего-то.

          • Да сейчас перекачал по ссылке там другое. Я раньше качал по тем ссылкам вот оно:https://yadi.sk/d/iGjQTV-f3RL4gN
            Проект Ваш кем-то видимо правленный.

  72. Александр! Таблица значений ADC для аналогового датчика от -40 градусов до 110 с шагом в один градус. Для DS8B20 совсем другой проект.

  73. W1209
    При отключении питания сбрасывается на заводские настройки.
    Там 28 градусов, гистерезис 2, С(охлаждение).
    Это лечится?
    Мне для термообработки пчёл нужен нагрев и другие градусы.

    • неисправен мк или прошивка не сохраняет настройки. вы не указали, что вообще за прошивка. в моей гистерезиса нет.

  74. Уважаемый artko! Извиняюсь за наверное глупый вопрос. Но наверное я что-то где-то упустил. Стал переделывать проект под четырехразрядный индикатор и естественно полез разбираться более детально с исходниками. И вот в файле hardware.h три строчки
    #define DIG0_ON GPIOD->ODR &= ~GPIO_PIN_4
    #define DIG1_ON GPIOB->DDR |= GPIO_PIN_5
    #define DIG2_ON GPIOB->DDR |= GPIO_PIN_4
    меня ввели в совершенный ступор. Первая мне совершенно понятна — выводит 0 на D4,
    то есть включает разряд 0. А следующие две что делают? Не подскажите в чем здесь сермяжная правда?

    • Ответ на этот вопрос есть в документации на микроконтроллер 🙂 Читали, что это за регистры вообще?

  75. Естественно, читал. Видимо собака порылась еще раньше. В функции harware_init вывод D4 объявлен как выход, а B4 и B5 как входы, хотя, как мне кажется, их тоже надо объявить как выходы и работать с ними точно также как с D4. Кстати, записывая
    #define DIG1_ON GPIOB->DDR |=GPIO_PIN5
    вы объявляете B5 как выход.

    • Совершенно верно, включаю на выход. Все-таки загляните в документацию и посмотрите, чем B4/B5 отличаются от D4. Хотя да, может работало бы и так. Не стал проверять, после пары пойманых граблей.(Подсказка — посмотрите в колонку режима Push Pull выходов)

  76. Вот это и есть та самая сермяжная правда о которой я спрашивал — спасибо за информацию. Такие нюансы не сразу познаются.

  77. Ребята выручайте. Кто сталкивался с W1209 на чипе Nuvoton N76E003AT20 ? Проблема с такими контроллерами не у одного у меня и лекарства против неё не нашёл. Контроллер сбрасывается в заводские настройки при малейшем отключении питания. С STM8S003F3 такого не происходило.

  78. Когда прошивку таймера циклического для инкубатора выложите ? и как его прошить , чем ?

  79. Добрый день!
    Вот может кому нужна прошивка w1209 для работы с DS18B20 и настройкой гистерезиса.
    Переделывал под себя.
    Режим настройки Р0 — это выбор нагрев (-Н-) или охлаждение (-С-).
    Режим настройки Р1 — это гистерезис от 0 до 25 с шагом 0.1, при удержании шаг 1.
    Режим настройки Р2 и Р3 — доделаю выложу, пока времени нет.
    Пи проблемах с DS18B20 выводится (—).
    Прошивка — _ttp://files.dp.ua/file?source=18031415055544905200
    Пароль — 123.

  80. Добрый день!
    Вот следующий вариант прошивки w1209(STM8S003F3) для работы с цифровым термодатчиком DS18B20 и настройкой гистерезиса.
    Делаю когда есть время, для своих целей.
    — Для установки температуры контроля кратковременно нажмите кнопку «SET», после чего кнопками «+» или «-» установите заданную температуру, и еще раз нажмите кнопку «SET» для сохранения выставленного значения.
    — Для входа в режим программирования удерживайте, в течение 5 секунд, кнопку «SET», после чего кнопками «+» или «-» выберите код параметра меню (P0…P7). Далее, для настройки параметра, нажмите кнопку «SET» и кнопками «+» или «-» измените значение параметра. Для сохранения настроек нажмите кнопку «SET».

    Дисплей отображает: «—» — датчик не подключен, «hot» превышение предела заданного в параметре P6.

    Параметры меню настроек:
    P0 — Режим работы терморегулятора: охлаждение (-С-)/нагрев (-Н-);
    Р1 — Гистерезис, °C, от 0 до 25 с шагом 0.1, при удержании кнопок «+» или «-» шаг 1;
    Р2 — Пока не делал, при выборе просто выход;
    Р3 — Пока не делал, при выборе просто выход;
    Р4 — Коррекция температуры, °C, от -7 до +7 с шагом 0.1, при удержании кнопок «+» или «-» шаг 1;
    Р5 — Пока не делал, при выборе просто выход;
    Р6 — Верхний предел температуры отключения, °C, по умолчанию 110 °C, можно выбрать свой, шаг 0.1, при удержании кнопок «+» или «-» шаг 1;
    Р7 — Сброс настроек на default(dEF), нажмите кнопку «SET» для подтверждения: нагрев (-Н-), порог срабатывания — 30 °C, коррекция температуры — 0, гистерезис — 0.2, верхний предел температуры отключения — 110 °C.

    Прошивка — _ttp://files.dp.ua/file?source=18031610270122319101
    Пароль — 123.

  81. To dobmarkov.
    Долго поддержите «SET» и в пункте P7 выберите сброс к заводским, вы выставили в пункте P6 аварийную температуру меньше текущей температуры.
    Извиняюсь, мой бок, в следующей версии исправлю!
    Спасибо.

  82. Добрый день!
    Исправил мелкие баги.
    Пока времени мало!
    Спасибо!

    Прошивка — _ttp://files.dp.ua/file?source=18033008254091490641
    Пароль — 123.

    • Добрый!
      Пишет, что файл не найден. Можете поделиться рабочей версией? А то прошлая не работает, все время мигает hot, на кнопки не реагирует.

  83. Здравствуйте. Подскажите в чем проблема. После прошивки индикатор начал показывать только верхнюю часть цифры это на thermo.hex на oldtermo.hex верхнюю и нижнюю.

    • Не понял вопроса. Вообще уже видел как минимум две версии W1209. К одной из них — прошивка не подходит (другой тип индикатора), показывает бред.

  84. Вот наверное у меня как раз этот бред. Горят все три сигмента как английская U но только в верхней половине или цифра 4 но без нижней палочки и после каждой точка в в нижней половине.

  85. Перепрограммировал на даллас -очень понравилось,большущая благодарность за технологию.Четыре глючных термостата удалось запустить в дело.
    Было бы очень хорошо сделать из этого термостата сигнализатор отклонения давления в колонне на основе датчика давления MPX5010DP . Чтобы реле срабатывало при повышении до 40 мм рт ст и отпадало при 5 мм рт ст. , к примеру.

  86. Дядьки, ну поделитесь прошивкой, в которой можно корректировать температуру.
    Нужно три датчика скорректировать на одинаковые показания. А они пляшут +/- две — три десятки друг от друга.
    Заранее спасибо!

  87. Добрый день!
    Вот следующий вариант —
    мелкие исправления прошивки w1209(STM8S003F3) для работы с цифровым термодатчиком DS18B20 и настройкой гистерезиса.
    Делаю когда есть время, для своих целей.
    — Для установки температуры контроля кратковременно нажмите кнопку «SET», после чего кнопками «+» или «-» установите заданную температуру, и еще раз нажмите кнопку «SET» для сохранения выставленного значения.
    — Для входа в режим программирования удерживайте, в течение 5 секунд, кнопку «SET», после чего кнопками «+» или «-» выберите код параметра меню (P0…P7). Далее, для настройки параметра, нажмите кнопку «SET» и кнопками «+» или «-» измените значение параметра. Для сохранения настроек нажмите кнопку «SET».

    Дисплей отображает: «—» — датчик не подключен, «hot» превышение предела заданного в параметре P6.

    Параметры меню настроек:
    P0 — Режим работы терморегулятора: охлаждение (-С-)/нагрев (-Н-);
    Р1 — Гистерезис, °C, от 0 до 25 с шагом 0.1, при удержании кнопок «+» или «-» шаг 1;
    Р2 — Пока не делал, при выборе просто выход;
    Р3 — Пока не делал, при выборе просто выход;
    Р4 — Коррекция температуры, °C, от -7 до +7 с шагом 0.1, при удержании кнопок «+» или «-» шаг 1;
    Р5 — Пока не делал, при выборе просто выход;
    Р6 — Верхний предел температуры отключения, °C, по умолчанию 110 °C, можно выбрать свой, шаг 0.1, при удержании кнопок «+» или «-» шаг 1;
    Р7 — Сброс настроек на default(dEF), нажмите кнопку «SET» для подтверждения: нагрев (-Н-), порог срабатывания — 30 °C, коррекция температуры — 0, гистерезис — 0.2, верхний предел температуры отключения — 110 °C.

    Прошивка ( thermo_new3.hex ) — https://ru.files.fm/u/wpwncbar

  88. Добрый день!
    Мелкие исправления прошивки w1209(STM8S003F3) для работы с цифровым термодатчиком DS18B20 и настройкой гистерезиса.
    Делаю когда есть время, для своих целей.

    — Для установки температуры контроля кратковременно нажмите кнопку «SET», после чего кнопками «+» или «-» установите заданную температуру, и еще раз нажмите кнопку «SET» для сохранения выставленного значения.
    — Для входа в режим программирования удерживайте, в течение 5 секунд, кнопку «SET», после чего кнопками «+» или «-» выберите код параметра меню (P0…P7). Далее, для настройки параметра, нажмите кнопку «SET» и кнопками «+» или «-» измените значение параметра. Для сохранения настроек нажмите кнопку «SET».

    Дисплей отображает: «—» — датчик не подключен, «hot» превышение предела заданного в параметре P6.

    Параметры меню настроек:
    P0 — Режим работы терморегулятора: охлаждение (-С-)/нагрев (-Н-);
    Р1 — Гистерезис, °C, от 0 до 25 с шагом 0.1, при удержании кнопок «+» или «-» шаг 1;
    Р2 — Пока не делал, при выборе просто выход;
    Р3 — Пока не делал, при выборе просто выход;
    Р4 — Коррекция температуры, °C, от -7 до +7 с шагом 0.1, при удержании кнопок «+» или «-» шаг 1;
    Р5 — Пока не делал, при выборе просто выход;
    Р6 — Верхний предел температуры отключения, °C, по умолчанию 110 °C, можно выбрать свой, шаг 0.1, при удержании кнопок «+» или «-» шаг 1;
    Р7 — Сброс настроек на default(dEF), нажмите кнопку «SET» для подтверждения: нагрев (-Н-), порог срабатывания — 30 °C, коррекция температуры — 0, гистерезис — 0.2, верхний предел температуры отключения — 110 °C.

    Прошивка ( thermo_new3.hex ) — __ttps://ru.files.fm/u/wpwncbar

    • Что я делаю не так? Прошивки thermo_new3.hex , thermo_new.hex -не работают, все время мигает hot, на кнопки не реагирует ,на всех четырех термостатах.
      Очень надо коррекцию температуры.

        • Спасибо за ответ. «SET» держал 5 минут- никакой реакции,все время мигает «hot». И так на всех четырех термостатах.Что же делать,что делать…

          • Печалька! Я только собирался перешиваться.
            Тоже корректировка необходима…

          • Вы точно выполнили всё перед прошивкой как написано например тут —
            h t t p s : / / alcodistillers.ru/forum/viewtopic.php?id=907
            Проверил на трех платах — все успешно работают с моей версией прошивки.
            К тому же в последних версиях я исправил возможность ввести в пункте Р6 температуру менее текущей, что приводило состоянию «hot», но лечилось сбросом к заводским в более ранних версиях.

          • Отвечаю 1QW1. Требования из h t t p s : / / alcodistillers.ru/forum/viewtopic.php?id=907 выполнены.
            Прошивка от artko «thermo» работает нормально,но партия датчиков от алиэкспресс показывают температуру ниже на 2 градуса С. Причем все 10 штук. Поэтому нужна прошивка с корректировкой температуры,но постоянно мигающий hot все портит.
            На всякий случай выписал две партии датчиков у других продавцов.

    • Чего вопить то 🙂 Вытащил из спама, опубликовал. плагин неверно отметил. Вернее, верно. Обычно как ссылки в посте — это спам.

        • загружали бы файлы на местный форум, если вдруг все равно куда. заодно и в спам бы не падало..

  89. Добрый день нужна прошивка на терморегулятор с двумя инжекторами ипишалкой

  90. Добрый день нужна прошивка на терморегулятор с двумя инжекторами и с звуковым оповещения

  91. Добрый день.
    Следующая версия прошивки w1209(STM8S003F3) для работы с цифровым термодатчиком DS18B20 и настройкой гистерезиса.

    ПЕРЕД ПРОШИВКОЙ ОБЯЗАТЕЛЬНО — ПОЛНАЯ ОЧИСТКА и
    ВНИМАНИЕ —
    проверьте платы на наличие всех элементов, особенно в обвязке процессора, на последних двух платах китайцами были установлены процессоры Nuvoton N76E003AT20 и в обвязке не были запаянны VCAP — external capacitor и керамика по питанию.

    Прошивка проверена на двух новых платах.
    thermo_v4.hex — h__s://ru.files.fm/u/2he76sfz

    • Здравствуйте всем.У меня 4 термостата,куплены год назад на Али.На первый термостат прошивка «thermo_v4.hex» встала после 40 попытки.На остальные пока не хочет.Будем долбить дальше.Прошивка работает нормально,пункты меню P0-P7 функционируют как и описывал разработчик ,уважаемый 1QW1.
      Малогабаритный удобный термостат за 80 рублей,да еще с с цифровым термодатчиком DS18B20 , настройкой гистерезиса и температуры-это просто фантастика!!
      Осталось доработать плохую перепрошиваемость «thermo_v4.hex». Ведь прошивка от artko «thermo» залетает с первого раза без проблем.

  92. У меня несколько плат с таким камнем, точнее без маркировки — китайцы его не подписывают. С5 отсутствует, т.к. он нужен только stm8xxxxxx. st-link я думаю вряд ли будет шить nuvotonовски чипы, а даже если и будет шить, то там еще ко всему прочему схема для индикатора с общим катодом и прошивка эта не подойдет, что очень и очень печально :(.

    • Надеюсь все понимают что эта прошивка только для w1209(STM8S003F3) и если установлен Nuvoton N76E003AT20 то его нужно поменять на STM8S003F3!!!

      И, соответственно, отсутствующая обвязка тоже должна быть запаяна!

      Кстати индикаторы на всех побывавших у меня платах одинаковы и работают успешно на всех версиях прошивки! Отличие было только в цвете сегментов!

      • у вас — да. а у меня лежат два 1209 — у одного индикатор с общим катодом, у второго — с общим анодом 🙂

        • Поддерживаю. Имею в наличии 2 вида плат W1209 на чипе NUVOTON , одна нормальная и одна глючная . Жаль что пересадка не поможет.

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

          • А какой-нить TL866 (miniPRO) его осилит (имеется возможность одолжить)?

          • не знаю, смотрите, есть ли в его софте поддержка таких мк. сомневаюсь.

  93. Ой, ой заговорился, извините конечно же — «схема с общим анодом». Жаль не получается предыдущее сообщение поправить .

  94. Я нашел причину «hot» и локальное ее решение. Она может быть как из-за самой прошивки, так из-за того что у всех разное железо и софт. Я не программист, я паятель, так что сильно меня не пинайте.
    Проблема была из-за того что не происходила запись в EPROM, т.е там после записи находились 00 по всем адресам. Если записывать только коды program memory — все нормально шьется без ошибок(EPROM пустой). Если шить «Program all tabs» появляется ошибка «Verify failed at address 0x4000» EPROM по прежнему пустой. Обновление софта и драйверов до последних проблему не решило.
    Решил проблему так — вручную забил всю верхнюю строку EPROM «50» вместо «00», Записал сначала только PROGRAM MEMORY(thermo_v4.hex), потом только DATA MEMORY и плата ожила. Показания температуры были абсолютно не верны, зато появилась возможность сбросить к заводским настройкам, что я и сделал. И вуаля — все прекрасно работает.
    Записал отдельный файл thermo_v4_EPROM2.hex с нормальными заводскими настройками для DATA MEMORY h—ps://yadi.sk/d/eLeZsw163XNYuz
    Как то так.

    • Александр,свежее решение- прошивка» thermo_v4.hex» ставится на Ура.
      Респект и уважуха! Теперь обвешиваем колонну датчиками ,как новогоднюю елку, и наслаждаемся. А термостаты MH1210 и STH0024UG-v3 нервно курят в сторонке.

      • достаточно одного датчика для колонны, на самом деле. ну второй — аварийный, перегрев.

    • файлообменник прошивку thermo_v4.hex не отдает. Перезалейте, пожалуйста, еще раз или пришлите на почту [email protected] .Заранее благодарен. Валерий.

  95. Как я посмотрю и здесь ректификаторов хватает Ж:). Все в угоду зеленому змию.
    C2H5OH форева.
    На самом деле спасибо 1QW1 и artko за их работу!

  96. Система SAURES на базе » BM8034 (МастерКИТ) Устройство для сбора и передачи данных по Wi-Fi», имеет в своем составе собственный более мощный (по сравнению с MP3509) микроконтроллер серии STM8.
    К одному прибору может быть подключено до 8 любых устройств в любой комбинации:
    — счетчики воды;
    — счетчики газа;
    — счетчики электричества (при установке дополнительного модуля интерфейса CAN или RS-485);
    — датчики температуры, например, BM8034temp;
    — датчики протечки воды, например, BM8034water;
    — датчики уровня жидкости;
    — датчики утечки газа;
    — исполнительные устройства (запорно-регулирующая арматура с электроприводом), например, шаровый кран с электроприводом BM8034valve.

    При использовании дополнительных встраиваемых модулей интерфейсов RS-485 или CAN к одному УСПД, помимо 8 устройств, перечисленных выше в описании, можно подключить до 8 счетчиков электроэнергии типа Меркурий.
    Личный кабинет на сайте SAURES+Приложние iOS+Приложение Android.
    3150 руб. за плату.
    Ставлю вопрос:
    можно ли это сделать на STM8S003F3 (и чтобы не дорого) ? +метеостанция+часы+будильники

    • Попробуйте. А зачем? Гораздо удобнее взять контроллер более подходящий под задачу, а не скрещивать невесть что и с чем.

    • А какой смысл перешивать родные датчики на супер-пупер точные до десяток — соток, если эти десятки — сотки не нужны? Оставь родные. Хотя они тоже больше 110C° не кажут…

  97. У меня STC-1000 , сильно врут в показаниях температуры , самое плохое , что показания температуры прыгают на 1,5-2 градуса . Можно перешить на цифровой датчик температуры ?

    • Насколько накопал информации — там PIC16F1828. Напишете для него прошивку — можно будет перешить 🙂 У меня такой нет.

  98. У меня STC-1000 врёт температуру , его можно прошить под цифровой датчик температуры ?

  99. В STC-1000 всё одинаково , как и в W1209. Разница в том ,что в STC-1000 стоит ещё одно реле на охлаждение.

  100. ссылки устарели
    кто перезальет ?
    и вообще пораб залить на нормальный ресурс
    хотяб вконтакт как документ там 7zip архивы разрешены

  101. Перезалейте, пожалуйста, прошивку с коррекцией показаний датчика DS18b20 и гистерезисом. Если такой нет, то только с коррекцией показаний датчика. Заранее благодарю от большого количества страждущих.

    • Все прошивки которые выкладывал я или любой прямо сюда — все доступно. За сторонние ресурсы отвечать не могу, извините. Доступа туда у меня нет.

  102. Тогда просьба к читателям форума. Выложите, кто-нибудь (Александр или перспектива Сидоров), с указанием расположения прошивку «thermo_v4.hex». Очень нужно. Валерий.

  103. Подскажите пожалуйста какое значение value во вкладке option byte программы ST Visual Programmer нужно выставить или фото спасибо

  104. подскажите какое значение value во вкладке option byte программы ST Visual Programmer нужно выставить для программирования лучше фото

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

  106. Здравствуйте! Пожалуйста помогите. При включении регулятора на обогрев он начинает щелкать как реле поворотов, пока разница температуры установленной и реальной не достигнет 0,3-0,4 градуса. Сегодня пришел из другого магазина — беда та-же. Два года у меня работает W1209 на обогрев погреба, гистерезис установлен на 0,1 градус. Срабатывает мгновенно, никаких щёлканий. Можно-ли победить эту проблему?

    • Можно. Взять регулятор, где гистерезис работает 🙂 На нувотоне, наверное, пришел? там прошивка другая.. если под 1820 — то здесь в комментах была прошивка с гистерезистом.

  107. Паша, а зачем для погреба гистерезис 0,1 градуса? Поставь 1…2 градуса должно пропасть. Или смотри питание.
    А так же наши желтоглазые друзья выбросили в последних версиях конденсаторы (пустые места на плате). Я думаю хуже не будет если их восстановить.

  108. Доброго дня, может есть кто доработает новую прошивку для работы не гистерезисом, а есть такой стандарт TPI ? Это что то на подобие ШИМ, позволяет поддерживать температуру более точно.

  109. Динамическая индикацию тут нужно делать посегментно, а не поразрядно. Токоограничивающие резисторы стоят на разрядах, а не на сегментах.

  110. Уважаемые друзья, в начале статьи было вроде сказано, что в архиве с прошивкой есть и исходник (который работает с DS18b20). Может кто-то поделится исходником, а то хотелось немного модифицировать. В теме не нашёл. Конечно, вариант оплаты тоже возможен, пишите на [email protected]

  111. Здравствуйте! Artko, а Вы можете поделиться прошивкой под работу регулятора с термопарой на МАХ6675?

  112. Друзья, есть возможность локализовать софт под вот такой термостат? https://s.click.aliexpress.com/e/byvADLSa

    Он на stm, уже в корпусе, реле на обратной стороне. Под гребенку есть сквознячки на плате. Правда две кнопки.
    У меня куплен давно, могу частично схему вырисовать. Фото наделать. У меня 12в версия. Думаю схемы не сильно отличаются.

    • вроде под такой делал реле времени, забросил. двумя кнопками неудобно менюшкой клацать.

  113. Sherkhan, а что хотите получить в итоге от «локализации»?…
    Локализация здесь зачем? Индикация: цифры арабские, символы английские.
    Схемы и софт всяко отличаются.
    Описание и видео на русском языке в инете есть.

    • Вероятно не верно выразился. Интересует альтернативная прошивка, но под W3001 ибо W1209 у меня с другим чипом, не с ST 🙁

      Можно конечно и чип перепаять, но проще «правильный» w1209 купить.
      А так всё куплено.
      Я думал, что в софте малость переназначить пины и всё 🙂 а получается если две кнопки, то скорее всего придется переделывать логику работы. Ну или как вариант впаять 3ю кнопку.

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

  114. Sherkhan, «альтернативная прошивка, но под W3001» зачем? Каков конечный результат вашего эго?
    В W3001 всё продумано, читайте инструкцию (причем на великом и могучем).

  115. @verbatim1, меня не устраивает терморезистор в роли датчика, хочу 18b20, нужна точность и линейность, т.к. планирую использовать с инкубатором.

  116. Бл., а в инкубаторе то зачем точность и линейность? Там диапазон регулировки температуры максимум 2 градуса. Засунул подмышку откалибровал на 36,6 и будет тебе счастье, не один десяток термостатов для инкубаторов работает, пока никто не жаловался.
    И не стоит делать на ds, поверь на слово. Она очень капризна к помехам.

    • Не очень соглашусь. примитивный регулятор — у меня выход был меньше живности из инкубатора, чем когда сделал два далласа, контроль по зонам и с пид регулятором нагрева 🙂 проблем по помехам с далласами не заметил, помимо всего прочего. в том числе и при применении в ректификационной колонне, где рядом постоянно работал 2квт тэн с шим стабилизацией нагрева

    • У родителей два инкубатора. Один покупной, второй самодельный. Термореле у обоих по принципу управления одинаковое — переменником выставил температуру, контроль по внешнему гралуснику. Самодельный (я делал) на компаратора, который в роли датчика использует Советский терморезистор (далее симистор на силовуху, но это не важно сейчас). В общем в течении последних пары лет процент вывода 50-60%, часть из них инвалиды (какие-то увечья ног). Народ говорит из-за проблем с температурой. Электричество не отключалось, влажность регулируется (в ручную).
      Есть у меня термометр самодельный, на 18b20 и экране от нокии, так он на нижней границе (там в разные дни как я помню разная температура, разбежка пару градусов или около) на градус отличается от цифрового китайского, а на верхней границе градуса два. Т.е.у китайского с жк экраном линейности нет. И походу привирает. А отец то по нему ориентировался.
      Вот и хотел я сделать точно, да и температуру не ручкой выставлять, а кнопками.

    • Кстати, у китайцев нашел модель и с 3мя кнопками (в корпусе), это W3002.
      Искал W1209 что бы с «правильным» контроллером, но так и не нашел по упоминаниям в отзывах. Может кто-то линканет ?

      Как я понял альтернативной прошивкой на W3001 никто не занимался и не планирует. Соответственно мне для достижения намеченного (18b20) для задачи описанной в предыдущем сообщении нужно либо проверенный W1209 либо тупо купить нужный контроллер и перепаять.

      Парни, не молчите 🙂

      • Я делал для w3001, уже писал. показалось неудобным с двумя кнопками, забросил за ненадобностью

        а 1209 с stm8 купить уже проблемa, их тупо нет. или надо старые искать, или паять. Реле времени, которое делал ранее под заказ на базе 1209 — уже перепилил под нувотон практически, именно потому что не продают вариант на stm8s

        • Понял, в общем куплю пяток STM8 и перекину.

          PS: кстати, нашел модель с двумя дисплеями, ищется по имени XH-W1219 (и кстати с 3мя кнопками) . Сразу не понял для чего второй дисплей, но если в альтернативной прошивке сделать вывод на один влажноть, а на второй температуру, было бы «мечта инкубаторщика» 🙂

          • я как-то перешел на подключаемые мк (а-ля esp8266) автономные устройства уже не особо интересны.
            да и цена не особо отличается от тех стм8

  117. Если с циркуляцией воздуха, теплоизоляций стенок и потолка все нормально, то температура во всем инкубаторе одинакова, достаточно одного термостата и без пид, т.к. температурная инертность у яиц много больше чем воздуха, которым они обогреваются.

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

    • стенки — из плит теплоизоляционных, циркуляция принудительная. озонатора нет 🙂 так что не попробую

  118. всем доброго время суток… подскажите прошика
    «Upd.15.04.17 Показометр влажности на базе dht11/dht22 «-будет конролировать или только показывать влажность воздуха? и если можно рисунок, как подключить эти датчики dht11/dht22 спасибо

    • если правильно помню — будет контролировать. точно как температуру примерно алгоритм. подключение — идентично ds18b20

  119. спасибо, вот увидел такой готовый пример изделия здесь https://skylots.org/6538732234/VlagoRegulyator-Regulyator-Vlajnosti-Cifrovoy-termometr-dlya-DHT11-gigrometr-gigroregulyator-plata-vologost-vlago-gigroregulyator-uvlajnitel-dht-11-universalnyy-byudjetnyy-rh-mnogofunkcionalnyy-vstroennyy-termometr-cifrovoy-20-90-ili-5-95 может кто знает, где купить такую прошивку тк платки такие есть и не надо покупать заново ,а просто «перешить» спасибо за помощь

  120. В общем купил пяток w1209, и еще в дороге «правильные» контроллеры. Но суть в том, что на этих пяти экземплярах МК не маркирован, а что если это stm, хоть и не макрирован. Попробовать прошить и все станет ясно, или что-то может сгореть если чип неизвестный?

    • Не должно ничего сгореть. А вообще — посмотрите, если на 8-й ноге контроллера висит конденсатор на землю — то это, скорее всего, STM8. Если его нет или выведено на какую контактную площадку — нувотон.

  121. А есть для STM8 прошивка под PID контролер XH-W1601 ?
    Есть еще такой же, только с Нувотоном но название уже ZFX-W1601

    просто погорел выход контролера, остальное целое, прошибло по корпусу датчика и прямо в STM а прошивки нигде нет. Заранее благодарен.

    • Не встречал, чтобы кто-то слил. Мне такой живьем не попадался. Да и как-то не совсем понимаю, каким методом добиться с помощью реле точной регулировки. Когда делал для инкубатора пид регулятор — так нагреватель шимился, для точной дозировки нагрева.

      • так эта модель без реле, там PWM модуляцией напряжение на выход подается определенное время и сбрасывается.

        вот ссылка на него : https://www.banggood.com/XH-W1601-DC12V-Temperature-Controller-Temperature-Control-Board-Semiconductor-Refrigeration-PID-Heating-With-Display-p-1429891.html

        там видно оборот платы, этот с Nuvoton n76e003at20 , причеч из 4-х пинов : 3 звонятся на МК, 4-й уходит в никуда, и надо еще остальные выводы найти, жду программатор снять прошивку с него, а есть такой же с stm8s105k4t6c вот под него бы программу найти. Пока , как вариант, попробовать считать с нувотон и залить на стм8

        • считать врядли удастся — китайцы редко оставляют открытыми. и второе — прошивка от нувотона на стм не подходит от слова совсем.
          не уловил про три пина на мк и 4-й в никуда 🙂
          Я делал тогда прототип для инкубатора на esp8266 + ds18b20 + дисплей от noka 5110 матричный. где-то прошивка валяется, штук 50 птиц вывела.

          • а в какой среде исходники делались ? хочу попробовать по нувотон скомпилировать

          • IAR. Не соберете 🙂 надо переделывать все. Я под нувотон реле времени фактически заново делал, весь лоу код — новый.

          • Другу пришел с нувотоном ) прикольно 1. реально заблокирована прошивка 2. Дана инструкция, но функционал зашит другой, вместо P0-P6 там P0-P8 причем добавлена автонастройка, последние две не совсем понятны, одна Вкл Выкл (наверное пределы -50 +110) а P8 от 1 до 3 — что это хз ) ну а инструкцию дали как обычно для STM8 Пида.

  122. всем доброго времени суток, вообщем дождался с китая DHT11 подкючил ,как ds18b20 но показаний нет , плата работает с ds18b20 прошиваю и подключаю аналогично DHT11 всеоодно остаются нули -» 00Н » -может нужен другой номинал R2 тк датчиков взял «пяток» и ни один не конектится, не подскажите в чем секрет… спасибо

    • Добавил в статью еще один вариант прошивки под dht11. Сейчас не могу проверить, нет стенда — что там и как.

  123. спасибо — прошился новым вариантом дисплей заработал — но жаль показания врёт в два раза, и непонятно с настройками не управляется…

  124. Я извиняюсь за поспешный вывод — перебрав все настройки управлять и корректировать влагой новым вариантом DHT11/22 можно! — делается через пункты меню
    РО- С…Н реле; Р1- гистерезис; Р2- установка нужной влаги; Р3- мне непонятно тк не регулируется, а значение меняется зависит от других настроек…; Р4-коррекция влаги; Р5- от 0 до 9, не понял, для чего; Р6 и Р7 не работает. Спасибо за труд

      • Это понятно, я думал что в есть рукопись со штатным, тут с цифровым представлен 🙂

        Кстати, если вместо STM8 нувотон запаять , будет работать :?) И наоборот ессно ?)

        • Да, я делал под заказ под штатный датчик программу. С имитацией родного софта. 🙂

          Нувотон если впаять — будет. При условии, что прошить программу для нувотона.

          • просто смущает обвязка для Нувотона ее меньше на плате, чем для СТМ, причем Пид платы СТМ8 другого форм фактора чипа STM8S003K3 вместо STM8S003F3

          • Так вроде минус один конденсатор и все. Что для стм8, что для нувотона — обвязки много не надо.

  125. там где этот кондер в стм8, в нувотоне дорога ведет в никуда 🙂 для прошивки нувотона приходится подпаиваться к ноге Экрана (Data), к ноге Кнопки (RST), и из 4- пинов для прошивки, используется только 3, (V, GND, CLK).

    Пока бьюсь с Keil , так как в IAR как то кривовато для 8051 сделано.

    • гм. я использовал как раз штатные отверстия на плате рядом с дисплеем + контактная площадка на кондер для программирования нувотона. вполне удобно, зачем по плате шататься для программирования?
      Код для нувотона тоже в кейле делал 🙂

          • для запуска сегментов экрана ты для нувотона чего использовал ? не удается запустить даже 1 сегмент почему-то. Сижу думаю почему, склоняюсь к библиотеке и адресации

          • в смысле что использовал? дрыганье ногами, что же еще. не очень понял вопроса.

  126. n76e003.h ? и экран там какого типа: катодный или анодный ?
    прозвонил ноги экрана на МК идут на Р0 и Р1.

    написал простой код для 1 сегмента, но он не зажегся при заливке

      • вроде немного разобрался, удалось зажечь Диод справа от экрана и управлять им вместе с пищалкой, надо выводы сегментов вообщем правильно определить, из-за этого не корректно было

      • c keil почувствовал себя дебилом 🙂 когда сэмплы грузишь все пашет, когда отдельно проект пытаешься сделать, чего то не хватает, хотя вроде все подгрузил. На АВР такой херни нет точно 🙂

        из 3-х значного экрана удалось запустить только 2 значения центр и правую сторону, левая вообще ни в какую. С простым кодом по адресам, вообще не выходит зажечь что-либо unsigned char segment[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x83,0xf8,0x80,0x98}; — это правильные адресации 😕 Пока отложу Нувотон в сторону. Как будто чиносы по своей логике делали… вообщем, пока я туплю в этом 🙂 даже перепроверял себя с АВР, там запускается на раз подключенные примерно также экран, но с платой — что-то упускаю

        • там правильный режим портам надо ставить. а так — не видел никаких проблем, мк простой. настройка железа в STM32 давалась тяжелее 🙂 AVR как сразу не пошел, без отладки не жизнь.. так и никогда не смотрел на них. А сейчас и смысла нет.

  127. Прошил W1209 под ds18b20, прошилось нормально, на кнопки реагирует, отображение информации нормальное, но вместо показаний температуры прочерки «—«. Типа не подключен ds18b20. Резистор на 20 кОм заменен на 4,7 кОм, конденсатор С3 (который возле бывшего резистора 20 кОм) выпаян, подпаивал несколько заведомо рабочих ds18b20, но результат тот же — три прочерка. Подскажите, куда копать дальше?

    • Не помню, чтобы делал прочерки по отсутствию ds18b20. А какой точно файл прошивки прошивали?
      Конденсаторы C1, С2 надо удалять. Один из них — под дисплеем. Ну или резать дороги.

      • Сейчас прошит файл скачанный от сюда
        Роман on 25.08.2018 at 15:32 said:

        https://yadi.sk/d/b-R4ZshH3aYe2W
        Залил сюда
        Прошивал так же прошивкой из статьи, там вместо температуры показывает 00,0
        Подскажите какую дорожку резать, чтобы не выпаивать индикатор.

        • У меня плата немного отличается от вашей. На другом ресурсе нашел решение — ничего резать и перемычку паять не нужно. Разсверливается переходное отверстие от конденсатора на землю. Всё заработало! Спасибо за прошивки!

          • Это если сверлилка есть 🙂 Результат аналогичен, в принципе, обрыв цепи ненужной.

  128. А можно ли использовать DS18B20 в двухпроводном варианте (к сожалению, уже в полу лежат несколько DS на двухпроводке)? ЕМНИП перед Reset нужно дать солидный уровень «1» (не на подтяжке), чтобы зарядить внутренний конденсатор в DS-ке, а потом обмен как обычно.

    • Штатно инструкция от далласа требует активную подтяжку транзистором в таком режиме, угу. Возможно, сойдет и IO контроллера, в прошивке такого не делал и не проверял, у себя только трехпроводную схему всегда применяю…

      • Я когда-то делал двухпроводку DS18B20 + Atmel at90s2313 на asm двадцать лет назад, одного пина хватает.. Динозавры ещё по улице гуляли. Забіл уже всё 🙁 надо потренироваться. Спасибо!!

        • Дописал в статью куда подключать. Вообще это было в комментах, поиском по странице сам нашел 🙂

          • Согласен, было в тексте, но нужно даташит STM8 глядеть. Поискал сам. Сигналы расписаны на китайском модуле так: SCK, SO, CS. Номера пинов для STM8/LED получились такие: SO=PD2 (STM8 pin 19 или LED pin3). SCK=PD3 (STM8 pin20 или LED pin2), CS=PD6 (STM8 pin3 или контакт, который раньше шёл к терморезистору). Керамику лучше отрезать (раззенковать ножом отверстие до обрыва металлизации).

  129. господа пара вапрософ если прошивачки под стм8 для термистора или термометра сопротивления(тсп/тсм) но без ограниченияч пределоф сверху ?
    тоесть ка штатная прошива но без верхего ограгничения в 110С надо выше 300С
    штоб гистерезис был!
    2 новые 1209 идут с мк типа NUVOTON n76e003at20 он на 51ядре под него наработкти есть? и чем он шьетца?

    • Готовой не встречал, как и термистора, штатно согласного на 300 градусов. Имхо, это к термопаре. нувотоны шьются программатором для них, nu-link называется. Реле времени для него тестово писал, термометр поленился пока.

    • Я пишу хоть под нувотон, хоть под стм, мне все равно под что писать. Есть и своя прошивка под нувотон на этот термостат. Программатор на нувотон стоит больше 10$. На один термостат дешевле купить stm8 и st-link.

  130. термистор NTC до 250С знаю-брал на али голда два взад формфактор капелька с тонкими ногами длиной 50мм на подогреф можно прикошатить если хакнешь кита!
    + да годен МНЕ также вариант с термопарой К-тип и маштабирующим усилителем на ОУ358 или чего получше из rail to rail с Ку=const* так чтоб диапазон термопары 0-500С раскачать на почти весть размах ADC- 0-5в рабочие темпрературы будут 100-380c
    никаки Ципок от Максоф и Аналных Девиц НЕПРИЕМЛЮ ПРИНЦИПИАЛНО!-мы не так богаты а надо переделать паялку и термостол и НП …может еще печку где пока тупа бметал-механика
    погрешность(абсолютку) в 1-3С(на край даже 5С) вполне сносная выйдет даже на 10битах стм8 (у новотона 14 бит АЦП)
    в качестве кормпенсатора ХС тупо в програме прибавлять константу в +25С(для комнатного режима) хотя конечно ПО ФЭНШУЮ можно и 2 термистор(ТХС) повесить на другой порт(но это уже плату портить надо)
    (если онаа и калибровка входа (наклон АЦП) настраиваласть бы из меню бы ваше идеално бьыло) но можно и епроме записать число при настрое
    ___
    сам в програмировани не силен -железятник я ,поэтому прошу кого нить кто шарит в МК хакнуть китайца -очень надо набрал таких термостатоф а они выше сотки не показывают ( пишут HHH) с маштабирующим усилком таже байда мекшает вверхний предел и он не отключается

    • Пошарил кратко у китайцев — термопара с max6675 в комплекте дешевле, похоже, чем высокотемпературный термистор. Ну.. Хочется извращений — то такое.

  131. Мужики, может пригодится — на 3д принтерах стоят термисторы NTC 100k — температура 280 гр.С мне кажется можно и поболе — до 300.

    • хм, кстати да, про 3д принтер то и термистор в головке я и забыл, при наличии оного принтера рядом 🙂 спасибо. Как-то если надо много мерять, термопара кажется все равно более удачным выбором.

  132. Основным недостаткомм термопар любых и особо бюжжетнвых К
    то что они трекбуют решать проблемы компенсаци температур ХС
    дело в том чтол ЭДС ТП пропорционална РАЗНОСТИ тепиератуг ГС и ХС(тоесть преобразование верно тока для ТХС=0грС!!! в простых паялках тупа ведено плюсование константы в 20-35с К ЭДС ТЕРМОПАРЫ ПРЕОБРАЗОВАНОЙ В КОД
    В ПРОФ РЕШЕНИЯХ ЕСТЬ 2 ДАТЧИК температуры ХС на NTC или диоде для замера ее и ведения в показания коректной поправки в зависимости от температур ХС но тогда есть смысл писать код ПИД регшулятора а не простой шеолкалки релюхой вкл выкл дающиц огромные выбеги
    конечно ктото скажет есть проф термостатьы ПИД ка раз для тенрмопар
    я 1 такой юзал на работе в печке плавки /закалки металла но его цена ок 5тыш …почти стокаже печка стоит…. като не фэншуйно такое…хочется бюджэетки…
    а махсы те для ардохи -игрушки- те хрен его зает чо они там мерят… и как отрабатывают ХС / тип кривой ТП на них нет сертифиекатоф госреестра и верить им нелзя и на поверку такой прибор метрологи не примут..

    • Ну вы даете, как вроде китайскую плату с неизвестно какой прошивкой и термопарой на поверку метрологи примут 🙂

      • https://arduino.ua/prod1810-termistor-ntc-3950-100-kom-v-teflonovoi-izolyacii до 300 градусов термистор. Заметно нелинейный от +10 до +300.
        И вопрос: зачем городить термистор, если МАХ6675 проще и надёжнее? Уже скомпенсированная, очень простая. И вот наш человек сделал утюг для пайки: http://www.eddy.com.ua/archives/264 Кстати, старый его вариант был на диодной компенсации К-термопары. Поройтесь по ссылочке из статьи Эдди.

        • Так это не у меня надо спрашивать, зачем 🙂 Я сам за термопару и более того — к статье приложена прошивка для работы с термопарой.

    • Серж, для Вас ссылка на Eddy. Случайно ответил на пост Хозяина 🙂 и не морочьте голову, MAX6675 разрабатывалась задолго до Ардуин. Снимаю шляпу перед Artko!!!

  133. термопары и термисторы у меня есть ка и платы этих термостатоф! а максы или АД ещз надо купить задорого гдето (например на АЛИ) и приедет это хрен знает когда и не факт что доедет-у меня хватает поссылок потнеряшек…

    • Если подберете коэффициенты расчетные для 100к термистора, можно попробовать взять прошивку под аналоговый датчик и поэкспериментировать, что будет показывать.

  134. Да, с Али долго, месяц полтора. Но у меня ничего не теряется, просто нужно доставку не самую дешевую, а на ступеньку выше брать. Поищите магазины Ардуинские. В Украине их много и цены вменяемые. И перевозчики у Вас должны быть вменяемые. Не «1000 денег срок месяц, не доволен-вали отсюда»…

  135. Добрый день. При попытке стереть исходную прошивку появляется ошибка:
    Error : Cannot communicate with the device !
    Check the SWIM cable connection and check all the needed pin connections on the SWIM connector.
    Программатор ST-Link V2, питание подаю от него. Сделал всё по инструкции, только изначально на плате не было С5 (VCap) под рукой есть только 1 мкФ. Поставил его, ноль ответа. В чём может быть причина?

    • На контроллере случаем не nuvoton написано? 🙂 На платах с ними нет конденсатора, он не нужен. Ну и да, если нувотон — стлинком не шьется, это совершенно другой МК.

        • Ну.. тогда из-за отсутствия C5 вангую нувотон. Для него моя прошивка не подходит и ст-линк его не шьет.

          • Огромное спасибо Вам за такой быстрый ответ.

        • Если не ошибаюсь, после запайки конденсатора, самым простым выходом будет запаять STM8 и прошить ST-link-ом.

  136. На W1209 заменил чип на STM, впаял конденсатор С5, поменял резистор на 4,7 кОм, конденсаторов С1 и С2 не было (отпаивал дисплей для проверки) и перешил под ds18b20. Нормально прошилось с первого раза, но не видит ds18b20, показывает нули или прочерки попеременно с нулями в зависимости от прошивки. В чем может быть проблема? Куда дальше смотреть?

  137. Глянул родную прошивку (hex что тут выложен), совсем другой уровень мастерства, чем тут в исходниках.
    Работает на 2МГц, вообще ни одна библиотека не используется, даже иаровских вспомогательных либ нет. Все лихо на регистрах написано, инициализация периферии вообще сразу константы в один прием (прям как я 🙂 ). Используется watchdog.
    С ntc стандартная работа — по таблице. Таблица с точностью до градуса. Десятичная часть интерполяцией.

    • Дык не вопрос — если у вас есть время и желание лихо кодить ради тестового проекта — без проблем, с удовольствием попользуемся вашей прошивкой, поделитесь?
      Я не видел смысла извращаться. И да, инициализация периферии в одну константу — для экономии памяти возможно и хорошо. Для читабельности кода и разборок через пару недель — не очень. Методика раз написал и забыл, потому что сам потом не найдешь концов…

  138. Есть ли у кого-нибудь исходный код версии thermo_v4.hex, он был переработан и выложен Serow 14.05.2018

  139. есть ли прошивка у кого ни будь , смыл в следующем , мне нужно , что бы термостат включался один раз , то есть я задал температуру включения к примеру 25 градусов и он работает пока есть питание

    • Так вроде штатная прошивка так и делает? Меньше температура чем заданная — нагрузка включена

  140. Добрый день! Не затруднит ли сделать возможность отключения индикатора? Хочу применить его от батарейного питания, вместо реле будет включаться пищалка. Само отключение индикатора или с помощью кнопок или по истечению какого-то времени, когда кнопки не нажимаются. Идея такая, что есть больной, у которого довольно часто подымается сильно температура и очень важно не пропустить когда она подымается, а то потом очень сложно сбить. Понимаю, что устройство сильно простое для такого дела, но нужно попробовать.

  141. Всем доброго времени суток!
    у меня задача исключить кнопку «set» для пользователей.
    Возможно ли доработать прошивку, что бы при пограничном режиме демонстрации температуры, при нажатии кнопок «+» и «-» менялась уставка на максимальную и минимальную температуру, а через 2-3 секунды возвращалась индикация текущей температуры.

    При этом нужно что бы верхний и нижний порог регулировки устанавливался в режиме программ.

  142. Приветствую всех. Может, не совсем по теме. Помогите, может, у кого есть прошивка термостата w1401. Летом, практически в упор, бахнула молния, много чего сгорело, сижу, восстанавливаю. W1209 восстановил без проблем, кому интересно, выбило стабилизатор, сам МК, индикатор. Но с ним проще, прошивки есть. Засада именно с w1401. Моя благодарность не будет знать границ)!!!

Добавить комментарий для Сон Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.