Программатор для ds1821. схема и программное обеспечение

Принцип работы регулятора на симисторе

Напомним, что симистором принято называть модификацию тиристора, играющего роль полупроводникового ключа с нелинейной характеристикой. Его основное отличие от базового прибора заключается в двухсторонней проводимости при переходе в «открытый» режим работы, при подаче тока на управляющий электрод. Благодаря этому свойству симисторы не зависят от полярности напряжения, что позволяет их эффективно использовать в цепях с переменным напряжением.

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

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

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

Благодаря перечисленным выше свойствам, можно управлять мощностью нагрузки путем фазового управления. То есть, симистор открывается каждый полупериод и закрывается при переходе через ноль. Время задержки включения «открытого» режима как бы отрезает часть полупериода, в результате форма выходного сигнала будет пилообразной.

Форма сигнала на выходе регулятора мощности: А – 100%, В – 50%, С – 25%

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

Простой термостат на основе датчика DS1821

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

Принципиальная схема

Принципиальная схема термостата показана на рисунке 1. На выходе датчика DS1821 включен простой транзисторный ключ, который управляет током через светодиод оптопары U1, а та управляет симистором, управляющим питанием нагревателя.

Рис.1. Принципиальная схема термостата на датчике DS1821.

Теперь немного слов о самой микросхеме DS1821. Выпускается фирмой «МАХІМ» и может работать как термостат (с двумя порогами температуры, — на включение и на выключение) или как цифровой термодатчик, передающий данные на микроконтроллер или компьютер. Диапазон рабочих температур от -55 до +125°С.

Схема программатора для DS1821

Промышленно микросхема выпускается настроенная как термодатчик. Для перевода её в режим термостата и задания температурнных порогов (нижнего — TL и верхнего ТН) необходим персональный компьютер с портом СОМ, в который микросхема подключается при помощи переходника, схема которого показана на рисунке 2.

Требуется программа ds1821.exe — Скачать (446 КБ).

Схема переходника-программатора приводится в закладке «Adapter Curcut» этой программы. Однако, в схеме приводимой в программе (рис. 3.) используются полевые транзисторы, которых у меня не оказалось, и схему программатора собрал из того что было (рис.2).

Такая тоже работает, проверено!

Рис. 2. Принципиальная схема программатора для настройки термодатчика DS1821 через com-порт.

Программатор на рисунке 2 и тот, что по схеме, предложенной в программе, рассчитан на работу с 9-выводным СОМ-портом персонального компьютера. Но, сейчас данный порт уже редко используется, и в новых компьютерах его может и не быть, так как все уже давно перешло на USB.

В этом случае нужно в любом магазине компьютерных принадлежностей приобрести адаптер-переходник COM-USB, и подключать программатор через него. После того как программа установлена и переходник сделан нужно чтобы микросхема находилась в режиме термодатчика. Если она новая она в таком режиме и будет. Если нет, — нужно в главном окошке программы (рис. 4) установить режим термодатчика (1-Wire). Затем,

в строке ТН набрать верхнюю температуру, а в строке TL — нижнюю (значения в градусах по Цельсию). Затем «Termostat» и «Exit». Теперь микросхема все «запомнила» и будет управлять нагрузкой согласно этим установкам. Если нужно измерять температуру и видеть показания на экране монитора, — снова подключаем микросхему к СОМ через переходник и переводим её в режим датчика «1-Wire», затем нажимаем «Start» и видим значение температуры в строке снизу.

Рис. 3. Принципиальная схема программатора из программы ds1821.

Использовать более доступную микросхему DS18S20, как это ошибочно утверждается в некоторых источниках, невозможно, так как DS18S20 не имеет функции работы в качестве термостата. Поэтому подходит только DS1821. Микросхема DS18S20 работает только в качестве датчика, — для передачи данных о температуре на микроконтроллер или персональный компьютер.

Рис. 4. Скриншот программы ds1821.

Принимая во внимание тот факт, что компьютер и термостат могут быть расположены (установлены) достаточно далеко друг от друга, в конструкции термостата предусмотрена возможность легкого снятия микросхемы (датчика), подключаемой через разъем Х1 (рис. 1) чтобы её можно было отнести к компьютеру, подключить через переходник-программатор в СОМ и изменить пороги переключения, когда это потребуется

Питание термостата

Схема термостата (рис.1) питается от покупного трансформаторного источника питания напряжением 5V. Это хорошо в том смысле, что обеспечивается полная гальваническая развязка от электросети. Источник питания должен быть стабилизированным. Либо можно взять нестабилизированный источник напряжения больше, например, 9V или 12V, и с него подать напряжение на схему рис. 1 через стабилизатор, например, 78L05.

Ладное М. М. РК-2016-09.

Общие сведения

Программатор USBAsp распространяется и открытым исходным кодом, так что при желании можно изготовить самому, скачав печатную плату и прошивку с сайта Thomas, из-за этого в различных интернет магазинах существует различные варианты программатора с одинаковым функционалом. В моем случае буду рассказывать о USBAsp V2.0 китайского производителя LC Technelogy.

Программатор собран на синий печатной плате, слева расположен USB-разъем необходимый для подключения к компьютеру. В центре располагается контроллер ATmega8A, рядом установлен кварцевый резонатор на 12 МГц и электрическая обвязка (резисторы, конденсаторы). Справа расположен 10-контактный разъем (два ряда, по пять выводов, шагом 2.54 мм), обеспечивающий обмен данными с прошиваемым микроконтроллером (интерфейс ISP). В комплекте поставляется кабель, с каждой стороны которого, установлен разъем IDC (10 выводов), для простоты прошивки некоторых плат (например Arduino), советую приобрести адаптер-переходник с 10-pin на 6-pin. Назначение выводов программатора USBAsp можно посмотреть на рисунке ниже, вид на стороне программатора.

Назначение выводов:►  1 – MOSI
►  2 – VCC
►  3, 8, 10 –  GND
►  4 – TXD
►  5 – RESET
►  6 – RXD
►  7 – SCK
►  9 – MISO

Световая индикация►  Красный светодиод G — Включен
►  Красный светодиод R — Обмен данными

Перемычки
►  JP1 — POWER, управляет напряжением на разъеме ISP VCC (вывод 2), можно установить на + 3.3В, + 5В или вовсе убрать перемычку, если программируемое устройство, имеет собственный источник питания.
►  JP2 — SERVICE, обновления прошивки USBasp.
►  JP3 — SLOW, программирования на низких скоростях, если программируемое устройство, работает на частоте ниже 1.5 МГц, SCK (вывод 7) уменьшит частоту с 375 кГц до 8 кГц.

Принципиальная схема программатора USBAsp V2.0 можно посмотреть на рисунке ниже.

Список поддерживаемых AVR микроконтроллеров:
►  Mega Series: ATmega8, ATmega8A, ATmega48, ATmega48A, ATmega48P, ATmega48PA, ATmega88, ATmega88A, ATmega88P, ATmega88PA, ATmega168, ATmega168A, ATmega168P, ATmega168PA, ATmega328, ATmega328P, ATmega103, ATmega128, ATmega128P, ATmega1280, ATmega1281, ATmega16, ATmega16A, ATmega161, ATmega162, ATmega163, ATmega164, ATmega164A, ATmega164P, ATmega164PA, ATmega169, ATmega169A, ATmega169P, ATmega169PA, ATmega2560, ATmega2561, ATmega32, ATmega32A, ATmega324, ATmega324A, ATmega324P, ATmega324PA, ATmega329, ATmega329A, ATmega329P, ATmega329PA, ATmega3290, ATmega3290A, ATmega3290P, ATmega64, ATmega64A, ATmega640, ATmega644, ATmega644A, ATmega644P, ATmega644PA, ATmega649, ATmega649A, ATmega649P, ATmega6490, ATmega6490A, ATmega6490P, ATmega8515, ATmega8535,
►  Tiny Series: ATtiny12, ATtiny13, ATtiny13A, ATtiny15, ATtiny25, ATtiny26, ATtiny45, ATtiny85, ATtiny2313, ATtiny2313A
►  Classic Series: AT90S1200, AT90S2313, AT90S2333, AT90S2343, AT90S4414, AT90S4433, AT90S4434, AT90S8515, AT90S8535►  Can Series: AT90CAN128
►  PWN Series: AT90PWM2, AT90PWM3

Термометр DS1821 Термостат: техническое описание, характеристики, характеристики [Часто задаваемые вопросы]

ULN2803A Восемь массивов Дарлингтона. Лист данных. Загрузить PDF.

BAR43.0005

Дата: 23 февраля 2022 г.

Catalog

DS1821 Description

DS1821 Pin Configuration

DS1821 Block Diagram

DS1821 Temperature Measuring Circuitry

DS1821 Features

DS1821 Datasheet

DS1821 Specifications

DS1821 Manufacturer

Using Warning

DS1821 FAQ

DS1821 Description

The DS1821 может работать как автономный термостат с программируемыми пользователем точками срабатывания или как 8-битный датчик температуры с цифровым интерфейсом 1-Wire. Точки срабатывания термостата хранятся в энергонезависимой памяти, поэтому блоки DS1821 можно запрограммировать до включения в систему для полноценной автономной работы.

DS1821 имеет диапазон рабочих температур от –55°C до +125°C и точность ±1°C в диапазоне от 0°C до +85°C. Связь с DS1821 осуществляется через вывод DQ с открытым стоком; этот контакт также служит выходом термостата.

Рисунок: Блок -диаграмма 9062

Рисунок: Блок.0005

Уникальный интерфейс 1-Wire требует только одного контакта порта для связи
Работает в диапазоне температур от -55°C до +125°C (от -67°F до +257°F)
Функционирует как автономный термостат с определяемыми пользователем точками срабатывания
Обеспечивает 8-битные (разрешение 1°C) измерения температуры по Цельсию
Точность ±1°C в диапазоне от 0°C до +85°C
Преобразует температуру в цифровое слово за 1 секунду (макс. )
Доступен в 3-контактных корпусах TO92 и 8-контактных SO
Применения включают термостатические элементы управления, промышленные системы, потребительские товары, термометры или любые термочувствительные системы

Технические характеристики DS1821

Атрибут продукта Значение атрибута
Производитель: Максим Интегрированный
Категория продукта:
RoHS: Н
Тип выхода: Цифровой
Конфигурация: Местный
Точность: +/- 1 С
Напряжение питания — мин. : 2,7 В
Напряжение питания — макс.: 5,5 В
Тип интерфейса: 1-проводной
Разрешение: 8 бит
Минимальная рабочая температура: — 55 С
Максимальная рабочая температура: + 125 С
Выключение: Нет отключения
Способ монтажа: Сквозное отверстие
Упаковка/футляр: ПР35-3
Марка: Максим Интегрированный
Рабочий ток питания: 1 мА
Продукт: Термометр Термостат
Тип продукта: Датчики температуры
Серия: ДС1821
Подкатегория: Датчики
Температурный порог: Программируемый

DS1821 Производитель

Maxim Integrated, дочерняя компания Analog Devices, разрабатывает, производит и продает аналоговые и смешанные интегральные схемы для автомобильного, промышленного, коммуникационного, потребительского и вычислительного рынков. Ассортимент продукции Maxim включает ИС для управления питанием и батареями, датчики, аналоговые ИС, интерфейсные ИС, коммуникационные решения, цифровые ИС, встроенные системы безопасности и микроконтроллеры. Штаб-квартира компании находится в Сан-Хосе, штат Калифорния, и у нее есть дизайнерские центры, производственные мощности и офисы продаж по всему миру.

Часто задаваемые вопросы по DS1821

Сколько стоит программируемый термостат?

В среднем программируемый термостат стоит от 100 до 200 долларов. Деньги, которые вы сэкономите в первый год использования интеллектуального или программируемого термостата, вероятно, покроют большую часть этих первоначальных затрат. Однако бывают случаи, когда интеллектуальный или программируемый термостат может не сэкономить вам денег.

Что такое цифровой программируемый термостат?

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

Что лучше: программируемый или непрограммируемый термостат?

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

Схема термостата

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

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

Рис. 2. Принципиальная схема термостата с индикацией температуры.

Ключ, управляющий нагревателем состоит из оптопары U1 и симистора VS1. Светодиод оптопары U1 включен последовательно зеленому светодиоду HL5.

Когда температура недостаточна горит большое количество светодиодов, и HL5 в том числе. Поэтому, оптопара открывается и открывает симистор, а он подает питание на нагреватель.

Нагреватель включается, и температура начинает увеличиваться, а сопротивление R1, соответственно уменьшаться. Уменьшается и напряжение на входе микросхемы. Светодиоды начинают гаснуть, уменьшая длину светящегося столба. Когда температура достигает заданной величины, доходит очередь гаснуть и до светодиода HL5. Он гаснет, и нагреватель выключается.

Температура начинает уменьшаться, напряжение на R1 увеличивается. Через какое-то время загорается HL5 и снова включается нагреватель. Таким образом поддерживается температура.

Сфера применения

Капиллярный термостат очень распространенный датчик температуры. Его часто используют в:

  1. Бытовом приборостроении. Элемент устанавливают в кондиционеры, печи, водонагревательные котлы, в стиральную, посудомоечную технику, систему вентиляции «Умных» домов.
  2. В промышленности данный механизм применяется для контроля температуры газов, жидкостей. Используется для вентиляции помещений. Есть устройства для контроля температуры электрических двигателей, которые эксплуатируются без надзора человека.
  3. До изобретения пожарных датчиков огня и задымления, терморегуляторы с капиллярной системой использовались в качестве контроллеров температуры на складских и неохраняемых помещениях.

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

2.1 Описание принципа действия и общий алгоритм работы

После подачи питания на устройство, микроконтроллер производит настройку портов, общее конфигурирование, например, отключение компаратора. После этого запускается основной цикл работы микроконтроллера. На этом этапе микроконтроллер дожидается нажатия клавиши «Старт/Останов» для начала измерений. Вначале инициализируется термодатчик. Так как на линии только один датчик, отправляется команда интерфейса 1-Wire выбора всех датчиков. Затем отправляется команда начала температурного преобразования. Так как для температурного преобразования нужно определенное время, микроконтроллер ожидает от датчика сигнала завершения температурного преобразования. Для этого он в цикле опрашивает состояние порта датчика, настроенного на ввод данных. Настройка точности преобразования не производится, т.к. для данной работы достаточно точности 0.5 градуса Цельсия. После получения сигнала завершения температурного преобразования, датчик вновь инициализируется и считывается содержимое его памяти. Считанные данные преобразуются в вид, удобный для вывода на индикатор, определяется знак числа. Если оно отрицательное, то происходит преобразования из дополнительного кода в прямой код. Затем происходит вывод данных на семисегментный индикатор.

Опрашивается порт, к которому подключена клавиша управления. Если клавиша нажата, микроконтроллер переходит в цикл ожидания.

Режим поиска

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

Серийные номера (первые 8 бит) считываются и сохраняются в EEPROM микроконтроллера, поэтому они будут доступны сразу же при каждом включении термостата.

Обратите внимание, что при поиске датчики сортируются от наименьшего серийного номера (датчик 1) до наибольшего. Из-за ограниченного объема памяти микроконтроллера можно подключить до 15 датчиков

Запустите режим поиска, нажав TLS + TIP. Сначала мы прокручиваем температуру, затем нажимаем кнопку TLS, а затем TIP. Надпись сообщает о начале поиска, и кнопки можно отпустить. Первый найденный датчик отображается как . Поиск заканчивается обнаружением последнего или пятнадцатого датчика . Сразу после завершения поиска включается режим анимации. Если датчик не найден, отображается ошибка и поиск повторяется.

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

4.4 Структура программы

5. Технология отладки программы

В качестве основной среды для написания кода программы и его отладки я использовал приложение MPLAB IDE, являющимся стандартным средством разработки кода для микроконтроллеров PIC. Так как приложение имеет только встроенный компилятор ассемблерного кода, мне пришлось использовать внешний компилятор кода на языке Си.

Я использовал компилятор кода на языке Си HI-TECH C Compiler.

Для синхронизации приложения написания кода и компилятора при создании проекта в мастере проектов указал в качестве приложения компиляции HI-TECH C Compiler.

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

6. Моделирование

Для моделирования работы цифрового термометра использовалась программа Proteus 7.7 Professional.

Использовались следующие компоненты:

Вид

Описание

Микроконтроллер PIC16f628A.

RA0-RA7 — выводы порта PORTA

RB0-RB7 — выводы порта PORTB

Термодатчик DS18S20

1 — заземляющий вывод

2 — вывод на шину данных

3 — вывод основного питания

Блок из четырех семисегментных индикаторов

A-G — входы соответствующих сегментов

DP — вход сегмента-точки

1-4 — вход позиции отображаемого символа

Управляющая клавиша.

При щелчке мышью по значку клавиши, контакт замыкается.

При повторном щелчке — размыкается.

Клавиша должна находиться в нормально-разомкнутом состоянии.

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

Резистор 4.7 кОм. Используется для зануления порта RA7 при разомкнутой клавише управления.

Подтягивающий резистор шины данных термодатчика.

Нужен для установки на шине высокого уровня при отключении соответствующего порта (вернее, при переключении его на ввод).

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

Осциллограф.

Использовался для отслеживания сигналов на шине данных термодатчика.

Для получения кодов отображаемых на индикаторе символов, я собрал следующую схему:

Последовательность разработки и отладки программного обеспечения

1. Создал проект в вышеописанной программе MPLAB IDE для конкретного микроконтроллера с указанием начальных параметров конфигурации, добавил в него файл с расширением «.c» — файл кода на языке Си.

2. Редактировать файл Си в MPLAB IDE оказалось неудобно. Открыл файл в Visual Studio, после внесения изменений и сохранении файла при переключении в MPLAB IDE он автоматически обновлял проект, предварительно запросив подтверждение:

3. Запускал трансляцию и компиляцию проекта. За этот этап отвечает HI-TECH C Compiler, синхронизированный с MPLAB IDE (см. пункт 6 «Технология отладки программы»).

Результаты компиляции можно посмотреть в окне «Output».

3. В результате компиляции получается выходной файл с расширением «.hex», находящийся в корневом каталоге проекта.

В Proteus в настройках микроконтроллера необходимо прописать путь к нему. Это требуется сделать лишь один раз. В последствии можно запускать модель на выполнение сразу же после компиляции, что существенно экономит время.

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

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

Результаты моделирования

Положительные показания прибора

Отрицательные показания

Вид осциллограммы передачи байта данных датчику

Передается байт 0xCC.

0xCC = 11001100b

«Провал» шины на 60 мс соответствует логической единице.

Кратковременный провал и поддержка высокого уровня на 60 мс — нулю.

Список литературы

1. «PIC16F62X Однокристальные 8-разрядные FLASH CMOS микроконтроллеры компании Microchip Technology Incorporated» — перевод компании ООО «Микро-Чип», основанный на оригинальной документации микроконтроллера.

2. «Программирование на языке С для AVR и PIC микроконтроллеров» — Ю. А. Шпак.

Размещено на Allbest.ru

Исходный код программы

Полный код программы представлен в конце статьи, здесь же сначала рассмотрим его наиболее важные фрагменты.

Для выполнения математических операций в программе мы должны подключить заголовочный файл библиотеки “#include <math.h>”, а для работы с ЖК дисплеем – подключить библиотеку “#include <LiquidCrystal.h>». Далее в функции setup() мы должны инициализировать ЖК дисплей.

Arduino

Void setup(){
lcd.begin(16,2);
lcd.clear();
}

1
2
3
4

Voidsetup(){

lcd.begin(16,2);

lcd.clear();

}

Значение температуры мы будем рассчитывать в программе с помощью рассмотренного выше уравнения Стейнхарта-Харта.

Arduino

float a = 1.009249522e-03, b = 2.378405444e-04, c = 2.019202697e-07;
float T,logRt,Tf,Tc;
float Thermistor(int Vo) {
logRt = log(10000.0*((1024.0/Vo-1)));
T = (1.0 / (A + B*logRt + C*logRt*logRt*logRt));// рассчитываем значение температуры в кельвинах по формуле Stein-Hart
Tc = T — 273.15; // переводим температуру из кельвинов в градусы Цельсия
Tf = (Tc * 1.8) + 32.0; // переводим температуру в шкалу Фаренгейта
return T;
}

1
2
3
4
5
6
7
8
9

floata=1.009249522e-03,b=2.378405444e-04,c=2.019202697e-07;

floatT,logRt,Tf,Tc;

floatThermistor(intVo){

logRt=log(10000.0*((1024.0Vo-1)));

T=(1.0(A+B*logRt+C*logRt*logRt*logRt));// рассчитываем значение температуры в кельвинах по формуле Stein-Hart

Tc=T-273.15;// переводим температуру из кельвинов в градусы Цельсия

Tf=(Tc*1.8)+32.0;// переводим температуру в шкалу Фаренгейта

returnT;

}

Также в программе мы считываем значение с аналогового входа платы Arduino.

Arduino

lcd.print((Thermistor(analogRead(0))));

1 lcd.print((Thermistor(analogRead())));

Внешний вид работы нашего проекта показан на следующем рисунке – на ЖК дисплее выводятся значения температуры в кельвинах, градусах Цельсия и по шкале Фаренгейта.

Схему можно запитать по кабелю USB или использовать адаптер на 12 В.

Далее представлен полный текст программы.

Arduino

#include <math.h>
#include «LiquidCrystal.h»
LiquidCrystal lcd(44,46,40,52,50,48);
float A = 1.009249522e-03, B = 2.378405444e-04, C = 2.019202697e-07;
float T,logRt,Tf,Tc;
float Thermistor(int Vo) { // функция для расчета значения температуры
logRt = log(10000.0*((1024.0/Vo-1)));
T = (1.0 / (A + B*logRt + C*logRt*logRt*logRt)); // рассчитываем значение температуры в кельвинах по формуле Стейнхарта-Харта
Tc = T — 273.15; // переводим температуру из кельвинов в градусы
Tf = (Tc * 1.8) + 32.0; // переводим температуру в шкалу Фаренгейта
return T;
}
void setup(){
lcd.begin(16,2);
lcd.clear();
}
void loop()
{
lcd.setCursor(0,0);
lcd.print(«Temp:»);
lcd.print((Thermistor(analogRead(0))));
lcd.print(«k «);

lcd.setCursor(0,1);
lcd.print((Tc));
lcd.print(» C ;»);
lcd.setCursor(9,1);
lcd.print((Tf));
lcd.print(» F»);
delay(800);
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

#include <math.h>
#include «LiquidCrystal.h»

LiquidCrystallcd(44,46,40,52,50,48);

floatA=1.009249522e-03,B=2.378405444e-04,C=2.019202697e-07;

floatT,logRt,Tf,Tc;

floatThermistor(intVo){// функция для расчета значения температуры

logRt=log(10000.0*((1024.0Vo-1)));

T=(1.0(A+B*logRt+C*logRt*logRt*logRt));// рассчитываем значение температуры в кельвинах по формуле Стейнхарта-Харта

Tc=T-273.15;// переводим температуру из кельвинов в градусы

Tf=(Tc*1.8)+32.0;// переводим температуру в шкалу Фаренгейта

returnT;

}

voidsetup(){

lcd.begin(16,2);

lcd.clear();

}

voidloop()

{

lcd.setCursor(,);

lcd.print(«Temp:»);

lcd.print((Thermistor(analogRead())));

lcd.print(«k «);

lcd.setCursor(,1);

lcd.print((Tc));

lcd.print(» C ;»);

lcd.setCursor(9,1);

lcd.print((Tf));

lcd.print(» F»);

delay(800);

}

Датчики DS18B20

  • Диапазон измеряемых температур: -55 … + 125° C
  • Разрешение: 0,1° C
  • Калибровка не требуется, датчики калибруются в процессе производства, точность ± 0,5° C (в диапазоне от -10 до 85° C)
  • Частота измерения примерно каждые 3 секунды
  • Датчики подключаются трехжильным кабелем (внешнее питание)
  • Выводы (на рис. ниже) GND — синий, линия данных 1-Wire — зеленый, VDD — оранжевый

Также возможно подключение датчиков двумя проводами (паразитное питание)

Обратите внимание, что температура выше 100° C не может быть измерена с помощью паразитного питания

Программа микроконтроллера позволяет комбинировать оба варианта питания датчиков.

Подберите сопротивление резистора PULLUP (от 4K7 до 1K) в соответствии с длиной кабеля. Экранированный телефонный кабель (длиной 45 м), как на рисунке выше, с резисторами PULLUP сопротивлением 1 кОм работает надежно.

Настройка пределов

Каждый датчик имеет свои собственные регулируемые пределы, верхний и нижний . Верхний и нижний пределы определяют гистерезис (Hi — Lo = гистерезис). Прокрутите меню до выбора необходимого предела и нажмите TlS примерно на 2 секунды. Как только значение начнет мигать, его можно будет изменить: TlP (+), TlM (-).

Удерживание кнопки ускоряет увеличение / уменьшение значения. Диапазон пределов и разрешения такой же, как и для температуры, такое же ограничение действует и при отображении ниже -9,9 или выше 99,9 ° C (без десятичных знаков). Используйте кнопку TLS, чтобы сохранить значение (в EEPROM) и завершить настройку.

Понравилась статья? Поделиться с друзьями:
Зинг-Электро
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: