Поиск по сайту: |
|
По базе: |
|
Главная страница > Статьи |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
Программатор термометра/термостата DS1821
Довольно часто на практике возникает задача термостатирования какого-либо объекта. Раньше для решения этой задачи требовалась довольно громоздкая аналоговая схема, содержащая несколько десятков элементов. В настоящее время такая задача может быть решена значительно проще. Если требуемая точность поддержания температуры составляет единицы градусов, а рабочая температура не выходит из диапазона -55..+125°C, то она может быть решена с помощью цифрового термометра/термостата DS1821. Микросхема DS1821, выпускаемая фирмой Dallas (теперь это уже MAXIM), может работать в режиме термометра или в режиме термостата. В первом из этих режимов DS1821 обеспечивает измерение температуры в диапазоне -55..+125°C с дискретностью 1°C. Самым привлекательным является то, что такой термометр уже откалиброван на заводе, гарантированная точность составляет +1°C в диапазоне 0..+85°C и +2°C во всем диапазоне рабочих температур. Типичная кривая ошибки измерения температуры приведена на рисунке. Рис. 1. Типичная кривая ошибки термометра DS1821. Считывание значений производится с помощью однопроводного интерфейса (1-WireTM) фирмы DALLAS, поэтому данный режим еще называют однопроводным. Температура считывается как 8-битное число в дополнительном коде. Например, +125°C соответствует код 7Dh, +25°C - 19h, 0°C - 00h, -1°C - FFh, -25°C - E7h, -55°C - C9h, аналогично для других значений температуры. С помощью специальных команд DS1821 может быть переведен в режим термостата, когда вывод данных становится управляющим выходом. При работе в режиме термостата измерения температуры идут постоянно, каждое измеренное значение сравнивается с порогами, сохраненными в энергонезависимой памяти. Эти пороги задают требуемый гистерезис характеристики регулирования: Рис. 2. Гистерезис характеристики регулирования термостата. Полярность выходного сигнала программируется с помощью бита POL регистра статуса. Когда температура превышает порог, сохраненный в регистре TH, выход переходит в активное состояние. Обратный переход произойдет тогда, когда температура станет ниже порога TL. Выход термостата представляет собой выход с открытым стоком, который допускает втекающий ток до 4 мА. Для проведения программирования DS1821 должен находится в однопроводном режиме. В таком режиме термометры поставляются производителем. У DS1821 всего доступно 4 регистра: TH, TL, регистр температуры и регистр статуса. Первых два регистра служат для сохранения порогов термостата. Регистр температуры может быть считан для получения результата последнего измерения температуры. Регистр статуса задает режим работы DS1821 и позволяет определить его состояние. Регистры TH, TL и регистр статуса являются энергонезависимыми, т.е. они хранят свои значения даже при отключенном питании. Формат представления температуры для регистров TH, TL и регистра температуры одинаков. Регистр статуса имеет следующий формат:
При следующем после программирования включении питания режим работы DS1821 будет определяться битом T/R регистра статуса. Если он установлен, DS1821 будет работать в режиме термостата. В этом режиме DS1821 не может вести обмен по однопроводной шине. Поэтому никакими командами, передаваемыми по шине, вывести DS1821 из режима термостата невозможно. Для осуществления этой операции предусмотрена специальная процедура, с помощью которой можно временно перевести DS1821 в однопроводной режим, что позволяет, например, изменить пороги термостата. Если же при этом сбросить бит T/R, то при следующем включении питания DS1821 уже больше не будет находиться в режиме термостата. Для перевода DS1821 в однопроводной режим из режима термостата необходимо на вывод питания подать 0В в то время, когда вывод данных находится в состоянии высокого логического уровня. Затем на вывод данных нужно подать 16 импульсов. После этого можно снова подать питание, и DS1821 окажется в однопроводном режиме. Если указанную процедуру повторить, то DS1821 снова перейдет в режим термостата. Рис. 3. Процедура выхода из режима термостата. Если выводы питания и данных находятся в состоянии низкого уровня более чем примерно 10 сек, то термометр является обесточенным. При следующем включении питания его состояние будет определяться битом T/R. Рассматривать здесь протокол однопроводной шины не имеет смысла, так как это уже сделано во многих статьях (например, "Имитатор электронных ключей IButton", Схемотехника, №1 2000 г.). Следует лишь отметить, что в отличие от большинства других однопроводных устройств, DS1821 не имеет адресации, что не позволяет подключать несколько таких устройств на одну шину или использовать совместно с ним другие однопроводные устройства. В таблице ниже приведены команды, которые может воспринимать DS1821.
Команды чтения TL и TH предназначены для того, чтобы иметь возможность проверить содержимое этих регистров перед тем, как DS1821 будет переведен в режим термостата. Подробное описание DS1821 можно найти по ссылке: Нужно отметить, что DS1821 имеет недокументированные команды A0h и 41h, которые позволяют уменьшить дискретность отсчетов температуры. Пример использования этих команд можно найти в Application Note 105 от фирмы Dallas ( Для программирования порогов DS1821, а также для перевода его в режим термостата и обратно служит специальная программа ds1821.exe, работающая под Windows, которая описана ниже. Микросхема DS1821 подключается к COM-порту компьютера через адаптер, схема которого приведена на рисунке, где показано окно помощи программы. Рис. 4. Принципиальная схема адаптера. Схема адаптера не так проста, по сравнению, например, с адаптером DS9097 фирмы Dallas. Это связано в первую очередь с тем, что хотелось иметь общую "землю" компьютера и однопроводной шины. Адаптер обеспечивает на входе RXD порта компьютера лишь однополярные уровни, что, строго говоря, не соответствует спецификации RS-232C. Однако большинство портов с такими уровнями работают нормально. Вместо указанных на схеме МОП-транзисторов можно применить близкие по параметрам транзисторы других типов. Например, в качестве n-канальных транзисторов подойдут КП501, КП505. В принципе, можно применить и биполярные транзисторы, добавив в базы ограничительные резисторы. Конструктивно адаптер выполнен в корпусе разъема D-SUB-25. Рис. 5. Внешний вид адаптера. Разъем паяется прямо на плату, которая входит между рядами контактов. Другая сторона платы выполнена удлиненной и выходит за пределы корпуса разъема. В эту часть платы впаян 3-х контактный винтовой терминал. Рис. 6. Рисунок печатной платы адаптера. Вид главного окна программы показан на рисунке ниже. Рис. 7. Вид главного окна программы ds1821.exe. Окно имеет следующие элементы управления:
Кроме того, окно вверху имеет меню, состоящее из трех пунктов: Port, Utilites и Help. Меню Port в развернутом виде показано на рисунке. Рис. 8. Меню Port в развернутом виде. Это меню позволяет открыть один из четырех портов COM1 - COM4. Кроме того, меню позволяет закрыть порт и выйти из программы. В списке активны только доступные порты (т.е. те, которые физически присутствуют и не заняты в данный момент другими приложениями). Когда порт открывается, проверяется наличие на этом порту адаптера (достаточно соединения TXD - RXD). Если адаптер не обнаружен, выводится соответствующее сообщение: Рис. 9. Сообщение об ошибке при отсутствии адаптера. Меню Utilites в основном дублирует кнопки основного окна. Имеется только один новый пункт: Recall NVM. Он позволяет считать из DS1821 значения TH и TL, которые в нем сохранены. Для этого DS1821 должен находиться в однопроводном режиме. Рис. 10. Меню Utilites в развернутом виде. Для программирования DS1821 в режим термостата необходимо в полях TH и TL набрать значения порогов, а затем нажать кнопку Thermostat. При этом значения порогов будут записаны, а в регистре статуса будет установлен бит T/R. Поскольку питание не выключалось, DS1821 все еще будет находиться в однопроводном режиме. Это позволяет, например, проверить записанные значения порогов с помощью команды Recall NVM. Если сейчас питание DS1821 выключить, то при следующем включении он будет находиться в режиме термостата. Для изменения порогов DS1821, который уже находится в режиме термостата, можно просто набрать в полях новые значения и нажать кнопку Thermostat. При этом DS1821 будет временно переведен в однопроводной режим, и будут записаны новые значения порогов. Если сейчас питание DS1821 выключить, то при следующем включении он будет находиться в режиме термостата и работать с новыми порогами. Программа не содержит в явном виде управления битом полярности выхода POL. Управление производится значениями TH и TL. Дело в том, что значение TL, большее, чем TH, практического смысла не имеет. Поэтому в регистр TH всегда записывается большее значение, а в TL - меньшее. Но если ввести TL большее, чем TH, это вызовет изменение полярности выхода (активным уровнем станет 0). Поэтому поле TH фактически означает температуру, при которой выход переключается в состояние высокого уровня, а TL - низкого. Меню Help содержит рисунок принципиальной схемы адаптера и сведения о разработчике программы. Для хранения установок программа использует ini-файл, который создается в том же директории, где расположен exe-файл. В ini-файле содержится информация о положении окна программы и номер используемого COM-порта: [General] Left=427 Top=295 COM port=2 Если в существующем ini-файле указан номер COM-порта, который на момент запуска программы занят или отсутствует, выводится специальное сообщение: Рис. 11. Сообщение об ошибке при недоступности порта. Для работы с COM-портом программа пользуется функциями API через специальную "оберточную" динамическую библиотеку comapi32.dll. Обмен с однопроводными устройствами идет довольно медленно из-за удивительно долгого (порядка 200 миллисекунд!) процесса переключения скоростей COM-порта (вызов функции SetCommState с измененным значением поля BaudRate структуры DCB). Это весьма неприятное свойство API. Кроме термометра/термостата DS1821 существуют микросхемы термометров, самой популярной из которых сейчас является DS18S20, пришедшая на смену DS1820. Она имеет меньшую дискретность представления температуры (0.5°C), кроме того, обладает еще целым рядом дополнительных возможностей. Подробное описание DS18S20 можно найти по ссылке: Вид главного окна программы показан на рисунке. Рис. 12. Вид главного окна программы ds1820.exe. Окно имеет следующие элементы управления:
Окно вверху имеет меню, состоящее из трех пунктов: Port, Utilites и Help. Меню Port и Help, а также структура ini-файла идентичны описанным выше для программы ds1821.exe. Меню Utilites содержит три пункта:
Рис. 13. Меню Utilites программы ds1820.exe в развернутом виде. Описанный адаптер также подходит для считывания электронных ключей IButton и для подключения других однопроводных устройств. Если программировать DS1821 не требуется, ключ на p-канальном транзисторе, который управляет питанием, можно исключить. Именно такая схема приведена в окне помощи программы ds1820.exe.
Главная - Микросхемы - DOC - ЖКИ - Источники питания - Электромеханика - Интерфейсы - Программы - Применения - Статьи |
|
Впервые? | Реклама на сайте | О проекте | Карта портала тел. редакции: +7 (995) 900 6254. e-mail:info@eust.ru ©1998-2023 Рынок Микроэлектроники |
|