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

Собираем настенный плоттер за $15: бюджетный DIY на Arduino

Компоненты и материалы

Компонент Количество
Arduino UNO 1
Шаговые двигатели 28BYJ-48 с драйверами 2
IR-приёмник TSOP 4838 1
Модуль чтения microSD (SPI) 1
Микросервопривод SG90 1

Необходимые инструменты

Программное обеспечение

О проекте

Предыстория

Идея настенного плоттера возникла ещё в 1999 году. Мой друг и я мечтали построить робота для рисования на маркерных досках, но тогда экосистема хоббийных микроконтроллеров была незрелой. В 2002 году я увидел проект Hektor (Jürg Lehni и Uli Franke) — именно то, что мы представляли! Но у Hektor был недостаток: он не был самодостаточным устройством. Я хотел плоттер, где всё — электроника, моторы, батарея — в одном корпусе, а к стене подключаются только нити.

К 2014 году появились Arduino, RC-сервоприводы, 3D-печать и, главное, невероятно дешёвые шаговые двигатели 28BYJ-48. Я решил построить самый дешёвый минималистичный настенный плоттер.

Первая попытка

Ключевое открытие: нити должны перекрещиваться. Это обеспечивает стабильность положения на стене. Недостаток — меньшая устойчивость к вращению вокруг вертикальной оси, решено добавлением стяжек.

Первый прототип использовал швейную нить. Перо поднималось сервоприводом, отталкивающим весь плоттер от стены. Прошивка была зашита в код — для смены рисунка требовалась перепрошивка. Настройка: 1 метр нити с каждой стороны, закреплённые на расстоянии 1 метра. Работало, но неудобно.

Выявленные проблемы:

Это заставило реализовать плавное ускорение и торможение.

Эволюция

Плоттер №2 (белый на обложке):

Настройка: пультом помечаются точки А и Б. Расстояние m измеряется шагами левого мотора. Максимальная ширина рисунка — 2.5 метра.

Плоттер №3 (оранжевый): электроника собрана в шилд для Arduino, добавлен контроль заряда батареи (пауза — смена — продолжение). Но драйверы на шилде скрыли мигающие светодиоды, а встроенный светодиод Arduino перекрылся шилдом — стало сложнее отлаживать IR.

Плоттер №4 — подарок брату, самый эстетичный, с видимыми драйверами.

Плоттер №5 (MacGyver edition) — собран из подручных материалов: дымоходная лента, колпачок от молока вместо бобин, стяжки, скотч. Собран быстрее, чем печатается 3D-корпус, и работает почти так же хорошо.

Плоттер №6 — доработка с учётом замечаний:

Минус: перо слегка дрожит при рисовании, снижая точность. Плюс — возможность последовательной отладки.

Проведено стресс-тестирование моторов: для удержания шагов нужно снижать скорость. Рассчитано натяжение нитей в зависимости от положения плоттера.

Использование плоттера

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

При рисовании высоко на широких полотнах моторы могут терять шаги из-за нехватки момента. Совет: крепите выше, рисуйте ниже.

Аппаратная часть

Сборка стандартна для Arduino-проектов. Почти все цифровые пины задействованы. Важно: пины 0 и 1 (TX/RX) используются под периферию — их нужно отключать при прошивке! Поэтому удобно делать электронику в виде снимаемого шилда.

Сервопривод — любой, главное придумать крепление. Шаговые 28BYJ-48 удобны и дешёвы, работают от 5–9В (хотя рейтинг 5В). microSD подключается по SPI или пинам 10–13. IR-приёмник TSOP 4838 подключается напрямую.

Контроль батареи и температуры моторов — лучше опустить, на практике не пригодились.

Рекомендуемая последовательность сборки и тестирования:

  1. Проверить IR-приёмник (пример IRRecvDump из библиотеки IRRemote).
  2. Протестировать сервопривод (пример Sweep).
  3. Проверить SD-карту (примеры библиотеки SD).
  4. Проверить шаговые моторы (примеры библиотеки Stepper).
  5. Прошить скетч плоттера, подключить всё (ещё не собирать в корпус).
  6. Проверить работу сервопривода при включении (должен сделать sweep).
  7. Управлять моторами с пульта, определить левый/правый, проверить направление намотки.
  8. Собирать в корпус и тестировать на стене.

Программная часть

Весь код на GitHub: Stringent. Код «хакерский», оптимизирован под ограниченную память Uno.

Программа делает две вещи:

Парсер SVG примитивен: только прямые линии, никаких кривых, требует специфический диалект (вывод Inkscape). Файлы называются 1.svg, 2.svg и т.д., выбираются кнопками пульта.

Используется библиотека IRRemote (shirriff).

Создание файла для рисования

  1. Рисовать в Inkscape.
  2. Преобразовать в контуры: Path → Object to Path.
  3. Инструмент «Edit paths by nodes (F2)».
  4. Выделить всё (Ctrl+A дважды).
  5. Extensions → Modify Path → Flatten Beziers (преобразовать кривые в отрезки).
  6. Сохранить как «Inkscape SVG».
  7. Прогнать через симулятор (см. ниже).

Симулятор

Обязателен перед печатью. Компилирует код плоттера для OSX/Linux, заменяет digitalWrite на вывод в stdout, который визуализируется. Позволяет найти ошибки парсинга SVG (например, слишком много знаков после запятой) и оценить время печати. Запускается намного быстрее реального времени.

Планы по улучшению

Заключение

Проект занял много времени, но приносил радость. Цель — снизить стоимость ниже $10 — не достигнута, но детали дешевеют. Код «спагетти» — он писался для себя, а не для публикации. Надеюсь, кто-то найдёт вдохновение или соберёт свой плоттер!

Удачи,
Фредрик

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

  1. Максимизация продуктивности ТО через многонавыковое обучение персонала
  2. Контроль качества: краеугольный камень надежности двигателя
  3. Как трендинг повышает надежность электродвигателей
  4. Проактивный мониторинг состояния заводского оборудования: предотвращение простоев и повышение надежности
  5. Понимание обмоток двигателей: ключевые различия и промышленные применения
  6. Выбор правильного взрывозащищенного двигателя: всеобъемлющее руководство
  7. Лучшие практики хранения электродвигателей: максимизация ресурса и производительности
  8. DC vs AC двигатели: ключевые различия и выбор под вашу задачу
  9. Выбор правильного двигателя: ключевые различия между двигателями переменного и постоянного тока
  10. Выбор правильного редуктора: экспертные советы для оптимального момента и эффективности