Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Журнал проекта для FirePick Delta, MicroFactory с открытым исходным кодом

Топология программного обеспечения и теория работы

OpenPnP - это высокоуровневый мозг машины, который выполняет такие, казалось бы, простые вещи, как «взять ту часть» и «положить ее туда». Множество библиотек и подсистем передают ему информацию, и он передает информацию различным двигателям и исполнительным механизмам через другие библиотеки и программные модули. Он был создан Джейсоном фон Ниедой задолго до запуска FirePick Delta. Технически он все еще находится в альфа-состоянии, но лежащее в основе программное обеспечение надежно и использовалось на нескольких производственных машинах. Хотя он был хорошо написан, имел чрезвычайно модульную и расширяемую структуру, документация не была отличной… До сих пор. В духе открытого исходного кода и полного раскрытия информации мы решили сами задокументировать OpenPnP. Надеюсь, мы перенесем все это в официальный проект.

Показанные выше файлы Java (значки «JAR») можно заменить или использовать в качестве базового класса для создания собственной конфигурации компьютера. Каждый из указанных выше файлов Java (за исключением модели (моделей) конфигурации) можно указать в файле «machine.xml». Если вы не знакомы с Java, это может показаться странным, но это действительно удобно. Это означает, что вы можете указать путь к группе файлов .java, и это определит, какие классы будут созданы и использованы, тем самым изменив поведение. Он сохраняет код действительно чистым и модульным, что важно для чего-то столь сложного, как машина для подбора и размещения. OpenPnP поставляется с набором справочных файлов для стандартной реализации PnP с управлением движением TinyG, одной головкой, одним соплом и приводом, перетаскиваемой лентой и камерой, направленной вниз. Мы изменили довольно много вещей, чтобы заставить их делать все, что нам было нужно.

Драйвер движения: Мы используем специальную плату контроллера движения, вдохновленную платами RepRap RAMPS 1.4 и Melzi, на которой работает модифицированная прошивка Marlin. Я написал драйвер OpenPnP Marlin, который отправляет правильный g-код контроллеру движения. На данный момент это отлично работает, но мы обнаруживаем, что выполнение дельта-вычислений и многоточечной коррекции Z-зонда на 8-битном Arduino с ограниченной памятью и без плавающей запятой кажется немного глупым, когда у нас есть все эти вычислительные мощности. Пи. Кроме того, мы хотим использовать камеру и настраиваемое приложение для калибровки XY, чтобы повысить точность, и это намного проще и быстрее выполнять эти вычисления на Pi. Однако этот код не является частью OpenPnP, поскольку мы планируем предлагать другие приложения в будущем. Это означает, что OpenPnP не может напрямую взаимодействовать с контроллером движения, он должен пройти через слой программного обеспечения, которое выполняет вычисления дельты и корректирующие смещения XYZ. Мы обернули весь этот код в FireFUSE (нашу файловую систему в картографе пользовательского пространства), что позволяет нам делать много полезных вещей, о которых мы поговорим позже. По большей части это довольно прозрачно; вместо записи OpenPnP в «/ dev / ttys0» вы пишете в «/dev/firefuse/sync/cnc/marlin/gcode.fire». FireFUSE преобразует декартовы координаты в дельта-координаты, вычислит смещение ошибки, используя интерполированные точки из процесса автоматической калибровки машины, и отправит этот новый g-код драйверу Marlin. И этот код будет переносимым и может использоваться с приложениями для 3D-печати, приложениями для распределения паяльной пасты и т.д.

Драйвер камеры и Vision Framework :Поддержка камеры OpenPnP была немного привередливой и не поддерживала замечательную 5-мегапиксельную камеру Raspberry Pi. Их компьютерное зрение было тонкой прокладкой поверх кода OpenCV, в котором реализованы некоторые действительно базовые функции поиска дыр, но не более того. Карл Лью, наш программист, видел в этом огромную проблему и последние год или два потратил на написание потрясающей библиотеки визуализации с открытым исходным кодом под названием FireSight. Он написал десятки потрясающих процедур видения, которые можно объединить в конвейер очень высокоуровневым способом, который не требует математических знаний более высокого уровня или знания C / C ++ более низкого уровня. Для камеры мы используем модуль камеры RasPi, как уже упоминалось, с пользовательской версией «распистилля», называемой FirePiCam. Мы делаем снимки и сохраняем их в файловой системе FUSE, что предохраняет нас от износа битов во флэш-памяти SD-карты. Чтобы OpenPnP мог видеть изображения и выполнять операции компьютерного зрения, Карл написал библиотеку Java под названием «firerest-client», которая заставляет все это работать.

GUI :Графический интерфейс OpenPnP Java действительно неуклюж и неинтуитивен, и наличие специального монитора, подключенного к Raspberry Pi, кажется немного сумасшедшим в 2014 году, также известном как Рассвет Интернета вещей. Мы хотели бы, чтобы пользовательский интерфейс был настраиваемым веб-приложением, которое можно было просматривать в любом браузере HTML5. Эта функция не поддерживается напрямую через OpenPnP, но может быть реализована, если потребуется немного поработать. К счастью, Джейсон написал OpenPnP, где вы можете вызвать конструктор (ы) для функций конфигурации машины и файла, который обходит графический интерфейс. Мы можем использовать мост node-java для вызова java-функций из javascript и наоборот, без особых усилий благодаря некоторому коду, который мы нашли на github. Нам остается только написать умное веб-приложение с использованием node.js, Express, AngularJS и Twitter Bootstrap. Сейчас мы находимся на начальной стадии написания этого приложения. А пока мы можем запустить OpenPNP в обычном режиме и использовать стандартный графический интерфейс, который позволяет нам отлаживать другие части машины.

Топология оборудования и теория работы

Мы используем стандартную Raspberry Pi Model B +. B + - это RPi, которую мы всегда хотели; они переместили разъемы в более логичное место и добавили настоящий набор монтажных отверстий. По-прежнему есть дрянной медленный Broadcom 2835, но чего вы ожидаете за 30 долларов. Нам часто задают вопрос:«Почему вы использовали BeagleBone Black?» или с десяток других одноплатных компьютеров. Ответ довольно прост. Мы делаем ставку на машину за 300 долларов, а это значит, что нам нужно выбрать ДЕШЕВОЙ одноплатный компьютер. Raspberry Pi - самый дешевый, поэтому выигрывает. QED. 🙂 На самом деле, нам очень нравится черный BeagleBone и другие платформы, такие как Allwinner A4, Intel Galileo и даже более традиционные конфигурации, такие как Mini ITX. Все наше программное и аппаратное обеспечение должно работать на этих платформах. Но они дорогие, и Raspberry Pi отлично справляется со своей задачей.

Мы действительно были удивлены производительностью Pi. Он не светится быстро, но обеспечивает компьютерное зрение и без проблем обслуживает веб-страницы.

ERPIHAT01 HAT Board

Вскоре после выпуска Raspberry Pi Model B + RPi Foundation выпустила спецификацию «HAT», которая очень похожа на Arduino Shield или накидку BeagleBone. Это мезонинная плата нестандартной формы, которую можно настроить, чтобы добавить изящные элементы в Raspberry Pi без всяких кабелей и прочей ерунды. До HAT существовали подключаемые модули, но они не были стандартизированы. Мы довольны новой спецификацией HAT и с гордостью представляем нашу FirePick Delta HAT ниже:

Вот список функций FirePick Delta HAT:

Для более подробной информации:журнал проекта FirePick Delta, MicroFactory с открытым исходным кодом


Производственный процесс

  1. Введение в терминологию с открытым исходным кодом
  2. Открытый исходный код и Интернет вещей:инновации через сотрудничество
  3. DHT Tiny Breakout для Raspberry Pi
  4. Лучшие аксессуары для Raspberry Pi
  5. Зрение:для слепых
  6. Smart Pen:последний проект для ECE5725
  7. 3 совета по управлению логистикой вашего строительного проекта
  8. Необходимость открытого исходного кода на периферии (электронная книга)
  9. Как правильно выбрать кран для вашего проекта
  10. Умные очки — новый источник производительности для технического специалиста?