Страница 1 из 1

Терморегулятор на DS18B20 c шагом на 0,1 градус

Добавлено: 06 июн 2017, 16:40
StarKO
Создаю свой первый проект " Терморегулятор на два датчика температуры DS18B20 c шагом на 0,1 градус". Необходимые функции такие:мне надо что бы одно реле (Реле 1) включалось и выключалось в зависимости от заданной температуры, а второе реле (Реле 2) дойдя до заданной температуры выключилось и включилось только тогда когда я снова включу терморегулятор в сеть, Проблема во второй плате регулятора (файл прикрепляю). Чтобы добиться нужной функции я вставлял между RS-триггером и Реле-2 pin 12 разные комбинации (Rtrig, ТТ, и менял инверсию, пробовал по разному)не получается, или не включается вообще , или не отключается. Посмотрите пожалуйста кто может, как достичь желаемого результата. Заранее благодарен Сергей.

Терморегулятор на DS18B20 c шагом на 0,1 градус

Добавлено: 06 июн 2017, 17:12
Sancho
Нужна переменная для хранения состояния между циклами программы.
При инициализации программы там TRUE(1)
Смотри возле реле2pin12.

Улови идею и всё будет понятно

Терморегулятор на DS18B20 c шагом на 0,1 градус

Добавлено: 06 июн 2017, 18:05
Nikan
.

Терморегулятор на DS18B20 c шагом на 0,1 градус

Добавлено: 06 июн 2017, 20:05
jonik22sm
КАКОЙ ЛУЧШЕ использовать?

Терморегулятор на DS18B20 c шагом на 0,1 градус

Добавлено: 06 июн 2017, 21:19
pan
Nikan писал(а):у этого датчика точность в лучшем случае 0,5 градуса
хорошо бы с образцовым сравнить для спокойствия души.
но даташит говорит другое
Изображение

Терморегулятор на DS18B20 c шагом на 0,1 градус

Добавлено: 06 июн 2017, 21:47
jonik22sm
а как сделать 12 бит?

Терморегулятор на DS18B20 c шагом на 0,1 градус

Добавлено: 06 июн 2017, 21:54
pan
там как бы написано после скобок что 12 бит заводское состояние по умолчанию. как читает фл прог - не знаю

Терморегулятор на DS18B20 c шагом на 0,1 градус

Добавлено: 06 июн 2017, 21:58
rw6cm
pan писал(а):но даташит говорит другое
Умейте читать даташит.
то что вы цитируете, к точности не какого отношения не имеет.
И говорит лишь о том , что с повышением битности, датчик улавливает более мелкие изменения температуры.
А точность в даташите одна.
±0.5°C Accuracy from -10°C to +85°C
За пределами этого диапазона вообще не нормирована.

Терморегулятор на DS18B20 c шагом на 0,1 градус

Добавлено: 06 июн 2017, 22:07
pan
увидел. только не ясно зачем такое разрешение если точность 0.5

Терморегулятор на DS18B20 c шагом на 0,1 градус

Добавлено: 06 июн 2017, 22:14
rw6cm
pan писал(а):только не ясно зачем такое разрешение
Иногда нужны относительные изменения температуры.
Правда эти датчики имеют приличный дрейф, и уловить реальное изменение в 0,0625С думаю не получится ))

Терморегулятор на DS18B20 c шагом на 0,1 градус

Добавлено: 06 июн 2017, 23:03
Nikan
.

Терморегулятор на DS18B20 c шагом на 0,1 градус

Добавлено: 07 июн 2017, 09:01
rw6cm
Nikan писал(а):заявленную точность можно получить только при 12 битном преобразовании.
Точность датчика в целом 0,5С.
И зависит от применяемого в датчике термо-элемента и конструктива в целом, которые могут предоставить такую точность.
Битность здесь влияет на разрядность отображаемого числа. При 9бит сетка будет 0,5С.
В противном случае изготовитель предоставил бы таблицу или зависимость точности от битности.

П/с извиняюсь за оффтопик.

Терморегулятор на DS18B20 c шагом на 0,1 градус

Добавлено: 07 июн 2017, 15:52
StarKO
Sancho писал(а):Нужна переменная для хранения состояния между циклами программы.При инициализации программы там TRUE(1)
Смотри возле реле2pin12.

Улови идею и всё будет понятно
Прикрепления: _0-1_v2_NANO.flp(722Kb)
Добрый день всем гуру от FLProg! Добрый день Sancho!  Спасибо тебе за время которое уделил моей проблеме, но что то у меня не вышло. Загрузил скетч в свой терморегулятор и реле перестало отключаться. Пробую разобраться во всей этой логике но видно мои мозги не под эту кухню заточены. Образец платы терморегулятора я взял с сайта Грачика Чилингаряна (ArduinoProm), сам бы собрать не смог. Правда у него был регулятор на один датчик, а я переделал на два датчика (но это не сложно поменял настройки на дисплеях , в EEPROM, добавил входов и выходов) и терморегулятор работает нормально. Но с потребностью отключения второго реле справится не могу, пробовал методом научного тыка подключать разные блоки, менять константы, инвертировать - результат ЗЕРО. Моя большая проблема в том , что я не могу понять как работает тот или иной блок, в чем логика, какие функции он выполняет. Все что написано в описании блока для меня китайская грамота, мои мозги работают по принципу не могу потрогать не понимаю. Может какая литература есть для таких чайников как я. И возвращаюсь к своим баранам, что же можно еще сделать , что бы это реле отключалось?

Терморегулятор на DS18B20 c шагом на 0,1 градус

Добавлено: 07 июн 2017, 17:00
pan
мне кажется в справке к блокам очень даже понятно написано, что и как он делает.

Терморегулятор на DS18B20 c шагом на 0,1 градус

Добавлено: 07 июн 2017, 17:47
Nikan
.

Терморегулятор на DS18B20 c шагом на 0,1 градус

Добавлено: 07 июн 2017, 17:51
Sancho
StarKO писал(а):что же можно еще сделать , что бы это реле отключалось
Попробуй с самого простого, с минимума.
Уберём всё пока не нужное и решим вопрос с откл реле по достижению уставки.Можешь ещё почистить..

Терморегулятор на DS18B20 c шагом на 0,1 градус

Добавлено: 08 июн 2017, 13:04
rw6cm
StarKO писал(а):что же можно еще сделать , что бы это реле отключалось?
Пробуйте должно работать.
с кнопками думаю разберетесь.
Nikan писал(а):ну если от разрядности ацп точность не зависит, а только от первичного преобразователя, то можно производить все измерения на двухбитном
Зачем утрировать, разговор идет о конкретном датчике.
Изготовитель не ввел в программу диапазон от 2 до 32бит, а выбрал реальный от 9бит, при котором погрешность не выходит за допустимы пределы,
до 12бит при котором (пусть даже выборочный) датчик может уловить изменения температуры. В данном случае погрешность не будет зависеть от битности.