No Image

W1209 переделка на ds18b20

СОДЕРЖАНИЕ
1 298 просмотров
12 декабря 2019

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

По принципу работы терморегуляторы разделяют на:

  1. Механические:
  • Биметаллические;
  • Капиллярные.
  1. Электронные:
  • С механической установкой температуры;
  • Программируемые.

Краткий обзор модуля

Терморегулятор W1209 – программируемое реле контроля температуры. Входящий в комплект поставки датчик работоспособен в диапазоне температур от -50°C до +110°C. Регулятор предназначен для работы с нагревательным и охладительным оборудованием мощностью до 1 кВА.

Технические характеристики термостата w1209:

  • Диапазон контролируемой температуры – -50°C – +110°C;
  • Точность измерения в диапазоне от 9.9°С до 99,9°С – 0,1°С, сверх диапазона – 1°С;
  • Точность управления в диапазоне от 9.9°С до 99,9°С – 0,1°С, сверх диапазона – 1 °С;
  • Установка гистерезиса – от 0,1°С до 30°С;
  • Ток управления (нагрузка) = 14В – 20А, ≈220В – 10А;
  • Напряжение питания – 12В;
  • Ток потребления – 22-72 мА;
  • Габаритные размеры – 48х40х14 мм;
  • Вес – 20 г.;
  • Допустимая температура работы – -10°C – +60°C.

Обратите внимание! Некоторые продавцы позиционируют данное устройство с наименованием xh w1209. Все устройства данного типа абсолютно идентичны.

Настройка и работа термостата

Установка программируемого терморегулятора W1209 заключается в подключении устройства к источнику стабилизированного питания, настройке датчика температуры и контролируемой цепи.

Важно! Принципиальный момент – устройство содержит в себе только «сухие» контакты реле, то есть коммутирует цепь и никакого питания в линию не выдает.

Для правильной эксплуатации устройства следует знать особенности его работы:

  • Имеется возможность задержки включения от 0 до 10 минут;
  • Схема обладает регулируемым гистерезисом. Гистерезис – это разница температур при включении и отключения. Данная функция важна для коммутации устройств нагрева или охлаждения, обладающих высокой инерционностью.

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

На рассматриваемый w1209 терморегулятор инструкция не дает подробное описание схемотехники, но энтузиастами составлена принципиальная электрическая схема w1209 с питанием dc 12 в, из которой понятно, что работой управляет программируемый микроконтроллер, включенный по типовой схеме.

Порядок настройки

Перед включением следует изучить руководство по эксплуатации.

Для управления настройками схема W1209 предусматривает три кнопки:

Все предусмотренные функции и возможности настраиваются путем нажатия на перечисленные кнопки.

Согласно инструкции к W1209, для изменения настроек необходимо войти в режим программирования. Для этого нажимают и удерживают в течение 5 секунд кнопку «Set». Когда на экране высветится номер пункта настройки, кнопку можно отпустить. Для перемещения по меню настроек используют кнопки «+» и «-».

Всего инструкция термостата W1209 предусматривает от 6 до 8 позиций, в зависимости от текущей прошивки встроенного микроконтроллера:

  • Р0 – переключение контроля нагрева или охлаждения;
  • Р1 – регулировка диапазона гистерезиса;
  • Р2 – изменение максимального предела контроля температуры;
  • Р3 – изменение минимального предела контроля температуры;
  • Р4 – коррекция температурной погрешности измерений;
  • Р5 – программирование времени задержки включения;
  • Р6 – тревога (не используется в большинстве прошивок);
  • Р7 – принудительное выключение при достижении верхнего порога регулирования;
  • Р8 – сброс к заводским установкам (работает не на всех прошивках).

По умолчанию, при входе в режим программирования устанавливается первый пункт меню – Р0.

Войдя в нужный пункт, при помощи кнопок «+» или «-» устанавливают необходимое значение параметра. Для выхода из режима программирования необходимо нажать и удерживать в течение 5 секунд кнопку «Set». Выход в режим работы с записью установок также происходит по прошествии 10 секунд, если за это время не была нажата ни одна кнопка.

Инструкция термореле w1209 dc 12 в информирует, что данное устройство имеет сигнализацию неправильной работы, что отображается на индикаторе:

  • LLL – обрыв датчика температуры;
  • 110 или HHH – короткое замыкание шлейфа датчика;
  • 888 – неисправность датчика.

Кроме использования режима программирования, сброс к заводским настройкам можно произвести следующим образом:

  1. Снять питание с регулятора;
  2. Нажать одновременно кнопки «+» и «-»;
  3. Включить питание.

Калибровка термореле W1209

Калибровка термореле осуществляется в режиме программирования в пункте меню Р4. Для калибровки нужно иметь образцовый термометр. Сравнивая показания эталона с показаниями конструкции, приводят их к одинаковым значениям манипуляциями кнопок «+» или «-». После выхода из настроек W1209 автоматически корректирует температуру измерений во всем диапазоне.

При отсутствии термометра можно воспользоваться известными значениями:

  • Температура таяния снега – 0°С;
  • Температура кипения воды – 100°С.

Важно! Для уменьшения погрешности в процессе калибровки требуется использовать дистиллированную воду.

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

Модернизация модуля термостата W1209 своими руками

Конструкция прибора дает широкие возможности для модернизации. Можно доработать устройство следующим образом:

  • Поместить термореле в корпус;
  • Удлинить шлейф термодатчика;
  • Сменить версию прошивки.

Последний пункт возможно выполнить при наличии навыков работы с программируемыми контроллерами. Для этой цели используют USB программатор ST-Link V2. Необходимую версию прошивки можно скачать с официального сайта производителя контроллера. Переделка устройства путем смены прошивки на более новую позволяет ввести новые функции и улучшить эксплуатационные характеристики.

Доработка шлейфа имеет смысл по причине малой длины штатного провода датчика (около 0.5 м).

Настройка корректора температуры

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

Читайте также:  Желтые божьи коровки с белыми пятнами

Видео

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

На просторах интернета попался мне такой приборчик- терморегулятор W1209 . Отзывы о нем удовлетворяли моим требованиям. Пришел ко мне с сайта Алиэкспресс. Применить этот регулятор можно во многих местах- электрическое отопление, инкубаторы, холодильники сушильные шкафы, системы нагрева воды, защита электрооборудования, замер температуры охлаждающей жидкости автомобиля с последующим включением вентилятора теплицы, бани, теплые полы, обогрев труб, и т.д… Сам регулятор состоит из электронной платы с установленными 3 кнопки управления: SET Кнопка SETслужит для выбора режима и установки параметров а кнопками и непосредственно можно изменить данные программируемых параметров. ЛЕД индикатор имеет три разряда. Сам измеритель температуры устроен на базе термометра, установленного в чехол, имеет длину провода 30 см.

Пределы регулирования лежат в зоне от -50.0 до 110.0 градусов. Можно подключить нагрузки до 15 А (при 12 В постоянного тока) и до 5 А (при питании нагрузки от 220 В сети)

Питается прибор от 12 -14 В постоянного тока. Точность измерения находится в пределах 0.1 Цельсия. Ток потребления регулятора-35 мА при работе реле: 65 мА. В моей статье я расскажу как настроить и немного апгрейдить данный термостат.

Процесс настройки терморегулятора W1209 показан в видео:

Перечень инструментов и материалов
-нож или ножницы;
-отвертка;
-паяльник;
-тестер;
-пластиковая трубка от ушных палочек или стержня авторучки;
-неисправные светодиод диаметром 5 мм-4 штуки;
-пластиковые стойки-4 шт;
-соединительные провода;
-адаптер питания на 12 В;
-шурупы;
-пластмассовая коробочка из под шурупов с прозрачной крышкой;
-самоклеющаяся пленка.

Шаг первый. Изготовление корпуса.

Недостатком платы является то, что-она не подходит для установки в корпус, кнопки и индикатор расположены внизу относительно реле и клемм.

Шаг второй. Установка электронной платы терморегулятора.

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


Шаг третий. Проверка и настройка регулятора.

Подключил для питания терморегулятора адаптер на 12 В (можно использовать любой источник питания на 12 В и ток от 0,1 А). Сравнил показания температуры с эталонным электронным термометром,в результате они оказались одинаковыми.


Настроить регулятор несложно. Чтобы войти в режим программирования надо нажимать и держать 6 секунд кнопку SET, после настраивать кнопками. Для сохранения настройки нажимать и удерживать кнопку SET, или же не трогать кнопки 10 секунд. Все установки терморегулятора останутся в энергонезависимой памяти контроллера и после отключения питания прибора.

Режимы настройки.
P0 режим охладителя или нагревателя C/H
P1 настройка гистерезиса 0.1-15 градусов (разница в режиме переключения реле)
P2 установка верхнего рабочего предела температуры
P3 установка нижнего рабочего предела температуры
P4 подстройка температуры
P5 задержка включения реле (0-10 сек.,)
P6 аварийное превышение температуры. Режим Р4 служит для подстройки показаний по образцовому прибору.

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

В общем и целом это неплохой недорогой прибор (100р.) с большими возможностями в сфере применения.

W1209 Thermostat Board

The W1209 thermostat module has a STM8S controller, a sensor input, keys, LED display, and a relay. Applications of the board aren’t limited to temperature control: it can be reprogrammed for other embedded control tasks like timing, counting, or even ultrasonic distance measurement. At a unit price of below $1.50 it can be used for many "set and forget" applications.

Note: there have been reports of more or less compatible W1209 clones. Please refer to the identifying W1209 boards page for more information!

A GitHub project for a W1209 Data-Logging Thermostat provides an alternative firmware: it’s based on STM8 eForth, and interactively programming other control applications, e.g. using level, pressure, or light sensors, is easy!

The W1209 module (also XH-W1209) from SmartClima or XINHE/SINHE) has the following features:

  • STM8S003F3P6 (8K Flash, 1K RAM, 128 bytes EEPROM), 5V operation, no crystal
  • ICP (In Circuit Programming) pads. PD1/SWIM shared w/ 7S-LED segment "E".
  • User interface: 3 keys, and 3 digits 7S-LED display
  • Relay (12V operation, NO, 5A) with red status LED
  • Sensor input with a XH2.54 2p male connector and 20k pull-up to 5V
  • 10k NTC temperature sensor, typically with 50 cm cable and XH2.54 2p female connector

Instead of the NTC temperature sensor other types of resistive transducers can be used (e.g. for measuring light, pressure, strain, or angle). Hardware details and schematics are discussed in technical description.

W1209 Forth Support

Читайте также:  Виды коротких стрижек каре

The W1209 thermostat was one of the first STM8S Value Line Gadgets supported by TG9541/stm8ef. The W1209 runs its own interactive programming system, which allows code to be compiled into RAM or Flash ROM, and tested, directly on the target!

If you’re new to STM8 or to Forth, please refer to the following sections

A HEX file for the W1209, optimized for embedded control tasks, is part of the binary release. The default configuration provides a complete interactive Forth system with sufficient free memory for typical control applications (special configurations provide more free memory). The binary can be programmed to the W1209 board using an inexpensive ST-LINK adapter.

STM8EF v2.2.13 provides a full-duplex interface through the pushbutton pins. Alternatively, with the help of a simple hardware modificatio, the sensor header can be turned into a half-duplex serial interface.

Analog inputs can be used with the words ADC! (select a channel), and ADC@ (read a selected channel):

Note that the converted ADC value is very noisy. It’s advisable to use a moving average (e.g. the method of double low-pass filer with fixed point arithmetic and linearisation used in the W1209 data logging thermostat).

The former default W1209 Forth binary used the sensor header as a serial interface for the Forth console. An example program demonstrates switching between "analog input" and "serial communication".

If the application requires reading more than one analog input, it’s possible to use the GPIO PC4/AIN2 (the + key) with a only minor board modifications.

The word OUT! puts a binary pattern to the outputs. The W1209 has just one output, the relay (but the key pins can be turned into outputs, too).

LED & Pushbutton Character I/O

The 3 digit 7S-LED display and the 3 keys of the W1209 are fully supported by STM8EF vectored I/O:

  • the I/O word E7S sends an ASCII char to the LED pattern buffer, and on the lower level the word P7S can be used to display an 8bit LED pattern:
  • Using vectored I/O it’s possible to redirect console I/O to the 7S-LED display:

However, the 3 digits are just enough for showing ok (the EMIT vector can be restored with ‘ TX! ‘EMIT ! ).

  • On the W1209, the background task by default displays data on the 7S-LED display ( E7S is used through vectored I/O). This makes displaying measured data very simple:

In a background task the ?KEY vector is assigned to ?KEYB for reading board keys in the same way as ?RX does in the foreground task for reading characters from the serial interface.

On a lower level, the word BKEY reads the board pushbuttons as a bit-field (with ‘set’=1, ‘+’=2, and ‘-‘=4).

?KEYB does a simple translation of the key bit-field value to the characters ‘A’ to ‘G’ (with ‘set’ to A, ‘+’ to B, and ‘-‘ to D, the translation is defined by BKEYCHAR in boardcore.inc ). ?KEYB does key repetition by default.

The 3 keys are mapped as follows:

Key ?KEYB BKEY
"SET" "A" (0x41) 0x01
"+" "B" (0x42) 0x02
"-" "D" (0x44) 0x04

Pressing multiple keys leads to an ASCII code corresponding to the value of the bit-field (e.g. "SET" and "-" result in the code 0x45 (ASCII "E").

W1209 Example Forth Code

This section contains simple Forth code examples for the W1209. More examples can be found in STM8 eForth Programming. This Wiki contains more useful code snippets, e.g. an easy to use grid point interpolation can be used for modeling arbitrary functions, e.g. for sensor linearization.

W1209 UI with Keys and 7S-LED Display

The following program ledmon for the W1209 board is a minimal RAM monitor that runs in the background:

NVM activates IAP mode). The words that compose ledmon are then compiled to the Flash memory. The word start is the initialization code that sets addr to the initial RAM address for the monitor and starts the background task by setting BG to the address of ledmon . Finally, the address of start is used as the boot routine by storing it to the ‘BOOT vector. RAM "finalizes" the dictionary in the Flash ROM so that at the next cold start the new words are known, and switches back to volatile dictionary mode. The technical background is discussed here.

W1209 Switching between Sensor and RS232

The (former default) W1209 binary implements a half-duplex serial interface through the analog input. This makes using the serial interface "off-line" (i.e. either the control application, or the diagnostics) very simple.

The following small program demonstrates switching between analog input and communication interface:

The word sample reads ADC6 (and then switches to the non existent ADC0 to re-enable the serial input), wLPF is the state variable of of the LPF (a Q12.4 fractional number, i.e. fixed point arithmetics), lpf is a 1st order low-pass-filter with k=1.0625. The word measure samples the ADC, applies the LPF, scales fixed point to integer, and displays the result with U.2 (in a background task this goes to the 7S-LED display).

Читайте также:  Вычислить сопротивление графитового проводника изготовленного

The initialization part in start resets the LPF state variable wLPF and then sets measure as the background task. All the foreground task has to do is checking if ASCII CR (13) appears on the serial port (which indicates that the sensor has been exchanged by a serial terminal and someone has pressed the enter key). It exits the loop, stops the background task, and drops to the Forth prompt.

Finally, the interpreted phrase ‘ start ‘BOOT ! sets the word start as the initialization routine, and RAM stores the dictionary pointers to Flash.

W1209 pulse generator

For transient response test of a DC/DC converter a periodically switched load was required. The following code turns the W1209 into a simple but useful piece of lab equipment:

The code is similar to the ledmon example, which contains an explanation of the background routine task , and the startup code start .

Flashing the STM8EF Binary

The binary release contains two STM8EF binaries, providing different COM-port potioms: W1209 and W1209-FD. For programming one of them to a new W1209 board follow these steps:

The ST-LINK programmer should be connected to the ICP (in circuit programming) pads next to the 7S-LED display. In many cases it’s possible to connect GND and SWIM only but NRST is required for erasing the factory programming, and it’s safest to power the W1209 board through the programmer.

Programmer W1209
+5V Pin 1 (square pad)
SWIM Pin 2
NRST Pin 3
GND Pin 4

For a development board, where it’s to be expected that the STM8EF image needs to be re-flashed, or where a resulting application binary needs to be read, retrofitting a 4 pin programming header is often the best option. It’s also possible to use a "pogo pin" device for these operations.

A new W1209 board is likely to be locked. When unlocking it following the link above the Flash ROM contents is wiped. Note that the usually unless you have access to the original W1209 binary there is no way to undo that!

Programming the W1209 using the methods described in the links above is simple and straightforward. After Programming the 7S-LED display should show the text "4th".

The W1209 doesn’t have a serial communication port but that doesn’t mean that one can’t have a serial console.

Serial Communication through the Key Pins

This is the preferred method with the W1209-FD binary in the v2.2.13.snapshot pre-release.

For connecting to a deployed board clips can be used. For a development board a fixed serial cable is a better option.

In the image above the following connections are visible:

TTY com port W1209-FD clip color wire color
GND GND at any key blue clip white wire
TxD key "+" (PC4, RxD) red clip purple wire
RxD key "-" (PC5, TxD) yellow clip blue wire
key "set" (PC3) grey wire

Using a "pogo pin" programming cable makes soldering a pin header to the ICP pads unnecessary. When clips are used no W1209 circuit board modification is required for debugging or configuring the application software.

Serial Communication through the Analog Header

The analog input is on PD6, which is also the RS232 RX pin. The sensor connector cab be used as half-duplex two-wire a communication interface. The implementation uses a TIM4 interrupt for the RS232 timing. Half-duplex "communication bus" works surprisingly well for an interactive console.

Here is the simple circuit for connecting a USB-RS232 adapter to this "wired-OR" communication bus:

A standard "TTL" interface and a diode are required. The 470nF capacitor "C1" (the one next to the sensor connector) needs to be remove from the W1209 PCB (e.g. use a soldering iron with some extra tin on the tip for better heat transfer to the pads).

it’s also possible to communicate through a different easily accessible GPIO, e.g. PC5 ("-" key). Please refer to issue #17

due to the rather poor design of the PCB there is a lot of noise on the analog input even if the C1 is in place, and averaging is always necessary. Even a 470nF capacitor doesn’t help if it isn’t placed close to the µC. According to the STM8S specs ADC1 has 3pF sampling capacity and a correctly placed 4.7nF would have been sufficient for 10 bit accuracy. Using the ADC without capacitor works too, but some averaging of the conversion results is necessary. If you’d intend to use the connector as a COM-port and also want to apply a capacitor to the analog input, at 9600 bit/s C1=10nF should be OK (Tbit

5τ), and even 22nF should work (Tbit

the STM8S UART1 also has a half-duplex "bus-mode", where the same GPIO is used intermittently for Rx and Tx. Unfortunately, this mode only works with PD5 (the TX pin)

The STM8S003F3P6 pins are connected as follows:

Комментировать
1 298 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
Adblock detector