Фильтр по тематике

Цифровой термометр на микросхеме MAX6675 и UART-USB модуле

В статье приведено описание схемы, конструкции и программы для измерения температуры термопарой, работающей с АЦП MAX6675. Совместное использование интерфейсов UART и SPI позволяет сократить промежуточные преобразования сигналов, что уменьшает затраты по автоматизации и визуализации измерений.

Введение

Основное отличие предлагаемого устройства от других прототипов [1] состоит в использовании UART-USB модуля [2], который через преобразователь работает с интерфейсом SPI. Принцип работы прибора заключается в следующем. Регистрацию температуры выполняет термопара К-типа с интервалом измерения 0…1023°C. Термопара К-типа [3] работает совместно с микросхемой MAX6675, которая выдаёт цифровой код в интерфейсе SPI. В SPI по фронту тактового сигнала фиксируется бит информации. В интерфейсе UART бит информации фиксируется по уровню за точно известный тактовый интервал. Чтобы совместить эти интерфейсы и получить информацию побитно в разработанной схеме формируется следующее правило:

  • тактовый интервал задаётся от интерфейса UART;
  • в тактовом интервале формируется фронт для фиксации бита от интерфейса SPI;
  • информация от фронта фиксируемого бита передаётся в тактовый интервал приёма интерфейса UART двумя возможными комбинациями, кратными двум тактам от длительности задаваемого тактового интервала.

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

На рисунке 1 представлена блок-схема совместной работы UART- и SPI-интерфейсов с использованием схемы преобразования интерфейса (сверху показан внешний вид интерфейсных компонентов). На данной схеме показаны только направления информационных сигналов, а именно:

  • TxD – сигнал интерфейса UART передаётся в схему преобразования;
  • RxD – сигнал интерфейса UART принимается из схемы преобразования и содержит в своём коде информацию о температуре;
  • CS – сигнал «выбора кристалла» формируется схемой преобразования и разрешает работу АЦП MAX6675 по преобразованию температуры в код;
  • SCK – сигнал тактовой синхронизации запроса данных о температуре в интерфейс SPI;
  • S0 – сигнал данных с «привязкой» к сигналу SCK. При положительном перепаде на SCK считываются данные от S0, при отрицательном перепаде на SCK устанавливаются данные на S0.

Достоинство интерфейса SPI заключается в наличии точно известного события (фронта импульса) приёма информации. Это обеспечивает ему быстродействие и помехозащищённость. Однако для интерфейса UART требуется изменение правила передачи информации. 

Принципиальная схема преобразователя интерфейса

Предлагаемая схема преобразователя интерфейса представлена на рисунке 2.

Схема состоит из двух D-триггеров (U1), которые расположены в одном корпусе микросхемы 555ТМ2, и четырёх элементов 2И–НЕ c открытым коллектором (ОК) – микросхема 555ЛА8 (U2). Цифрами в окружностях отмечены соответствующие сигналы, представленные на диаграмме (см. рис. 3).

Триггер U1.1 работает в режиме счётчика «на два». Вход D-триггера (в.2) соединён с выходом Q (в.6). Данный режим включения формирует тактовый сигнал SCK для получения данных от SPI. Триггер U1.2 работает в режиме фиксации данных от интерфейса SPI по положительному фронту U1.1. Таким образом, триггер U1.2 в каждом тактовом интервале находится в состоянии 0 или 1 , что соответствует коду температуры, получаемому от MAX6675. Для формирования сигнала UART выходы (в.8 и в.9) триггера U1.2 подключены к схеме выбора сигнала на элементах 2И–НЕ U2.1 (в.3) и U2.2 (в.5).

На другие входы элементов U2.1 (в.2) и U2.2 (в.6) поступают сигналы от UART, которые имеют совпадение по фазе и различие по длительности. Поскольку микросхема U2 имеет тип ОК, то выходы U2.1 (в.1) и U2.2 (в.4) включены вместе, и объединённый сигнал возвращается в UART на вход приёма RxD. Для поддержки режима ОК на все выходы микросхемы U2 включены «подтягивающие» сопротивления R2...R5.

Для устойчивого приёма старт-стопного сигнала двух кратных длительностей используется режим передачи/приёма 6N1. Передаются 6 бит без проверки на чётность/нечётность. На рисунке 4 изображён сигнал формата 6N1/8N1 интерфейса UART. Если схема преобразования «выставляет» байт 0, то, внимательно посмотрев на число бит, можно обнаружить, что количество бит увеличилось до 7, а также присутствует сигнал Start. Бит Stop сместился на одну позицию. Данный вариант представлен на рисунке 5 сигналом 2.

Однако в этом случае приёмник UART в режиме 6N1 «удлинённый» сигнал 0 воспринимает без помех, т.к. принимаемый сигнал бита B6 и Stop перемещается в B7 и Stop. Далее следует высокий уровень сигнала, и приёмник UART подготавливается к получению следующего сигнала. Любой сигнал, который принимается интерфейсом UART, всегда имеет время на интервал Stop, и вследствие этого ошибки не формируются. Предлагаемый метод сопряжения интерфейса UART с интерфейсом SPI можно применять только для режимов 6N1 или 7N1, чтобы всегда присутствовали «запасные» бит приёма и бит стопа. В программе это учитывается следующим образом: передаётся 32 байта, а принимается 16 байт.

Сигнал сброса формируется диодом D1 и интегрирующей цепью R1C1. Время интеграции выбирается из максимально возможной скорости приёма/передачи UART. Современные адаптеры USB-UART устойчиво работают со скоростями 2 Мбит/с [5]. Этого вполне достаточно для работы с АЦП MAX6675. Сигнал сброса для D-триггеров формируется из сигнала сброса для MAX6675 через элемент 2И–НЕ (U2.3), поскольку требуется положительный уровень во время работы. Входы S для обоих D-триггеров замкнуты на шину +5 В, т.к. не используются в работе преобразователя интерфейса. 

Конструкция цифрового термометра

Схема и все комплектующие цифрового термометра располагаются в пластиковом корпусе аналогично конструкции, описанной в статье [7]. В приборе используются готовые блоки на печатных платах [3, 5]. На соединительной печатной плате размещена схема сопряжения интерфейса. Поскольку существуют различные варианты расположения выводов платы UART и платы АЦП MAX6675, на соединительной плате добавлены дополнительные посадочные разъёмы.

Принципиальная схема (файл uart_max6675_v1.dip), печатная плата (файл uart_max6675_v1.dip) подготовлены в редакторе DipTrace и извлекаются из тела программы [4] (см. описание программы [7]). Допускается использовать отечественные, и зарубежные компоненты или любые функциональные аналоги, позволяющие реализовать работу логической части преобразователя. 

Программа цифрового термометра

Вид окна программы и основные элементы управления представлены на рисунке 6.


Перед началом работы требуется открыть устройство с доступом к UART и повторить проверку правильности подключения в «Диспетчере устройств». Если порт открыт правильно, то выдаётся сообщение о нормальном подключении. Например, на рисунке 6 показано, что открыт порт 5. Программа (uart_max6675_v1.exe) написана на языке программирования Форт [6] и доступна по ссылке [4]. В программе реализованы следующие возможности:

  • отображение параметров температуры, получаемых от АЦП MAX6675, большими и стандартными знаками в консоли окна;
  • задание температуры «уставки» и фиксация события превышения этой температуры (по умолчанию задана температура +100°С);
  • отображение значений температуры в виде графика в отдельном окне (см. рис. 7);
  • запись данных в файловый архив;
  • макрос для анализа графиков в Excel;
  • средства контроля, анализа и визуализация исправности термодатчика, цветовые настройки окна, схема и печатная плата в редакторе DipTrace;
  • имитатор измерения температуры;
  • исходный текст программы, компилятор языка Форт [6], файл справки по командам языка Форт;
  • файл справки управляющих клавиш, файл настройки быстрого запуска и выбора режимов работы.

Программа не требует установки и предназначена для работы на операционных системах Windows XP/7/8/10.

В предложенной схеме измерения с использованием UART-USB модуля выполняются преобразования сигналов АЦП интерфейса SPI в сигналы интерфейса UART c сохранением исходной точности сигналов, что позволяет изменить методы сбора данных и построения систем измерения. Возможно применение цифрового термометра в системах контроля изделий, печей, в учебных, научных задачах и т.п. 

Литература

  1. Цифровой термометр на микросхеме MAX6675 и микроконтроллере (прототип): https://www.rlocman.ru/shem/schematics.html?di=165194.
  2. Интерфейсы UART: https://musbench.com/e_digital/uart.html.
  3. Термопара К-типа: https://iarduino.ru/shop/Sensory-Datchiki/termopara-k-tipa.html.
  4. Программа: http://shabronov_s2.dyn-dns.ru/temp/uart_max6675_v1/test/.
  5. Адаптер UART: https://ru.aliexpress.com/price/usb-uart-adapter_price.html.
  6. Описание языка Форт spf4.exe (автор версии А. Черезов): http://www.forth.org.ru/.
  7. Шабронов А. Тахометр для квадрокоптера. Современная электроника. 2019. № 8.

Комментарии
Рекомендуем
Электронные датчики и радары  в системе беспроводной связи ОТА, LOP и E-peas электроника

Электронные датчики и радары в системе беспроводной связи ОТА, LOP и E-peas

В будущем разработчиков РЭА ожидает эра «одноразовых» устройств: «установил и забыл» – надёжные, устойчивые к внешним воздействиям среды, но не предназначенные для ремонта. Одна из важных решаемых задач – сочетание сбора энергии из среды, её преобразование в электрическую и применение датчиков и микроконтроллеров с крайне низким энергопотреблением. В сочетании с технологиями E-peas (Electronic portable energy autonomous systems – автономные портативные электронные системы), LOP (с низким энергопотреблением) и решениями NXP возникают перспективы датчиков положения, давления и измерения сопутствующих величин от OEM-производителей. С аппаратными настройками и масштабируемостью производительности РЭА в формате процессоров S32R с исключением ошибок в передаче данных аналогового и смешанного сигнала беспроводным способом на небольшие расстояния. В статье представлены примеры системных решений для организации и управления питания датчиков РЭА, задействованных в беспроводной передаче данных, сетевых технологиях и транспортной технике с беспроводной сетью ОТА (Over-the-air – по воздуху).
15.04.2024 СЭ №4/2024 468 0

ООО «ПРОСОФТ» 7724020910 2SDnjdbfYK3
ООО «ПРОСОФТ» 7724020910 2SDnjdbfYK3