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

Texas Instruments LM339-N

Журнал РАДИОЛОЦМАН, май 2019

Михаил Гурович, США

В наши дни все большую популярность приобретают измерительные приборы с цифровой индикацией результатов измерений, например, цифровые штангенциркули, микрометры или индикаторы часового типа (ИЧТ). У большинства таких приборов есть порт для вывода данных на внешнее устройство для сохранения или анализа. Как правило, это последовательный интерфейс вывода, использующий линию данных DT и линию cтробирующего сигнала CLK. При попытке прочтения такого сигнала обычным способом возникает проблема несовместимости, так как выводимые данные имеют нестандартные уровни напряжений и разные логические форматы.

В статье описывается один из способов чтения и передачи информации с ИЧТ на ПК.

В данном проекте ставилась задача автоматизации процесса измерения амплитуды вибрации рабочего конца сонотрода в установке для ультразвуковой сварки металлов. Во время сварки сонотрод совершает колебания с частотой около 20 кГц и амплитудой от 20 до 40 микрон.

Механический ИТЧ при измерении амплитуды колебаний сонотрода.
Рисунок 1. Механический ИТЧ при измерении амплитуды
колебаний сонотрода.

Изначально для измерения амплитуды вибрации сонотрода использовался механический ИЧТ (Рисунок 1). Во время сварки отмечалось максимальное отклонение стрелки, и затем из этого значения вычиталось показание прибора в состоянии покоя. Разница этих двух значений и равна амплитуде колебаний сонотрода.

Механический ИТЧ при измерении амплитуды колебаний сонотрода.
Рисунок 2. Электронный ИТЧ типа ClockwiseTools DITR-0105.

В данном проекте был использован цифровой ИЧТ типа ClockwiseTools DITR-0105, показанный на Рисунке 2. Прибор имеет ЖКИ для отображения результатов измерения и последовательный интерфейс для вывода данных. В процессе работы с ИЧТ выяснилось, что выходной порт имеет три линии – землю GRND, линию данных DT и линию синхронизации CLK. Осциллограммы сигналов на этих линиях показаны на Рисунках 3, 4 и 5.

Один полный пакет данных ИТЧ.
Рисунок 3. Один полный пакет данных ИТЧ.
 
Несколько пакетов данный на выходе ИТЧ.
Рисунок 4. Несколько пакетов данный на выходе ИТЧ.
 
Несколько бит данных на выходе ИТЧ.
Рисунок 5. Несколько бит данных на выходе ИТЧ.

При анализе стало ясно, что для передачи этой информации в ПК требовалось решить две проблемы:

  • Преобразовать нестандартные уровни выходных сигналов ИЧТ (низкий – 0 В, высокий – 1.5 В) в уровни ТТЛ.
  • Декодировать выходные данные, представленные в неизвестном формате, и преобразовать их в формат, пригодный для передачи в ПК, например RS-232.

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

Для решения второй проблемы используется МК (Arduino Nano), который принимает TTL сигналы, обрабатывает их и формирует выходные данные в формате RS-232. (Точнее, логический формат выходных данных – это RS-232, но физически сигналы поступают на вход ПК через стандартный порт USB).

Сначала остановимся подробнее на первой проблеме. Как уже отмечалось выше, входные сигналы имеют уровни 0 и 1.5 В. Для формирования сигналов ТТЛ уровня была применена схема на основе компаратора LM339 (использовались два канала из четырех). Один канал обрабатывает сигнал DT, второй – CLK. Принцип работы схемы прост – на отрицательные входы обоих компараторов подается опорное напряжение величиной примерно +1 В. На положительные входы поступают сигналы с ИЧТ. Выходы компаратора повторяют изменения входных сигналов, но уже с уровнями ТТЛ. Эти выходные ТТЛ сигналы подаются на цифровые входы МП для дальнейшей обработки.

Аналоговая часть проекта.
Рисунок 6. Аналоговая часть проекта.
 
Микропроцессор Arduino Nano.
Рисунок 7. Микропроцессор Arduino Nano.
 
Источник питания проекта.
Рисунок 8. Источник питания проекта.

Электроника проекта условно разделена на три блока. Их схемы изображены на Рисунках 6, 7 и 8. Печатная плата показана на Рисунке 9, а внешний вид – на Рисунке 10. Файлы Gerber можно скачать по ссылке в конце статьи.

Печатная плата проекта (верхний слой зеленый, нижний - красный).
Рисунок 9. Печатная плата проекта (верхний слой зеленый, нижний – красный).
 
Трехмерная модель модуля.
Рисунок 10. Трехмерная модель модуля.

Заметим, что в проекте есть несколько компонентов, которые в данной версии не используются и включены в схему только для будущего использования. Это третий и четвертый компараторы (U1B и U1D), а также резисторы R12 … R19.

Кроме того, в проект добавлен второй МК, чтобы иметь на печатной плате дубликаты всех выводов микроконтроллера для удобства отладки.

Все эти дополнительные компоненты являются частью проекта печатной платы и файлов Gerber, но в данном проекте не используются и не устанавливались.

Обработка входных сигналов и формирование выходных данных в формате RS-232 была выполнена с использованием Arduino Nano и программы на языке C++.

Описание алгоритма и программы

Как уже было отмечено выше, МП должен выполнить две задачи:

  • Декодировать входные импульсы;
  • Сформировать данные для передачи на ПК.

При анализе входных импульсов выяснилось следующее:

  • Данные поступают в последовательном коде;
  • Пакеты поступают с частотой примерно 10 Гц;
  • Длина одного пакета 9 мс;
  • Чтение линии DT происходит по переднему фронту сигнала CLK;
  • Биты собраны в группы по 4, и таких групп в пакете 6; таким образом, полный пакет данных содержит 24 бита;
  • Младший бит приходит первым, старший – последним;
  • Первые 16 бит содержат двоичный код результата измерения, последние 8 бит содержат информацию о знаке результата (бит 20) и о единицах измерения (бит 23).

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

МП постоянно проверяет состояние входа CLK, и как только поступает импульс, МП читает состояние линии DT и сохраняет прочитанное значение в буфере данных размером в 24 байта.

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

Итак, как только МП обнаружил, что пришел последний пульс в пакете, выполняется следующая последовательность действий:

  • Содержимое буфера реверсируется (порядок битов меняется на стандартный: старший слева, младший справа);
  • Младшие 16 бит преобразуются из двоичного в десятичный формат;
  • Декодируется знак числа (бит 20);
  • Формируется число со знаком;
  • Это число посылается на ПК, используя порт USB и протокол RS-232;
  • Буфер обнуляется для приема следующего пакета.

Результаты реализации проекта показаны на Рисунках 11 и 12.

Измерительная установка в сборе.
Рисунок 11. Измерительная установка в сборе.
 
Несколько пакетов данный на выходе ИТЧ.
Рисунок 12. Проект в действии: измерения отклонения и данные на экране ПК.

Материалы по теме

  1. Datasheet Texas Instruments LM339-N

Загрузки

  1. Файлы Gerber
  2. Исходный код программы на C++
  3. Перечень компонентов схемы

На английском языке: How to Read Measurement Data of a Dial Indicator and Send This Data to a Personal Computer (PC)

Цена LM339-NLM339-N на РадиоЛоцман.Цены — от 0,02 до 71,82 руб.
51 предложений от 29 поставщиков
Компаратор - [DIP-14]; Каналов: 4; Выход: Open-Collector; Совместимость: DTL, ECL, MOS, CMOS, TTL; Uпит: 2...36 В; Iпотр: 1.1 мА; Задержка: 1.3...
ПоставщикПроизводительНаименованиеЦена
ТриемаSTMicroelectronicsLM339N0,02 руб.
AliExpressLM324P LM324N CD4011BE LM339N SN74HC00N TL074CN LM2902N LM2902P CD4071BE CD4071BD SN74HC08N CD4070BE SN74LS08N HD74LS08P3,27 руб.
Берёзка Электронные КомпонентыSTMicroelectronicsLM339Nот 8,45 руб.
ТерраэлектроникаSTMicroelectronicsLM339N43,39 руб.
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя