Repbase
CubOS
CubIO.Cloud
CubIO
CubVISION
Контакты
Главная
Содержание
Общие сведения

CubIO является программным обеспечением с открытым кодом и может быть скачано по ссылке https://github.com/yacubovvs/cubio.

ПК CubIO - программный комплекс для управления, связи с электроникой по низкоуровневым протоколам или с электроникой, не имеющей способы связи с компьютером.

Программный комплекс состоит из:

Термины
  1. ПО CubIO, Комплекс, CubIO, ПО - аппаратно программный комплекс CubIO
  2. Микроконтроллер - микросхема, предназначенная для управления электронными устройствами с интегрированными устройствами ввода-вывода, ОЗУ и ПЗУ, иногда и модулями связи WiFi;
  3. Одноплатный компьютер - самодостаточный компьютер, собранный на одной печатной плате, на которой установлены микропроцессор, оперативная память, системы ввода-вывода и другие модули, необходимые для функционирования операционной системы на базе Linux;
  4. Устройство CubIO - микроконтроллер или одноплатный компьютер, на который установлена либо прошивка CubIO, либо программа CubIO управления контактами ввода-вывода;
  5. Управляющий компьютер - компьютер с ПО для связи с устройствами CubIO. В случае одноплатных компьютеров, управляющий компьютер и устройство CubIO могут быть одним и тем же устройством;
  6. Ethernet - семейство технологий пакетной передачи данных между устройствами, в данной статье будет иметься в виду проводное подключение устройств и компьютером к сети через витую пару с разъемами RJ45;
  7. WiFi - семейство технологий пакетной передачи данных между устройствами по радиоканалу. В данной статье будет иметься в виду беспроводное подключение устройств к сети;
  8. Радио связь - набор технологий для передачи беспроводной передачи данных между устройствами, кроме сети WiFi;
  9. Коммутатор - устройство для связи нескольких устройств CubIO и передачи данных на управляющий компьютер или следующий коммутатор, или репитер;
  10. Ретранслятор - устройство для передачи, трансформации и усиления радио или WiFi сигнала CubIO;
  11. Датчик - условное устройство вывода или ввода информации, к которому должно быть подключено устройство CubIO для считывания;
Сфера применения

Программный комплекс «CUBIO» применяется для:

Все позволяет использовать решения на базе CubIO для:

Плюсы CubIO

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

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

Прямое подключение датчиков к управляющему компьютеру возможно, только если в качестве управляющего компьютера используются одноплатные компьютеры с операционной системой Debian Linux c имеющимися на плате цифровыми вводами-выводами. В данном случае необходимо установить ПО CUBIO для одноплатных компьютеров. Примеры поддерживаемых плат:

  • Raspberry PI
  • Orange PI
  • Nano PI

Подключение через UART (Serial port)
Подключение через UART (Serial port)

Самый простой способ подключения микроконтроллера к компьютеру, так как многие платы микроконтроллеров уже имеют порт USB с платой конвертера USB<->UART, который позволяет не только передавать информацию, но и осуществлять перепрошивку самого микроконтроллера. При данном способе подключения эмулируется виртуальный COM порт

В случае отсутствия данного конвертера возможно использовать внешнюю плату (предпочтения отдаются конвертеру СР340C(G), драйвера для которого есть во всех операционных системах). Остается только соединить общий провод земли и 2 провода передачи данных между конвертором и устройством CubIO.

Подключение через Wi-FI или Ethernet

В данном случае подключение происходит через кабель Ethernet или через сеть WiFi. Каждый микроконтроллер или одноплатный компьютер, исполняющий роль устройства CubIO, должен находиться в локальной сети и иметь свой IP адрес. Подключение происходит через socket. Для подключения через сеть Ethernet для микроконтроллеров необходимо подключить внешний модуль Ethernet, при его отсутствии. При этом гораздо проще использовать дешевые одноплатные компьютеры или микроконтроллеры, имеющие аппаратный WiFi модуль. Примеры поддерживаемых плат, имеющий встроенные средства связи:

Подключение через радиоканал
Подключение через радиоканал

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

В разрешенных диапазонах 433 МГц и 2.4 ГГц на прямой видимости можно достичь расстояния до 50 км с помощью направленных антенн. Следует учесть, что для настройки радио связи необходимо учесть некоторые факторы:

  • Уровень радио шума в данном регионе
  • Свободные каналы радиосвязи
  • Местность, с учетом которой следует выбирать нужный диапазон
  • Скорость передачи данных
Для правильной настройки дальней радио связи потребуется специализированное оборудование типа VNA и SDR радиоприемник

Подключение через сеть интернет

При подключении микроконтроллера через интернет, возможно подключение аналогично подключению через локальную сеть. Но в данном случае лучше использовать независимый микроконтроллер с отправкой данных через заданный промежуток времени с сервером сбора статистики, например, сервер CubIO.Cloud.

Расширение сети

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

Протокол передачи данных и команды
Протокол передачи данных

Для простоты использования и минимизации передаваемых данных между устройствами CubIO и управляющим компьютером был выбран язык обмена, схожий по синтаксису с G-code.

Минимальный набор команд для каждого микроконтроллера:

  1. pinMode – выбор режима работа входов/выходов:
    • режим входа сигнала;
    • входной сигнал с подтяжкой на питание (если данный режим поддерживается аппаратно микроконтроллером);
    • выходной сигнал;
  2. digitaRead – чтение цифрового сигнала с ножки микроконтроллера, возвращает 0 или 1;
  3. analogRead – чтение аналогового сигнала с ножки микроконтроллера. Результат возвращается в разрядности АЦП микроконтроллера;
  4. digitaWrite– установка сигнала логической 1 или логического 0 на ножку микроконтроллера;
  5. analogWrite– установка ШИМ сигнала на ножку микроконтроллера в случае аппаратной поддержки;
  6. setPinInterrupt – установка прерывания на изменения сигнала с ножки микроконтроллера. Может быть задействовано даже при отсутствии аппаратной поддержки прерывания. При изменении логического сигнала на ножке микроконтроллера будет отправлен сигнал на компьютер.
  7. clearPinImterrupt – очистка прерывания на изменения сигнала с ножки микроконтроллера
Расширенные команды управления микроконтроллером

В случае необходимости набор простых команд может быть расширен за счет подключаемых модулей. Могут быть подключены:

CubIO.Board
Описание
Описание

CubIO.Board - специально разработанная плата для управления производственными линиями или электроникой в качестве устройства CubIO. Исходная схема платы распространяется под лицензией MIT и скачать ее можно по ссылке https://oshwlab.com/yacubovvs/cubio_1. Плата CubIO.Board имеет характеристики для постоянной бесперебойной работы:

  • питание управление микроконтроллера и питание управление разделены. В том числе присутствует гальваническая развязка;
  • гальваническая развязка цифровых входов и выходов с микроконтроллером через оптопары;
  • напряжение входов с цифровых датчиков и выхода может находиться в диапазоне от 5 до 30 вольт;
  • управление электрооборудованием происходит через транзисторную сборку с низким падением напряжения ULN2003A, что позволяет выдерживать ток до 500mA на выходе;
  • встроенный UART <-> USB преобразовывает и позволяет изменять прошивку через USB;
  • SPI разъем для прошивки через программатор USB-ASP 2.0;
  • выходы для дополнительных модулей расширения с I2C интерфейсом;
  • 8 входов с подтяжкой для датчиков с N или P канальным мосфетом на выходе с напряжением 5-50В;
  • 6 высокотоковых выходом 5-30 Вольт 500 мА;
  • поддержка микроконтроллеров Atmega8x, Atmega328x;
  • высокая помехозащищенность, на плате отмечена зона для установки экрана, также при переходе на внутренний генератор с отключением внешнего кварцевого генератора позволяет работать при высоких электромагнитных помехах, в том числе и высокой частоты;
Платы расширения

Для версии плат CubIO доступны платы расширения i2C, для плат версии 1.3 и выше доступен 2-й порт расширения SPI. Плат расширений:

Примеры применения
Использование CubIO для автоматизации линии производства

В процессе разработки системы автоматизации производственной линии был выбран способ связи между управляющим компьютером и платой Cubio.Board 1.2 через USB <-> Uart конвертер. Данный способ подключения имеет несколько плюсов:

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

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

Все данные, приходящие от устройства CubIO, внешних устройств и вводимых данных пользователями, логируются в файл и хранятся на жестком диске компьютере. В случае необходимости можно запустить полную эмуляцию работы всей производственной линии по файлам логирования, в том числе и таких сетевых устройств, как камеры Cognex Dataman и принтер этикеток. Это позволило выявить и устранить неполадки в оборудовании, в том числе инфракрасных датчиков, ошибки пользователей, а также воспроизвести все действия персонала.

В данном видео показана работа Программного Комплекса на плате CubIO.Board для проверки качества нанесенного лазером DataMatrix кода. В случае если код не прошел проверку качества или был использован ранее, то он будет отбракован для переупаковки.

Управляющая программа работала на компьютере с процессором Intel Core i3, 4Гб оперативной памяти, сенсорным экраном для управления процессом, под операционной системой Debian 10

CubIO.Cloud - облачный обмен данными между устройствами CubIO и управляющим компьютером
CubIO.Cloud - облачный обмен данными между устройствами CubIO и управляющим компьютером

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

Подробнее о системе прочитать можно по ссылке Cubio.Cloud

Минимальные системные требования