Ihads.ru

Все про недвижимость
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Разработка универсального счетчика импульсов

Разработка универсального счетчика импульсов

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

Оптические датчики и их особенности

Чаще всего при подсчете продукции или отслеживании механического перемещения внешним датчиком используются оптические датчики барьерного, рефлекторного или диффузионного типа.

Рисунок 1. Типы датчиков (И - источник, П - приемник, О - объект).

Рисунок 1. Типы датчиков (И — источник, П — приемник, О — объект).

Принцип работы барьерного датчика очень простой — имеются разнесенные в пространстве источник света и приемник, между ними проходят объекты, тем самым закрывая источник света от приемника. Полученный сигнал с фотоприемника коррелирует с прохождением объекта и практически не требует обработки. Однако системы с таким датчиком не лишены недостатков — обычно это несколько модулей, требуется прокладка кабелей и юстировка оптической системы. В случае рефлекторного и диффузионного типа датчиков установка проще, так как источник и приемник находятся в одном корпусе. Рефлекторный датчик принимает отраженный от объекта или специальной отражающей метки свет, а диффузионный — рассеянный, учитывая при этом его интенсивность. Но для датчиков этих типов полученный сигнал требует дальнейшей обработки. Вне зависимости от выбранного типа датчика, для счета обычно используется независимый микрокомпьютерный или микропроцессорный блок как отдельное устройство.

Первый прототип датчика

Так как нам хотелось бы иметь устройство в едином корпусе, максимально адаптируемое под разные задачи, было решено: во-первых, использовать датчик работающий на отражение, во-вторых, реализовать блок подсчета на встроенном компьютере.

За отправную точку было решено взять аналоговую часть универсального тахометра, который работает на отраженном свете. В этом случае на движущийся механизм (например, вал) крепится яркая светоотражающая метка, наводится луч света, и прибор показывает частоту вращения. Источником света может выступать как лазер, так и обычный светодиод. В первом прототипе нашего счетчика импульсов за источник света был взят светодиод, использовалась линза с фокусным расстоянием 35 мм. На одном операционном усилителе был собран компаратор, на другом буферный элемент. Также была собрана цепочка, обеспечивающая плавающий порог срабатывания компаратора.

Рисунок 2. Первый прототип датчика - принципиальная схема.

Рисунок 2. Первый прототип датчика — принципиальная схема.

Испытания показали работоспособность в диапазоне 10-30 см с очень контрастными метками (использовали световозвращающий скотч). Но такой результат нас еще не устраивает, так так датчик на просвет работает на значительно больших расстояниях. Также система оказалась чувствительна к включению/выключению освещения в помещении, и при использовании подобного подхода от этого недостатка избавиться не получится.

Второй прототип датчика

В следующей версии для улучшения чувствительности и расстояния срабатывания датчика добавили гистерезис, настраиваемый с помощью подстроечного резистора. Остальные элементы были подобраны эмпирически в предыдущих опытах.

Рисунок 3. Второй прототип датчика - принципиальная схема.

Рисунок 3. Второй прототип датчика — принципиальная схема.

Второй прототип работал лучше предыдущего — увеличилось расстояние срабатывания и снизились требования к отражающим характеристикам меток. Однако все еще имеется ряд проблем. Во-первых, на низкой скорости движения объектов был замечен пропуск импульсов. Это связано с тем, что схема плавающего порога успевала подстроиться под изменения. Во-вторых, при глянцевой поверхности объекта счетчик давал много ложных срабатываний, так как не хватало гистерезиса. Но поднимать гистерезис бесконечно нельзя, система просто перестанет реагировать на обычные метки. И в-третьих, что самое печальное, в некоторых случаях счетчик ловил пульсацию бюджетного освещения в производственных помещениях.

Читайте так же:
Счетчик колоний sc6 plus

Третий прототип датчика

В результате проведенных опытов стало понятно, что нельзя обойтись без дополнительной настройки системы, которую можно осуществить только с помощью микроконтроллера. Также для исключения влияния помех от фонового освещения решили добавить модуляцию опорного сигнала и преобразование Фурье на приемнике. Корпус уже был разработан и изготовлен на предыдущих этапах, и нам хотелось вписаться в его габариты. Так выбор пал на практически единственный вариант — STM32G030J6M6 Cortex — M0+ c ADC 2.5Msps в корпусе SOIC-8. Отличное решение для непрерывной обработки данных от АЦП. Общение с микроконтроллером осуществляется по шине I2C.

Рисунок 4. Третий прототип датчика - принципиальная схема.

Рисунок 4. Третий прототип датчика — принципиальная схема.

На операционном усилителе собран трансимпедансный усилитель тока фотодиода. Лазер модулируется дискретным сигналом от таймера, потому что в данном случае нет необходимости получать чистый синус. Для совместимости с предыдущими решениями был сделан дискретный вывод для использования аппаратного счетчика событий (1й пин разъема P1), а конфигурация осуществляется один раз при старте системы. Таким образом, сохраняется полная преемственность с уже написанным ПО.

В микроконтроллере реализованы генерация сигнала ШИМ, обработка оцифрованных данных и общение по I2C. За генерацию ШИМ отвечает таймер, синхронизированный с АЦП. Данные передаются в память по DMA и обрабатываются по половинам — пока заполняется первая половина буфера, вторая анализируется. Сам алгоритм обработки данных получится следующий:

Рисунок 5. Алгоритм обработки данных

Рисунок 5. Алгоритм обработки данных

Микрокомпьютер

С оптическим датчиком разобрались, теперь вернемся к самому устройству. Помимо датчика, нам также нужно реализовать подсчет импульсов и отправку данных на сервер для дальнейшей аналитики. Со всем этим справится одноплатный компьютер. Основные требования к нему следующие:

возможность запускать программу на Python 3,

место для пары сетевых библиотек,

интерфейсы Ethernet и Wi-Fi для связи с сервером,

питание по micro USB или PoE,

производительность — не критично,

время включения — не более 2 минут,

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

Сначала мы использовали Orange Pi zero, однако, учитывая их немалые габариты и невозможность нормально сделать PoE, решено было поискать другие варианты. Так взгляд пал на одноплатный компьютер VoCore, характеристики которого полностью подходили под задачу. Изучив предложения на китайском рынке, был найден очень похожий вариант выпускаемый массово — процессор RT5350, 32Mb RAM, 8/16Mb Flash.

Рисунок 6. Одноплатный компьютер VoCore.

Рисунок 6. Одноплатный компьютер VoCore.

Он немного больше, чем оригинальный VoCore, зато под модулем остается место для размещения компонентов, а также у модуля есть удобный разъем для подключения к основной плате. Схематика незначительно отличается от оригинального VoCore, так что конфигурацию от VoCore можно легко адаптировать под китайского товарища.

Конструктив

Рисунок 7. 3Д модель счетчика.

Рисунок 7. 3Д модель счетчика.

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

Рисунок 8. Поворотная часть корпуса.

Рисунок 8. Поворотная часть корпуса.

От люфта и случайного поворота защищает пружина и фрикционная шайба. Для большинства задач этого оказывалось достаточно. Материнская плата, модуль PoE и сам компьютер расположены максимально компактно в основной части корпуса.

Рисунок 9. Основная часть корпуса.

Рисунок 9. Основная часть корпуса.

Так как партии пока относительно небольшие корпус изготавливается методом SLS печати.

Итак, в итоге у нас получилась следующая архитектура устройства:

вычислительный модуль (одноплатный компьютер),

основная плата, на которой расположены разъемы Ethernet, USB, I2C, светодиоды и кнопка,

Читайте так же:
Как закрыть счетчик картиной

плата питания (устройство может питаться как от microUSB так и от PoE).

Подсчет срабатываний

Теперь пара слов о том, как реализован подсчет срабатываний датчика. Независимо от типа датчика, алгоритм подсчета импульсов остается одинаковым. Выход датчика подключается к GPIO процессора. Количество импульсов подсчитывалось через GPIO interrupt. Для этого требуется настроить GPIO на вход и включить прерывания. Об этом хорошо написано, например, тут. Число срабатываний можно посмотреть командой cat /proc/interrupts | grep gpiolib. Если же требуется реагировать на каждое событие или записывать время его срабатывания, то уже придется написать простую программу. Данный подход хорошо себя зарекомендовал и является необходимым и достаточным источником данных для подобного класса датчиков. В случае датчика с микроконтроллером, нужно перед началом работы загрузить необходимые параметры по I2C.

Заключение

Итак, что мы имеем на выходе? Компактное устройство для подсчета импульсов с оптическим датчиком и готовой реализацией отправки данных на сервер по Ethernet или WiFi. Была реализована передача данных по MQTT. Адаптивная архитектура также позволяет легко подключать практически любой другой датчик по I2C или SPI через переходник. На данный момент имеются такие варианты счетчиков: лазерный с аналоговой обработкой сигналов, лазерный с цифровой обработкой сигналов, а также индукционный счетчик для подключения внешнего промышленного индукционного датчика. Разработанный корпус позволил осуществлять поворот оптического модуля, а также его замену на другой тип датчика. В ближайших планах хотим подключить тепловизионный датчик для мониторинга нагруженных узлов в производстве.

Разработка универсального счетчика импульсов

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

Оптические датчики и их особенности

Чаще всего при подсчете продукции или отслеживании механического перемещения внешним датчиком используются оптические датчики барьерного, рефлекторного или диффузионного типа.

Рисунок 1. Типы датчиков (И - источник, П - приемник, О - объект).

Рисунок 1. Типы датчиков (И — источник, П — приемник, О — объект).

Принцип работы барьерного датчика очень простой — имеются разнесенные в пространстве источник света и приемник, между ними проходят объекты, тем самым закрывая источник света от приемника. Полученный сигнал с фотоприемника коррелирует с прохождением объекта и практически не требует обработки. Однако системы с таким датчиком не лишены недостатков — обычно это несколько модулей, требуется прокладка кабелей и юстировка оптической системы. В случае рефлекторного и диффузионного типа датчиков установка проще, так как источник и приемник находятся в одном корпусе. Рефлекторный датчик принимает отраженный от объекта или специальной отражающей метки свет, а диффузионный — рассеянный, учитывая при этом его интенсивность. Но для датчиков этих типов полученный сигнал требует дальнейшей обработки. Вне зависимости от выбранного типа датчика, для счета обычно используется независимый микрокомпьютерный или микропроцессорный блок как отдельное устройство.

Первый прототип датчика

Так как нам хотелось бы иметь устройство в едином корпусе, максимально адаптируемое под разные задачи, было решено: во-первых, использовать датчик работающий на отражение, во-вторых, реализовать блок подсчета на встроенном компьютере.

За отправную точку было решено взять аналоговую часть универсального тахометра, который работает на отраженном свете. В этом случае на движущийся механизм (например, вал) крепится яркая светоотражающая метка, наводится луч света, и прибор показывает частоту вращения. Источником света может выступать как лазер, так и обычный светодиод. В первом прототипе нашего счетчика импульсов за источник света был взят светодиод, использовалась линза с фокусным расстоянием 35 мм. На одном операционном усилителе был собран компаратор, на другом буферный элемент. Также была собрана цепочка, обеспечивающая плавающий порог срабатывания компаратора.

Читайте так же:
Код информеров счетчиков что это

Рисунок 2. Первый прототип датчика - принципиальная схема.

Рисунок 2. Первый прототип датчика — принципиальная схема.

Испытания показали работоспособность в диапазоне 10-30 см с очень контрастными метками (использовали световозвращающий скотч). Но такой результат нас еще не устраивает, так так датчик на просвет работает на значительно больших расстояниях. Также система оказалась чувствительна к включению/выключению освещения в помещении, и при использовании подобного подхода от этого недостатка избавиться не получится.

Второй прототип датчика

В следующей версии для улучшения чувствительности и расстояния срабатывания датчика добавили гистерезис, настраиваемый с помощью подстроечного резистора. Остальные элементы были подобраны эмпирически в предыдущих опытах.

Рисунок 3. Второй прототип датчика - принципиальная схема.

Рисунок 3. Второй прототип датчика — принципиальная схема.

Второй прототип работал лучше предыдущего — увеличилось расстояние срабатывания и снизились требования к отражающим характеристикам меток. Однако все еще имеется ряд проблем. Во-первых, на низкой скорости движения объектов был замечен пропуск импульсов. Это связано с тем, что схема плавающего порога успевала подстроиться под изменения. Во-вторых, при глянцевой поверхности объекта счетчик давал много ложных срабатываний, так как не хватало гистерезиса. Но поднимать гистерезис бесконечно нельзя, система просто перестанет реагировать на обычные метки. И в-третьих, что самое печальное, в некоторых случаях счетчик ловил пульсацию бюджетного освещения в производственных помещениях.

Третий прототип датчика

В результате проведенных опытов стало понятно, что нельзя обойтись без дополнительной настройки системы, которую можно осуществить только с помощью микроконтроллера. Также для исключения влияния помех от фонового освещения решили добавить модуляцию опорного сигнала и преобразование Фурье на приемнике. Корпус уже был разработан и изготовлен на предыдущих этапах, и нам хотелось вписаться в его габариты. Так выбор пал на практически единственный вариант — STM32G030J6M6 Cortex — M0+ c ADC 2.5Msps в корпусе SOIC-8. Отличное решение для непрерывной обработки данных от АЦП. Общение с микроконтроллером осуществляется по шине I2C.

Рисунок 4. Третий прототип датчика - принципиальная схема.

Рисунок 4. Третий прототип датчика — принципиальная схема.

На операционном усилителе собран трансимпедансный усилитель тока фотодиода. Лазер модулируется дискретным сигналом от таймера, потому что в данном случае нет необходимости получать чистый синус. Для совместимости с предыдущими решениями был сделан дискретный вывод для использования аппаратного счетчика событий (1й пин разъема P1), а конфигурация осуществляется один раз при старте системы. Таким образом, сохраняется полная преемственность с уже написанным ПО.

В микроконтроллере реализованы генерация сигнала ШИМ, обработка оцифрованных данных и общение по I2C. За генерацию ШИМ отвечает таймер, синхронизированный с АЦП. Данные передаются в память по DMA и обрабатываются по половинам — пока заполняется первая половина буфера, вторая анализируется. Сам алгоритм обработки данных получится следующий:

Рисунок 5. Алгоритм обработки данных

Рисунок 5. Алгоритм обработки данных

Микрокомпьютер

С оптическим датчиком разобрались, теперь вернемся к самому устройству. Помимо датчика, нам также нужно реализовать подсчет импульсов и отправку данных на сервер для дальнейшей аналитики. Со всем этим справится одноплатный компьютер. Основные требования к нему следующие:

возможность запускать программу на Python 3,

место для пары сетевых библиотек,

интерфейсы Ethernet и Wi-Fi для связи с сервером,

питание по micro USB или PoE,

Читайте так же:
Счетчик ce301 схема подключения

производительность — не критично,

время включения — не более 2 минут,

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

Сначала мы использовали Orange Pi zero, однако, учитывая их немалые габариты и невозможность нормально сделать PoE, решено было поискать другие варианты. Так взгляд пал на одноплатный компьютер VoCore, характеристики которого полностью подходили под задачу. Изучив предложения на китайском рынке, был найден очень похожий вариант выпускаемый массово — процессор RT5350, 32Mb RAM, 8/16Mb Flash.

Рисунок 6. Одноплатный компьютер VoCore.

Рисунок 6. Одноплатный компьютер VoCore.

Он немного больше, чем оригинальный VoCore, зато под модулем остается место для размещения компонентов, а также у модуля есть удобный разъем для подключения к основной плате. Схематика незначительно отличается от оригинального VoCore, так что конфигурацию от VoCore можно легко адаптировать под китайского товарища.

Конструктив

Рисунок 7. 3Д модель счетчика.

Рисунок 7. 3Д модель счетчика.

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

Рисунок 8. Поворотная часть корпуса.

Рисунок 8. Поворотная часть корпуса.

От люфта и случайного поворота защищает пружина и фрикционная шайба. Для большинства задач этого оказывалось достаточно. Материнская плата, модуль PoE и сам компьютер расположены максимально компактно в основной части корпуса.

Рисунок 9. Основная часть корпуса.

Рисунок 9. Основная часть корпуса.

Так как партии пока относительно небольшие корпус изготавливается методом SLS печати.

Итак, в итоге у нас получилась следующая архитектура устройства:

вычислительный модуль (одноплатный компьютер),

основная плата, на которой расположены разъемы Ethernet, USB, I2C, светодиоды и кнопка,

плата питания (устройство может питаться как от microUSB так и от PoE).

Подсчет срабатываний

Теперь пара слов о том, как реализован подсчет срабатываний датчика. Независимо от типа датчика, алгоритм подсчета импульсов остается одинаковым. Выход датчика подключается к GPIO процессора. Количество импульсов подсчитывалось через GPIO interrupt. Для этого требуется настроить GPIO на вход и включить прерывания. Об этом хорошо написано, например, тут. Число срабатываний можно посмотреть командой cat /proc/interrupts | grep gpiolib. Если же требуется реагировать на каждое событие или записывать время его срабатывания, то уже придется написать простую программу. Данный подход хорошо себя зарекомендовал и является необходимым и достаточным источником данных для подобного класса датчиков. В случае датчика с микроконтроллером, нужно перед началом работы загрузить необходимые параметры по I2C.

Заключение

Итак, что мы имеем на выходе? Компактное устройство для подсчета импульсов с оптическим датчиком и готовой реализацией отправки данных на сервер по Ethernet или WiFi. Была реализована передача данных по MQTT. Адаптивная архитектура также позволяет легко подключать практически любой другой датчик по I2C или SPI через переходник. На данный момент имеются такие варианты счетчиков: лазерный с аналоговой обработкой сигналов, лазерный с цифровой обработкой сигналов, а также индукционный счетчик для подключения внешнего промышленного индукционного датчика. Разработанный корпус позволил осуществлять поворот оптического модуля, а также его замену на другой тип датчика. В ближайших планах хотим подключить тепловизионный датчик для мониторинга нагруженных узлов в производстве.

Электронные счетчики и АСКУЭ

Попытки создания АСКУЭ (автоматизированной системы контроля учёта электроэнергии) связаны с появлением в относительно доступных микропроцессорных устройств, однако дороговизна последних делала системы учета доступными только крупным промышленным предприятиям. Разработку АСКУЭ вели целые НИИ.

Решение задачи предполагало:

  • оснащение индукционных счетчиков электрической энергии датчиками оборотов
  • создание устройств, способных вести подсчет поступающих импульсов и передавать полученный результат в ЭВМ
  • накопление в ЭВМ результатов подсчета и формирование отчетных документов
Читайте так же:
Кабель от счетчика под землей

Первые системы учета были крайне дорогими, ненадежными и малоинформативными комплексами, но они позволили сформировать базу для создания АСКУЭ следующих поколений.

Переломным этапом в развитии АСКУЭ стало появление персональных компьютеров и создание электронных электросчётчиков. Ещё больший импульс развитию систем автоматизированного учёта придало повсеместное внедрение сотовой связи, что позволило создать беспроводные системы, так как вопрос организации каналов связи являлся одним из основных в данном направлении.

Основное назначение системы АСКУЭ — в разумных интервалах времени собрать в центрах управления все данные о потоках электроэнергии на всех уровнях напряжения и обработать полученные данные таким образом, чтобы обеспечить составление отчётов за потребленную или отпущенную электроэнергию (мощность), проанализировать и построить прогнозы по потреблению, выполнить анализ стоимостных показателей и произвести расчёты за электрическую энергию.

Для организации системы АСКУЭ необходимо:

  1. В точках учёта энергии установить высокоточные средства учёта — электронные счётчики
  2. Цифровые сигналы передать в так называемые «сумматоры», снабженные памятью.
  3. Создать систему связи (как правило, последнее время для этого используют GSM – связь), обеспечивающую дальнейшую передачу информации в местные и на верхние уровни.
  4. Организовать и оснастить центры обработки информации современными компьютерами и программным обеспечением.

Электронные счетчики

Пример простейшей схемы организации АСКУЭ показан на рисунке. В ней можно выделить несколько отдельных основных уровней:

1. Уровень первый – это уровень сбора информации

Элементами этого уровня являются электросчётчики и различные устройства, измеряющие параметры системы. В качестве таких устройств могут применяться различные датчики как имеющие выход для подключения интерфейса RS-485, так и датчики, подключенные к системе через специальные аналого-цифровые преобразователи. Необходимо обратить внимание на то, что возможно использовать не только электронные электросчётчики, но и обычные индукционные, оборудованные преобразователями количества оборотов диска в электрические импульсы.

В системах АСКУЭ для соединения датчиков с контролерами применяют интерфейс RS-485. Входное сопротивление приемника информационного сигнала по линии интерфейса RS-485 обычно составляет 12 кОм. Так как мощность передатчика ограничена, это создает ограничение и на количество приемников, подключенных к линии. Согласно спецификации интерфейса RS-485 с учетом согласующих резисторов приёмник может вести до 32 датчиков.

2. Уровень второй – это связующий уровень

На этом уровне находятся различные контролеры необходимые для транспортировки сигнала. В схеме АСКУЭ представленной на рисунке, элементом второго уровня является преобразователь, преобразующий электронный сигнал с линии интерфейса RS-485 на линию интерфейса RS-232, это необходимо для считывания данных компьютером либо управляющим контролером.

В случае если требуется соединение более 32 датчиков, тогда в схеме на этом уровне появляется устройства, называемые концентраторы. На рисунке показана схема построения системы АСКУЭ для количества датчиков от 1 до 247 шт.

Электронные счетчики

3.Третий уровень – это уровень сбора, анализа и хранения данных

Элементом этого уровня является компьютер, контролер или сервер. Основным требование к оборудованию этого уровня является наличие специализированного программного обеспечения для настройки элементов системы.

В настоящее время практически все электронные электросчётчики оборудованы интерфейсом для включения в систему АСКУЭ. Даже те, которые не имеют этой функции, могут оснащаться оптическим портом для локального снятия показаний непосредственно на месте установки электросчётчика путём считывания информации в персональный компьютер. Поэтому, сегодня электросчётчик является сложным электронным устройством.

При проектировании современных систем АСКУЭ применяют только электронные счётчики. Они имеют неоспоримые преимущества перед индукционными именно в «информационном» плане и обладают практически неограниченными сервисными возможностями.

Смотрите видео, в котором на примере конкретной марки рассмотрены электронные счетчики.

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector