Радиолоцман Электроника en
расширенный поиск +
  

25-07-2019

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

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. Проект в действии: измерения отклонения и данные на экране ПК.

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

Загрузки

Цена LM339-NLM339-N на РадиоЛоцман.Цены — от 0,02 до 71,82 руб.
55 предложений от 32 поставщиков
Компаратор - [DIP-14]; Каналов: 4; Выход: Open-Collector; Совместимость: DTL, ECL, MOS, CMOS, TTL; Uпит: 2...36 В; Iпотр: 1.1 мА; Задержка: 1.3...
ПоставщикПроизводительНаименованиеЦена
ТриемаSTMicroelectronicsLM339N0,02 руб.
РИВ ЭлектрониксSTMicroelectronicsLM339N11,10 руб.
КремнийLM339N/NOPBпо запросу
ЭФОTexas InstrumentsLM339N/NOPBпо запросу
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя
Рекомендуемые публикации по теме:
Форум  »
Как правильно прочитать маркировку кварцевого резонатора?
Форум  »
STM32FL03 чем прочитать прошивку?
Форум  »
Как прочитать EEPROM в RCD200MP3 и Beta4 ?
Форум  »
Как повысить яркость индикатора?
Схемы  »
Защитите ваши данные!

При перепечатке материалов с сайта прямая ссылка на РадиоЛоцман обязательна.

Приглашаем авторов статей и переводов к публикации материалов на страницах сайта.

Гетероструктурные транзисторы CoolGaN – преимущества и особенности управления
Новое семейство микроконтроллеров STM32G0
Срезы ↓
Новая Инженерная Школа
Новая Инженерная Школа
Курсы и семинары для инженеров, технологов, разработчиков и конструкторов предприятий приборостроения.
Рейтинг@Mail.ru