Sibprompost.ru

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

Микросхема счетчик импульсов i2c

Микросхема счетчик импульсов i2c

С. Гриневский, С. Дрозд, В. Емельянов, В. Переверзев, С. Шведов

КМОП-таймер с ОЗУ и управлением по I 2 C-шине INA8583N

В 1999 году в НИКТП «Белмикросиcтемы» разработана микросхема INA8583N — таймер с ОЗУ 256×8 бит и управлением по I²C-шине. Данная микросхема предназначена для использования в аппаратуре, имеющей I²C-шину, в качестве часов/календаря/таймера/будильника/счётчика внешних событий с включением каких-либо функций аппаратуры в определённое время или по происшествии какого-либо события, а также для хранения какой-либо информации в свободных ячейках ОЗУ. Может использоваться в радиоаппаратуре и изделиях бытовой электроники.

Отличительные особенности INA8583N:

  • рабочее напряжение питания интерфейса I²C-шины 2,5–6 В;
  • рабочее напряжение питания часов (070ºС) 1,0–6 В;
  • рабочий ток потребления (fSCL= 0 Гц) 50 мкА;
  • температурный диапазон -20 – +70ºС;
  • часы функционируют с четырёхгодичным циклом календаря;
  • 24- или 12-часовой формат;
  • работа часов от 32,768 кГц или 50 Гц;
  • последовательная шина (I²C);
  • автоматическая инкрементация адреса передаваемого слова данных;
  • рограммирование функций будильника, таймера и прерывания.

Назначение выводов микросхемы приведено в табл. 1. Структурная схема приведена на рис. 1.

Таблица 1. Назначение выводов микросхемы INА8583N

ОбозначениеВыводНазначение
OSCI1вход генератора, 50 Гц или событий
OSCO2выход генератора
A03вход адреса
GND4общий вывод
SDA5данные для I²C-шины
SCL6тактовые импульсы для I²C-шины
INT7выход прерывания с открытым стоком
Ucc8напряжение питания


Рисунок 1. Структурная схема микросхемы INA8583N

INA8583N содержит 256×8 ОЗУ с 8-бит автоинкрементируемым адресным регистром, встроенную схему генератора на 32,768 кГц, делитель частоты, интерфейс двунаправленной, двухпроводной последовательной шины (I2C) и схему сброса по питанию.

Первые 8 бит ОЗУ (адреса 00÷07) разработаны как адресуемые 8-бит параллельные регистры. Первый регистр (адрес 00) используется как регистр управления/статуса. Ячейки памяти с адресами 01÷07 используются как счётчики для функции часов. Ячейки памяти с адресами 08÷0F — свободные ячейки ОЗУ или могут быть запрограммированы как регистры будильника. Размещение регистров в различных режимах приведено на рис. 2.


Рисунок 2. Размещение регистров в различных режимах

При загрузке регистра управления/статуса можно выбрать следующие режимы:

  • режим часов от частоты 32,768 кГц;
  • режим часов от 50 Гц;
  • режим счётчика событий.

В режиме часов сотые секунды, секунды, минуты, часы, число, месяц (четырёхлетний календарь) и день недели хранятся в двоично-десятичном формате (BCD). Регистр таймера, в зависимости от выбранного режима, может считать до значения 99 дней. Режим счётчика событий используется для счёта импульсов, поступающих на вход генератора (OSCO остаётся не подключенным). Счётчик событий может работать до 6 цифр данных в BCD-формате.

При установке бита разрешения будильника в регистре управления/статуса активизируется регистр управления будильником (адрес 08).

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

  • будильник по числу;
  • будильник по дню недели;
  • будильник по времени (ежедневно в одно и то же время);
  • будильник по таймеру.

В режиме часов регистр таймера (адрес 07) может быть запрограммирован для счёта: сотых секунды, секунд, минут, часов или дней. Дни считаются, когда будильник не запрограммирован.

Всегда, когда достигается условие будильника, устанавливается флаг будильника в регистре управления/статуса. При достижении условия будильника по таймеру будет устанавливаться флаг будильника, а при переполнении таймера установится флаг таймера.

Выход прерывания (с открытым стоком) включается (активный «низкий») когда установится флаг будильника или таймера. Флаги остаются в установленном состоянии до непосредственного сброса при выполнении записи в регистр по адресу 00.

Когда задана функция таймера без функций будильника, оставшиеся регистры будильника (адреса 09÷0F) могут быть использованы как свободные ячейки ОЗУ.

24- или 12-часовой формат в режиме часов может быть выбран при установке старшего значащего бита счётного регистра часов (адрес 04).

Год и число размещены в регистре 05. Дни недели и месяцы находятся в ячейке памяти 06. Когда читаются эти ячейки памяти, год и день недели могут быть замаскированы установкой флага маскирования в регистре управления/статуса. Это позволяет читать только значение числа и месяца.

Читайте так же:
Превышен счетчик порогов сбоев графика аудиоустройств windows

В режиме счётчика событий данные записываются в BCD-формате. D5 является старшей значащей цифрой, а D0 — младшей. В этом режиме внутренний делитель отключен.

Когда установлен бит разрешения будильника в регистре управления/статуса, то активизируется регистр управления будильником (адрес 08). Все функции будильника, таймера, внешнего выхода прерывания управляются содержимым регистра управления будильником.

Все регистры будильника располагаются начиная с адреса 08.

Будильник срабатывает, когда содержимое регистров будильника побитно совпадает с содержимым соответствующих регистров счётчиков. Биты года и дня недели игнорируются при активизации режима будильника по числу. В режиме ежедневного будильника игнорируются биты месяца и числа. Когда выбран будильник по дню недели для сравнения будет выбираться бит из регистра будильника по дню недели (адрес 0Е), соответствующий дню недели, по которому активизируется будильник.

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

Кварцевый резонатор на 32,768 кГц может быть подключен к выводам OSCI (вывод1) и OSCO (вывод 2). Сигнал 100 Гц для счётчиков получается с генератора через делитель в режиме часов.

В режиме часов от 50 Гц или в режиме счётчика событий генератор запрещается и выход генератора переключается в высокоимпедансное состояние. Это позволяет пользователю подавать частоту 50 Гц или внешний высокоскоростной сигнал событий на вход OSCI.

Когда включается питание, то генерируется внутренний сигнал сброса, который очищает интерфейс I²C-шины, регистр управления/статуса и все счётчики часов. После этого устройство начинает работу в режиме часов от 32,768 кГц в 24-часовом формате с 1 января 0 года с времени 0.00.00:00. На выходе прерывания будет сигнал с частотой 1 Гц (начинается с «высокого» уровня). Это можно запретить установкой бита разрешения будильника в регистре управления/статуса.

Если напряжение питания падает ниже уровня сброса интерфейса I²C-шины, то вырабатывается второй внутренний сигнал сброса, который запрещает работу I²C-шины. Этот сигнал сброса не влияет на регистры счётчика часов и регистр управления/статуса.

Рекомендуется устанавливать флаг остановки счёта в регистре управления/статуса перед загрузкой истинного времени в счётчики. Загрузка неверного состояния будет приводить к сбою часов, но не будет нарушать работу устройства.

I²C-шина двунаправленная — двухпроводная связь между различными микросхемами или модулями. Имеется две линии, по которым осуществляется связь: линия последовательных данных (SDA) и линия последовательных тактовых импульсов (SCL). Обе линии должны соединяться с положительным полюсом источника питания через резистор, так как в микросхеме эти выходы выполняются по схеме с «открытым стоком». Передача данных может инициироваться только когда шина не занята.

Один бит данных передаётся за один тактовый импульс. Данные на линии SDA должны быть стабильны в течение «высокого» периода тактового импульса, так как изменение на линии данных в это время будет интерпретироваться как управляющий сигнал.

Перед любой передачей по I²C-шине вначале передаётся адрес вызываемого устройства. Адресация всегда выдаётся с первым передаваемым байтом после процедуры старта. Формат адреса микросхемы представлен на рис. 3.


Рисунок 3. Адрес INA8583N

Схема включения микросхемы приведена на рис. 4.


Рисунок 4. Схема применения

Преобразователи интерфейсов

H28 – АЦП преобразователь аналового интерфейса в цифровой I2C

Данная схема реализует сигма-дельта алгоритм обработки входного аналогового сигнала с представлением информации в формате I2C. Управление процессом преобразования так же осуществляется по этому интерфейсу. Диапазон входного сигнала в этом режиме составляет 324мВ при 14-ти битном разрешении.

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

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

Читайте так же:
Общедомовой счетчик с термодатчиком

Преимущества

  • Малый ток потребления в режиме ожидания 0.1 мкА
  • Малый ток потребления в рабочем режиме: 0.2 мА…..1.6 мкА
  • Напряжение питания: 2.0…5.0 В
  • Два диапазона преобразования (при 2,5 В питания) 405 мВ, 105 мВ
  • Возможность использовать два источника опорного напряжения (при 2.35 В питании) 25 мВ, 33 мВ
  • Выборка из 512, 256, 128, 64 измерений
  • Время преобразования 32.2…2.5 мс
  • Быстрое преобразование: выборка из 64 измерений, время преобразования 2.5 мс, представление результата 10 Бит
  • Высокая помехоустойчивость благодаря (?

?) архитектуре

  • Двухпроводный I2C интерфейс.
  • Максимальная рабочая температура +125°С
    • Системы с батарейным питанием
    • Низкочастотные измерения
    • Системы измерения температуры и давления
    • Системы, критичные к току потребления
    • Контроль процессов с шумоподавлением

    Микросхема выпускается в SO-10 корпусе.

    Новинки

    Расширена линейка термостатов серии 2455R

    Доступен для заказа термостат на 12,8гр С включение/4,4 °С отключение.
    Точность поддержания температуры 2,8/4,4 °С соответственно.

    Датчики температуры LN222

    Фирма Heraeus выпустила на рынок новые датчики серии LN222, оптимизированные для бюджетных применений. Датчики доступны в сопротивлениях 100 и 1000 Ом и классах точности A и B, а диапазон измерений составляет -50…+400°С.

    Датчики расстояния Dx35

    Датчики расстояния Dx35 – это лучшее сочетание производительности, надежности, точности и цены. Благодаря своей способности точно измерять расстояние до объектов любого цвета и текстуры, их интегрирование в промышленное оборудование позволяет повысить его эффективность и надежность.

    Микросхемы 139873

    Еще микросхемы

    • Дифференциальные Линейные Драйверы
    • Драйверы ECL / PECL / CML
    • Драйверы IEEE 1394
    • Драйверы SERDES
    • Изоляторы
    • Интерфейсные Мосты
    • Интерфейсы HDMI / DVI / Display Port
    • Интерфейсы UART
    • Лазерные Диодные Драйверы
    • Параллельные Драйверы
    • Расширители I/O
    • Специализированные Интерфейсы
    • Устройства CAN Шины
    • Устройства PCI / PCIe
    • Флуоресцентные
    • 8-битные Микроконтроллеры
    • Видео Процессоры
    • Видео Фильтры
    • Сепараторы Видео Синхронизации
    • iButtons и Аксессуары
    • TMS32
    • Восстановление Тактовых Сигналов и Данных
    • Генераторы и Формирователи тактовых сигналов
    • Линии Задержки
    • Синтезаторы Частот
    • Таймеры, Осцилляторы и Импульсные Генераторы
    • Фазовая Подстройка Частоты
    • Аналоговые Фильтры
    • Фильтры на Переключаемых Конденсаторах
    • Видео Декодеры
    • Видео Кодеры
    • Кодеки
    • Специальные Функции
    • Триггеры-защелки
    • Функции Универсальной Шины
    • DC — DC Устройства Управления Питанием
    • Драйверы и Контроллеры
    • Коммутаторы Питания
    • Корректоры Коэффициента Мощности
    • Стабилизаторы Напряжения
    • Устройства Мониторинга и Контроля
    • Аналого-цифровые Преобразователи — АЦП
    • РЧ Детекторы
    • РЧ Миксеры / Умножители
    • РЧ Модуляторы Демодуляторы
    • РЧ Передатчики — Sub 2.4ГГц ISM Полоса
    • РЧ Переключатели
    • РЧ Приемники — 2.4ГГц и Выше ISM Полосы
    • РЧ Приемники — Sub 2.4ГГц ISM Полоса
    • РЧ Приемопередатчик — 2.4ГГц и Выше ISM Полосы
    • РЧ Приемопередатчики — Sub 2.4ГГц ISM Полоса
    • РЧ Усилители
    • РЧИД
    • Микросхемы Для Проверки Уровня Зарядки Батарей
    • Микросхемы Зарядных Устройств
    • Микросхемы Защиты Батарей
    • Микросхемы Мониторинга Батарей

    Купить микросхему в нашем интернет-магазине легко и просто

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

    По виду обрабатываемого сигнала микросхемы подразделяются на 3 вида:

    • Аналоговые микросхемы. К ним относятся: стабилизаторы напряжения и тока, микросхемы управления импульсных источников питания, компараторы, генераторы сигналов, преобразователи сигналов, аналоговые умножители, аналоговые регулируемые усилители, фильтры, схемы синхронизации, датчики, операционные усилители (ОУ);
    • Цифровые микросхемы. К ним относятся: микроконтроллеры (MCU), микропроцессоры, микросхемы памяти, программируемые логические интегральные схемы (ПЛИС), арифметическо-логические схемы (АЛУ), ключи, триггеры, регистры, шифраторы, мультиплексоры, сумматоры, счетчики, буферные преобразователи, дешифраторы, демультиплексоры, полусумматоры, логические элементы (И, ИЛИ, НЕ, И-НЕ, ИЛИ-НЕ и др.)
    • Аналого-цифровые микросхемы. К ним относятся: цифро-аналоговые преобразователи (ЦАП), аналогово-цифровые преобразователи (АЦП), трансиверы, преобразователи интерфейсов, микросхемы питания электронных устройств, коммутаторы, модуляторы, демодуляторы;

    Наиболее известными брендами в области производства микросхем являются следующие компании:
    Analog Devices — занимает ведущие позиции в разработке и производстве: микроконтроллеров 8/32-Бит, сигнальных процессоров, интерфейсов RS232/RS485/RS422, цифровых изоляторов, контроллеры сенсорных экранов, АЦП, ЦАП, цифровых потенциометров, датчиков температуры, датчиков ускорения, гироскопов, датчиков холла, оптоэлектроники, операционных усилителей, супервизоров, RF/IF;
    STMicroelectronics — занимает ведущие позиции в разработке и производстве: микроконтроллеров 8/16/32-Бит, памяти Flash/RAM/EPROM, интерфейсов RS232/RS485/RS422/CAN, АЦП, ЦАП, датчиков ускорения, гироскопов, операционных усилителей, аудио усилителей, импульсных преобразователей напряжения, LDO-регуляторов, супервизоров, ШИМ, драйверов светодиодов;
    Atmel — занимает ведущие позиции в разработке и производстве: микроконтроллеров 8/32-Бит, памяти Flash/EEPROM/SEEPROM/EPROM, интерфейсов CAN/LIN/USB, АЦП, датчики изображения, программируемой логики, RFID;
    Texas Instruments — занимает ведущие позиции в разработке и производстве: микроконтроллеров 16/32-Бит, сигнальных процессоров, интерфейсов RS232/RS485/RS422/I2C/CAN/USB/LVDS/PCI, цифровых изоляторов, контроллеров сенсорных экранов, АЦП, ЦАП, датчиков температуры, датчиков изображения, операционных усилителей, аудио усилителей, логических ИС, импульсных преобразователей напряжения, LDO-регуляторов, супервизоров, ИОН, ШИМ, RF/IF, RFID, ключей и драйверов;
    Maxim Integrated (Dallas Semiconductor) — занимает ведущие позиции в разработке и производстве: микроконтроллеров 8-Бит, памяти RAM, интерфейсов RS232/RS485/RS422/CAN/USB/LVDS, цифровых изоляторов, контроллеров сенсорных экранов, АЦП, ЦАП, цифровых потенциометров, датчиков температуры, операционных усилителей, компараторов, импульсных преобразователей напряжения, LDO-регуляторов, супервизоров, ШИМ, RFID, ключей и драйверов;
    Microchip — занимает ведущие позиции в разработке и производстве: микроконтроллеров 8/16-Бит, интерфейсов CAN/LIN/Ethernet, контроллеров сенсорных экранов, АЦП, ЦАП, цифровых потенциометров, датчиков температуры, операционных усилителей, импульсных преобразователей напряжения, LDO-регуляторов, супервизоров, ШИМ, RF/IF, RFID, контроллеры дисплеев;
    NXP — занимает ведущие позиции в разработке и производстве: микроконтроллеров 8/16/32-Бит, интерфейсов I2C/CAN/USB, АЦП, ЦАП, датчиков температуры, датчиков угла поворота, усилителей, LDO-регуляторов, RFID, ключей и драйверов;
    ON Semiconductor — занимает ведущие позиции в разработке и производстве: интерфейсов CAN, усилителей, логических ИС, импульсных преобразователей напряжения, LDO-регуляторов, супервизоров, ключей и драйверов;
    Fairchild Semiconductor — занимает ведущие позиции в разработке и производстве: интерфейсов USB/LVDS, ЦАП, оптопар, логических ИС, LDO-регуляторов, супервизоров, ШИМ, ключей и драйверов.

    Посмотреть и купить товар вы можете в наших магазинах в городах: Москва, Санкт-Петербург, Алматы, Архангельск, Астрахань, Барнаул, Белгород, Владимир, Волгоград, Вологда, Воронеж, Гомель, Екатеринбург, Иваново, Ижевск, Казань, Калуга, Кемерово, Киров, Кострома, Краснодар, Красноярск, Курган, Курск, Липецк, Минск, Набережные Челны, Нижний Новгород, Новосибирск, Омск, Орёл, Пермь, Псков, Ростов-на-Дону, Рязань, Самара, Саранск, Саратов, Смоленск, Ставрополь, Тверь, Томск, Тула, Тюмень, Уфа, Чебоксары, Челябинск, Ярославль. Доставка заказа почтой, через систему доставки Pickpoint или через салоны «Связной» в следующие города: Тольятти, Барнаул, Ульяновск, Иркутск, Хабаровск, Владивосток, Махачкала, Томск, Оренбург, Новокузнецк, Астрахань, Пенза, Чебоксары, Калининград, Улан-Удэ, Сочи, Иваново, Брянск, Сургут, Нижний Тагил, Архангельск, Чита, Курган, Владикавказ, Грозный, Мурманск, Тамбов, Петрозаводск, Кострома, Нижневартовск, Новороссийск, Йошкар-Ола и еще в более чем 1000 городов и населенных пунктов по всей России.

    Товары из группы «Микросхемы» вы можете купить оптом и в розницу.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Конструктив

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

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

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

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

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

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

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

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

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

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

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

    Заключение

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

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