Altinkaya: турецкие корпуса для РЭА

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

Texas Instruments LM339-N

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

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

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

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

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

В данном проекте ставилась задача автоматизации процесса измерения амплитуды вибрации рабочего конца сонотрода в установке для ультразвуковой сварки металлов. Во время сварки сонотрод совершает колебания с частотой около 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. Проект в действии: измерения отклонения и данные на экране ПК.

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

Загрузки

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

76 предложений от 36 поставщиков
компаратор, = КР1101СА2 HA17339 221-121 AN6912 CA339E DM87 ECG834 GL339 HA17901P IR2339 LA6339 MB4204 NJM2901D TA75339P UA339P UA339PC UA775PC UPC177C UPC339C...
ЗУМ-СМД
Россия
LM339N
STMicroelectronics
1.09 ₽
UTC339A (LM339N), микросхема
3.65 ₽
ТаймЧипс
Россия
LM339N&
Texas Instruments
по запросу
Vess Electronics
Весь мир
LM339N
National Semiconductor
по запросу
Электронные компоненты. Бесплатная доставка по России
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя