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

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

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

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

Введение

Основное отличие предлагаемого устройства от других прототипов [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.

Если вам понравился материал, кликните значок — вы поможете нам узнать, каким статьям и новостям следует отдавать предпочтение. Если вы хотите обсудить материал —не стесняйтесь оставлять свои комментарии : возможно, они будут полезны другим нашим читателям!

01.03.2020 1765 0
Комментарии
Рекомендуем
Анализ зашумлённых сигналов на осциллографах VESNA серии OVS3

Анализ зашумлённых сигналов на осциллографах VESNA серии OVS3

В статье анализируются способы повышения качества результатов измерений сигналов в присутствии аддитивного шума различной природы. В работе выделены типовые источники шума, а также выполнен обобщающий анализ способов, реализация которых позволяет тем или иным образом снизить уровень шума либо повысить уровень полезного сигнала. Для одного из таких способов, основанного на построении автокорреляционных функций, оценена эффективность в части измерения амплитуды и частоты синусоидального сигнала на фоне гауссовского шума. Приведены примеры измерений зашумлённых сигналов, выполненных с использованием осциллографа VESNA OVS3, позволяющие наглядно судить о потенциальных возможностях снижения уровня гауссовского шума при усреднении осциллограмм, ограничении полосы пропускания и при использовании внешнего фильтра.
18.02.2026 СЭ №2/2026 699 0

ООО «ИнСАТ»  ИНН 7734682230  erid = 2SDnjdWbKyt
ООО «ИнСАТ»  ИНН 7734682230  erid = 2SDnje2F5cn
  Подписывайтесь на наш канал в Telegram и читайте новости раньше всех! Подписаться