Во время изучения в университете такого занимательного предмета, как схемотехника, мне пришло в голову сделать в рамках курсового проекта "Двух осевой плоттер на бумаге с головкой из авторучки на базе Arduino". К моменту начала работы я себе весьма смутно представляла разработку электрической части проекта, впрочем, как и механической. Подобного опыта в моей жизни еще не бывало. Именно поэтому я нашла в сети, перебрав множество ресурсов, показавшийся мне наиболее простым и понятным туториал, и решила точно следовать ему. Однако, скоро выяснилось, что все простое на первый взгляд расписано не достаточно подробно для такого "умельца" как я. Поэтому в оставшихся "за кадром" вопросах пришлось импровизировать, не всегда удачно, как оказывалось в последствии. Это была небольшая предыстория. Теперь хотелось бы поделиться своим ценным опытом по ряду ключевых вопросов. Приводить полностью новую инструкцию с моей версией этого устройства не буду, т.к. на просторах интернета итак достаточно более удачных решений.


Содержание


  1. Конструкция
  2. Схема электрическая
  3. ПО

1. Конструкция



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


  • Если верхняя ось не имеет опоры с двух сторон, а крепится, как у меня, только одним краем, то необходимо заранее продумать баланс осей. Верхняя неизбежно будет крениться, если вообще не заваливать всю конструкцию весом своего "висящего" края.
  • Линии рисунка могут идти волнами по размеру резьбы шпильки, а также из-за дрожания самой конструкции во время работы.
  • Две вышеперечисленные проблемы приводят еще к одной: перо (в моем случае ручка) может писать неравномерно в разных частях страницы.
  • Вес и размеры устройства тоже стоит рассчитать заранее, чтобы потом не выяснилось, что ваши двигатели не тянут такую нагрузку.
  • И еще одна важная деталь: лучше всего везде где возможно использовать для крепления шурупы, гвозди и т.д. Конструкции на клее, пусть даже самом надежном, имеют свойство разваливаться в самый неожиданный момент. И в некоторых случаях после сборки основной части будет весьма сложно возвращаться к "переклеиванию" мелких, но очень важных, внутренних деталей, не разбирая готовые части.
  • Если же используете где-то клей, то очень и очень внимательно следите, чтобы он не попал в движущиеся части конструкции. Даже маленькая капелька способна застопорить механизм и привести в его негодность.

2. Схема электрическая




Сама схема была предельно проста и не требовала даже пайки. Я даже взяла готовый CNC Shield специально для работы с ЧПУ. Тем не менее и тут есть свои нюансы:


  • Мой китайский аналог Arduino под кодовым именем WAVGAT на отрез отказался прошиваться как обычная Arduino Uno R3. В интернете утверждали, что подобные платы полностью совместимы со всем ПО arduino, но для работы с ним через IDE пришлось скачивать отдельную библиотеку WAVGAT Update. Так мне удалось залить скетч на плату, но само ПО по прежнему не хотело корректно работать. Я испробовала все найденные варианты исправления такого рода проблем (перегружала бутлодер платы, изменяла файлы boards и константы самой библиотеки с ПО), но итог остался тем же. Видимо, именно для этой задачи придется обзавестись классической Arduino.
  • Еще одной проблемой стал запуск шаговых двигателей. Они жужжали, грелись, несмотря на холодные драйвера, но не двигались. Методично проверяя цепочку поэлементно поняла, что проблема в их подключении. Дело в том, что и в этот раз китайцы соригинальничали. Оказалось, что выводы двигателя содержат перекрещенные пары А-В. Если у обычного магазинного двигателя пары шли по порядку 2В-2А-1А-1В, то у китайцев почему-то оказались 2В-1А-2А-1В. Выяснить это можно "пропикиванием" схемы мультиметром в соответствующем режиме: пищат парные А-В выходы.
  • И еще, как оказалось, безобидный маломощный сервопривод вполне способен безвозвратно "подпалить" всю плату arduino при длительной чрезмерной нагрузке на него. При этом плата продолжит работу, но будет иногда прерываться на середине, останавливаясь на командах сервопривода.
  • Поэтому следите за температурой устройств во время работы во избежании неисправимых последствий.

3. ПО


Тут есть варианты:


  • Проще всего взять замечательную простенькую программу BenВox. Она специализирована именно под работы с ЧПУ и проста в установке и обращении. Минус этого варианта в его ограниченности. Во-первых прошивка для платы в комплекте ПО содержится уже в hex-файле, потому возникают проблем с ее редактированием. Да и функционал в общем не особо обширен, похож на простейший графический редактор. Если не хотите вдаваться в подробности работы всего этого механизма, то можно поработать с этим вариантом.
  • Немного сложнее, но и перспективней работа через GRBL-прошивку. Эту библиотечку можно без проблем взять в интернете и она дает значительно больше возможностей, чем BenBox. Но для работы через этот механизм надо разобраться с начальной настройкой всего этого.
    1. Итак, скачиваем и распаковываем grbl-servo библиотеку. Теперь ее можно залить на плату через IDE, просто отыскав ее среди примеров.
    2. Для пересылки непосредственно команд устройству понадобится Universal Gcode Sender (или другое подобное ПО). После его установки на компьютер в нем открываем канал связи с платой по com-порту, к которому подсоединена плата.
    3. Для начальной и последующих настроек платы в командной строке приложения набираем "$$". По этой команде получаем полный набор базовых настроек платы, которые можно менять, настраивая нужные параметры. К примеру, команды "$110=380" и "$111=380" ставят скорость двигателей на осях Х и У на 380 мм\мин. Важными пунктами настройки являются скорость и ускорение двигателей, направление осей (прямое или инверсное). Подробнее инструкцию по такой настройке можно найти в интернете.
    4. Также есть возможность машинного контроля над двигателями (вкладка machine control) и серво (команды М5(поворот в начальное положение) и М3 s90(поворот на 90 или любое другое кол-во градусов)).
    5. Далее надо подготовить изображение для работы. Для этого тоже понадобится доп. ПО, к примеру, Inkscape. Оно похоже на любой другой графический редактор и подробно работу с ним можно изучить также в интернете. Но есть пара важных замечаний:
  • Для начала надо задать правильные размеры страницы в свойствах, чтобы размеры вашего изображения не оказалось больше возможностей плоттера. Так же необходимо заменить пиксели на миллиметры в единицах измерения.
  • После создания изображения жмем ctrl+shift+C и идем в меню — расширения — MI GRBL… — задаем скорости двигателей и угол поворота серво — сохраняем изображение в формате gcode.
    1. Наконец возвращаемся в Universal Gcode Sender и во вкладке File Mode открываем наше gcode-изображение. Кнопкой Visualize можно графически отслеживать работу программы, а в окне command Table можно проследить по командное выполнение. Осталось только запустить все это и наблюдать за результатом.

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

Комментарии (13)


  1. super-guest
    11.12.2018 17:24

    Интересно, спасибо. Похоже на AxiDraw


  1. sav13
    11.12.2018 20:18
    +1

    Результат то есть?
    На выходе что получается у готового устройства?
    Ну и характеристики бы типа скоростей, ускорений?


    1. mazy
      12.12.2018 15:50

      я похожий собирал из останков ДВД приводов.
      meow.kiev.ua/%D1%87%D0%BF%D0%BA-%D0%B7-dvd-%D1%80%D0%BE%D0%B1%D0%BE%D1%87%D0%B0-%D0%B2%D0%B5%D1%80%D1%81%D1%96%D1%8F/diy
      потом вместо ручки прикрутил лазер.
      вполне приколько вьжигает мелкие детальки — до 35*35мм


  1. VBKesha
    11.12.2018 20:52

    безобидный маломощный сервопривод

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


    1. adson
      12.12.2018 10:11

      Присоединюсь — такая конструкция, к сожалению, просто обречена клинить, либо нужно делать запредельные зазоры для направляющих


  1. third112
    11.12.2018 20:55

    Когда-то работал с дорогими (промышленного изготовления) аналоговыми плоттерами для научных исследований. Устройства эти капризные, поэтому данный проект заслуживает высокой оценки. Если удастся нарисовать окружность, а не спираль вместо нее, то проект для самоделки можно считать успешным.

    Отдельные замечания.
    1) Фанера — не подходящий продукт для подобных конструкций. Легкий алюминиевый сплав даст лучшие результаты.
    2) Жаль не показаны гайки, двигаюшие платформу с пером — чем они длиннее, тем, возможно, точнее будет рисунок.
    3) Ручка — неудачный узел. Лучше использовать голый стержень для ручки (так делали и в промышленных плоттерах).


    1. Ksiw
      11.12.2018 21:41

      Алюминиевый станочный профиль стоит в 6 раз дороже. Продолжая, шпильки тоже надо менять на швп.
      А вообще, проверить станок можно нарисовав рисунок дважды на поверхности, один поверх другого и посмотреть насколько разойдется. А вапще для дома пойдет.
      Умилило, применение шурупов и гвоздей и «пропикивание».
      Не надо гвоздей, лучше обойтись саморезами по дереву с предварительным просверливанием отверстий меньшего диаметра.
      Короче, рад успешному исполнению проекта автором и всегда приятно встретить леди среди технарей.


      1. k0ldbl00d
        11.12.2018 22:07

        ШВП — это там, где нагрузки и требуется большая жёсткость и точность — фрезеровка, токарка. Для плоттера достаточно недорогих ходовых винтов и гаек из капролона или бронзы, коих навалом на AliExpress. А вот полированные валы печально дорогие. Даже комплект линейных подшипников может выйти дешевле чем пара валов.


      1. third112
        12.12.2018 16:50

        Алюминиевый станочный профиль стоит в 6 раз дороже.

        Да, но я читал первую фразу статьи:
        Во время изучения в университете такого занимательного предмета, как схемотехника, мне пришло в голову сделать в рамках курсового проекта «Двух осевой плоттер на бумаге с головкой из авторучки на базе Arduino».

        поэтому у меня вопрос: теперь в универах студенты курсовые за свой счет делают? Я давно окончил МГУ, но помню на первом курсе полупроводник из расплава кристаллизовал, так там тогда 1 м платиновой проволоки для термопары стоил 32 руб. — почти стипендия (45 руб./месяц). Но предполагаю, что сверхчистый теллур для п/п промышленности, который я использовал, стоил во много раз дороже. За все эти вещи платило учебное заведение, я только 1 фотопленку на свои купил, чтобы фото выращенных кристаллов для курсовой сделать.


        1. marsianin
          12.12.2018 20:32
          +1

          Вообще, да, в основном за свой счёт.


          1. third112
            12.12.2018 21:38

            Вообще, да, в основном за свой счёт.
            Спасибо за ответ. Мне это странно слышать — если у кого денег нет, то курсовую сделать не сможет?! И в универах мастерских уже нет, где фанерку или металл порежут и отфрезеруют?

            ИМХО в случае, если курсовая, описанная в статье, делалась за свой счет, то автору стоит добавить список примерных расходов — м.б. кто-то решит воспроизвести, и ему будет полезно узнать, сколько такое может стоить. Думаю, что алюминиевый станочный профиль — не самый дорогой пункт.


  1. k0ldbl00d
    11.12.2018 22:22

    Здорово. Уже давно интересуюсь ЧПУ-тематикой, пробовал делать нечто подобное, но результат мне не понравился, хотя сам процесс был очень интересным.
    1. Нужно больше картинок!
    2. Помимо gcode sender'а могу посоветовать chilipeppr.com/grbl — работает прямо в браузере (лишь требует установить сервер для доступа к последовательным портам), позволяет посмотреть 3D симуляцию движения инструмента (или шпинделя) в реальном времени.
    3. Даже шпильки работают намного лучше, если их устанавливать на подшипники. На Ali есть много недорогих подшипников 608ZZ.
    4. Вместо использования фанеры, лучше (хотя и дороже) найти человека с 3D-принтером поблизости и распечатать детали у него, предварительно отрисовав 3д-модели, например в Fusion 360 или Компасе. Точность будет намного выше, а вес конструкции — меньше. Да и возможностей по улучшению конструкции появляется куда больше, чем при обработке фанеры ручными инструментами.


  1. digdream
    12.12.2018 11:04

    Помимо benbox можно также взглянуть на активно развивающуюся программку t2Laser, которая гораздо более функциональна и может управлять тем же чем и benbox (у меня Eleksmaker A3 с новым контроллером с лазером и сервоприводом для пишущих вещей — ручек/карандашей). Единственное неудобство — визуально нет такого же удобного размещения как в benbox.
    Защитой пока не сильно озаботились, поэтому удалось среверсить процедуру генерации ключа (если нужен ключ — поделюсь)