Система для считывания массива аналоговых датчиков и отображения матрицы результатов

Система предназначена для считывания массива аналоговых датчиков и отображения матрицы результатов в удобном виде (на экране ПК).

Общий вид устройства и приложения управления

Для тестирования имитации датчиков используются дисковые («шестеренчатые») потенциометры, аналогичные тем, которые обычно используются для регулировки громкости. Регуляторы имеют два крайних положения, для перемещения между которыми нужно совершить хотя бы один оборот диска. Весь ассортимент разделен на разделы (настраиваются программно). Каждый датчик подключается к аналоговому входу контроллера. Из-за ограничения количества аналоговых входов используется несколько контроллеров, подключенных параллельно. Передача данных между контроллерами (каждый поддерживает до 16 сенсоров) по протоколу I2C.

Если необходимо разместить датчики на большой площади, то контроллеры можно соединить между собой по интерфейсу RS-485 (от нескольких сотен метров до 1,2 км). Основной контроллер подключается к ПК через USB (эмулирует COM-порт).

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

Параметры системы:

  • Основной контроллер – Arduino MEGA – 5шт.
  • Процессор – 16 МГц, ATmega2560
  • Память контроллера — 256 КБ + 8 КБ SRAM + 4 КБ EEPROM.
  • Аналоговых датчиков – 80 (5 групп по 16 датчиков на каждый контроллер)
  • Диапазон аналогового входа – 0..5 В
  • Аналогово-цифровой преобразователь – 10 бит (1024 уровня)
  • Максимальное разрешение АЦП – 0,0049 В
  • Максимальная частота АЦП – 10 кГц
  • Максимальное расстояние между группами датчиков

    • до 20 м (для протокола I2c между контроллерами)
    • до 1200 м (для соединения RS-485 между контроллерами)
  • Питание — 7–12 В (возможно USB 5 В для тестирования).
  • Размеры

    • 102x54x50 мм (контроллеры)
    • 240x170x100 мм (весь комплект с контроллерами, тестовыми потенциометрами и проводкой)
  • Вес

    • 250 г (контроллеры)
    • 700 г (вся упаковка с контроллерами, тестовыми потенциометрами и проводами)

Приложения для отображения значений датчиков

Десктопное приложение для работы на гравировальном станке. Разработан на C++ с использованием .Net framework. Может работать на любом ПК с операционной системой, поддерживающей .NET Framework (Windows 7,10,11)

[Приложение управления массивом датчиков чтения](/src/projects/ReadingSensorsArray/ReadingSensorsArray /ReadingSensorsArray.1.1.exe)

Главное окно чтения приложения управления массивом датчиков

Основные функции управляющего приложения

  • Панель подключения устройства с выбором доступных портов

Панель подключения устройства управления массивом датчиков чтения

  • Статус соединения с устройством

  • Главное окно с показаниями датчиков в реальном времени в виде матрицы (10x8)

  • Запустить или остановить процесс регистрации

  • Изменить частоту считывания показаний датчиков для ведения журнала и общую продолжительность журнала

  • Отображение списка последних записанных журналов и кнопки отображения папки, в которой были сохранены журналы (по умолчанию папка «журнал» создается там же, где было запущено управляющее приложение)

  • Настройка параметров отображения Настройки приложения управления массивом датчиков чтения

    • Отображает только уровень или также абсолютные значения аналогового датчика.
    • Ручная установка значения по умолчанию (если какой-либо из датчиков не подключен, для него будет отображаться это значение)
    • Изменение количества отображаемых уровней
    • Настройка метки для каждого уровня (по умолчанию используются серийные номера, но также можно использовать буквы или символы)
    • Задание для каждого уровня соответствующего ему диапазона значений датчиков (по умолчанию весь диапазон делится на равные участки по количеству уровней)

Компоненты

  • Контроллер Arduino MEGA – 5 шт.
  • Потенциометр дисковый — R1001G21B1 — 80шт.
  • Модуль RS-485 – MAX485 (5 шт.)

Схема подключения

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

Возможно подключение по RS-485

Схема подключения системы считывания массива датчиков для подключения по RS-485

Дальнейшее развитие системы

  • Подключение различных типов датчиков

  • Добавление цифровых датчиков, подключенных через I2C или RS485.

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

  • Добавление специальных аварийных сигналов для датчиков или групп датчиков (со звуковой или световой сигнализацией)

  • Улучшения удобства использования приложения управления

    • добавление графиков
    • открытие ранее сохраненных журналов
    • переключение и тонкая настройка групп датчиков и отдельных датчиков
  • Веб-интерфейс

Фотографии

Основные контроллеры в сборе

Основные контроллеры в сборе

Основные контроллеры собраны

Основные контроллеры собраны

https://github.com/Brabn/ReadingSensorsArray/assets/140490234 /9c37173d-ba45-4cd9-968d-364d83d57440