Вертикальный плоттер для стен

Самодельный ЧПУ станок

Разделы сайта

Интересное предложение

Лучшее

Статистика

Designed by:

Вертикальный плоттер — это устройство для рисования и чертежния на больших вертикальных поверхностях.

В этой статье я расскажу вам про устройство и изготовление такого плоттера, а так же вы сможете найти ссылки на комплект для самостоятельной сборки с АлиЭкспресс.

Электронная часть собрана на базе Arduino с заливкой готового софта.

Механическая часть вертикального плоттера состоит из 2-х шаговых двигателей, держателя маркера с сервомашинкой (отодвигает маркер от доски, когда не надо рисовать) и нити с противовесами.

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

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

Размеры плоттера зависят только от длины нити и основания, если закрепить его на стене дома и разнести боковые части на углы под крышей, то можно разрисовать весь дом!

Вот пример рисования векторного рисунка

В этой статье рассматривается изготовление самодельного вертикального плоттера для работы с бумагой формата А1 и меньше.

Давайте посмотрим небольшое видео с демонстрацией работы плоттера.

Инструменты и материалы для сборки самодельного чертикального плоттера

Можно взять готовый набор плоттера с АлиЭкспресс

Вы так же можете найти этот товар на AliExpress

Китайцы слегка упростили конструкцию, но суть и работоспособность осталась та же.

В первой части — рисует растровый рисунок (фотографию), после половины видео рисует векторный чертеж Железного человека.

Но, переходим к изготовлению вертикального плоттера

V-Plotter — это своего рода плоттер с ЧПУ, который рисует текст и изображения, перемещая перо по вертикальной поверхности. Он имеет простую механическую конструкцию, в том числе:
Одна доска.
Два шаговых двигателя со шкивами и ремнями.
Микро-сервопривод подъема ручки.
Пара противовесов.
У мастера была классная доска размером 780 x 1200 мм, которой его дети больше не пользуются. Именно ее он и использует в качестве основания конструкции.

Размеры плоттера следующие:
Ширина: 550 мм.
Высота: 800 мм.
Длина ремня: 1000 мм.

Подготовка доски
Классная доска, включая алюминиевую рамку имеет размер 780 x 1200 мм. Толщина доски 30 мм. С одной стороны, по углам сверлятся отверстия для шаговых двигателей. Расстояние между центрами двух отверстий 600 мм.


С обратной стороны доски устанавливаются шаговые двигатели.

Устанавливаются на валы двигателей шкивы. Шкив имеет 80 зубьев. Шаг зубьев шкива GT2 80 составляет 2 мм на зуб, поэтому его диаметр равен 80×2 / PI = 50,955 мм.

Сверлятся 4 отверстия для крепления и устанавливается плата Arduino Mega 2560 + RAMPS 1.4 по центру верхней части доски.

Сборка узла держателя ручки

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



Сначала он разрезам 2-метровый ремень ГРМ на две части, каждая по 1 метру. На одной стороне ремня, с помощью кабельной стяжки, закрепляем металлическую цепочку. На другой стороне ремня закрепляем штуцер.

Внутрь катушки устанавливаем два кабельных ввода. Затем сверлим отверстия и устанавливаем четыре винта.

Дальше приклеиваем сервопривод внизу пластиковой катушки (со стороны металлического кабельного ввода) и припаиваем 3 провода от сервопривода к контроллеру RAMPS 1.4. Наконец, на шкивы шагового двигателя навешиваем держатель ручки. Проверяем перемещение узла.

Во время черчения держатель пера может трястись, поэтому необходимо добавить противовесы изготовленные из гаек М10.

Закрепляем пластиковую колесо диаметром 100 мм и толщиной 10 мм.

Приклеиваем сервопривод к колесу и регулируем рычаг сервопривода так, чтобы он находился как можно ближе к кончику пера.

Устанавливает карандаш и проверяет работу.


В таком виде вертикальный плоттер рисует просто отлично.

Подключение электроники вертикального плоттера

Основными контроллерами вертикального плоттера являются Arduino Mega 2560 и RAMPS 1.4. Они управляют 2 шаговыми двигателями через драйверы A4988 и одним серводвигателем. Вот эскиз подключения устройства.

Для правильной работы плоттера два шаговых двигателя должны вращаться в противоположных направлениях, поэтому необходимо поменять местами провода правого двигателя. Подключаются шаговые двигатели левый на шильд X, правый на шильд Y.
RAMPS 1.4 имеет четыре штекерных разъема для подключения сервопривода: D11, D6, D5 и D4. Сервопривод подъема пера управляется штифтом D11.

Что касается источника питания сервопривода, соединяем контакты Vcc и 5V вместе с помощью перемычки. Разъемы 5V и Vcc для питания сервопривода расположены рядом с кнопкой RESET. Это позволить питать плату от платы Ардуино. На фото ниже стрелкой указано место установки перемычки.

Для программирования использовался кабель от принтера HP длиной около 1,8 м. С обратной стороны доски закрепляется кабель-канал и провода кладутся в него.




Для работы плоттера использовалась прошивка Makelangelo — github . Прошивку Makelangelo можно использовать во многих различных контроллерах и кинематических системах.

  • Вместе с готовым плоттером который можно заказать с АлиЭкспресс по ссылке выше, идет готовое ПО, которое не треует дорабток, прошивка уже злита в контроллер.

Для самодельного варианта необходимо внести несколько изменений в прошивку Mekalangelo, чтобы она была совместима с данным плоттером.

-Параметры конфигурации для вертикального плоттера: «configure.h «.
— Тип плоттера: Polargraph

— Контроллер: Arduino Mega 2560 + RAMPS 1.4
— Нет ЖК-дисплея

-Параметры конфигурации для полярографа: «robot_polargraph.h »
— Версия: MAKELANGELO_5
— С ручным подъемником.
— Без ЖК-дисплея — Без SDCard — Без концевых выключателей.

-Настройки шагового двигателя и шкива: «configMotors.h «.
— Он использовал шаговые двигатели NEMA 17 с углом шага: 1,8 °. Таким образом, количество шагов, необходимых для того, чтобы шаговые двигатели совершили 1 полный оборот: 200 шагов / оборот.
— Настройка микрошагов A4988: 1/16. (Драйвер A4988 позволяет увеличить это значение за счет возможности управления промежуточными шагами и имеет пять режимов микрошага (1(полный), 1/2, 1/4, 1/8 и 1/16).)

— В плоттере использовался ремень ГРМ GT2 с шагом 2 мм на зуб и шкивы GT2-80 с 80 зубьями. Значение 80×2 = 160 мм Шаг шкива означает длину окружности шкивов (диаметр шкива = 160 / PI = 50,9 мм) или расстояние перемещения зубчатых ремней, когда шаговые двигатели совершают 1 оборот.

-Настройка контактов Arduino Mega 2560: «board_ramps.h »
Обратите внимание, что RAMPS 1.4 имеет четыре штекерных разъема сервопривода, привязанных к контактам D11, D6, D5 и D4. В данном устройстве использовался штифт D11 для управления сервоприводом подъема ручки.

Программное обеспечение
Программное обеспечение Makelangelo — это компьютерный инструмент, содержащий все необходимое для настройки и экспорта файлов печати для вертикального плоттера. Он позволяет настраивать конфигурацию плоттера, размер бумаги, настройку сервопривода подъема пера. Кроме того, он также имеет встроенные инструменты для преобразования изображений в GCODE и отправки их контроллеру плоттера.

О том, как использовать программное обеспечение Makelangego, можно узнать здесь .

Откройте программное обеспечение Makelangelo и подключитесь к Arduino Mega 2560.
Дальше нужно проверить направление движения валов шаговых двигателей и расстояние перемещения.
Из раскрывающегося списка нужно выбрать «Manual Driving» и понажимать кнопки влево, вправо, вверх, вниз, с дополнительными расстояниями перемещения 1, 10, 100 мм.
Нажмите кнопки Pen up/ Pen down, чтобы проверить работу сервопривода.

Дальше нужно открыть вкладку «Setting» и установить ряд настроек.
— Model: Makelangelo (Custom).
— Machine Width: 550 (mm).
— Machine Height: 800 (mm).
— Acceleration: 10 (mm/s).

Устанавливаем размер бумаги и поля.

Настраивем перо и скорость рисования. Подъем ручки вверх / вниз можно откалибровать, регулируя значения угла сервопривода, скорость подъема и кнопки » Test «.

Дальше нужно нажать на «Generate art», выбрать график и настроить дополнительные параметры по усмотрению.
Затем нужно нажать «Open File», чтобы выбрать изображения. Программное обеспечение Makelangelo может конвертировать изображения JPG, PNG, BMP, GIF или DXF / SVG в GCODE в нескольких стилях формата преобразования.

Тестирование
Скачиваем https://content.instructables.com/ORIG/FAH/W2EW/KJ2UV8P2/FAHW2EWKJ2UV8P2.xls для имитации вертикального плоттера.

Нужно ввести координаты X, Y, и шаблон Excel будет моделировать положение пера, а также длину ремня от шкивов до пера и от шкивов до противовесов.

Чтобы провести первый тест, используем встроенную функцию «Generate art», далее «Your message here». В раскрывающемся списке, выбираем размер и шрифт, набираем сообщение (надпись) и нажимаем «Start».

Тест фигуры «Lissajous» из вкладки «Generate art».

Тест фигуры «Spirograph».

Рисунок после раскрашивания вручную.

Дальше пробуем нарисовать портрет.

Для работы с фото нужно экспортировать изображение в формате DXF / SVG из Inkscape с расширениями штриховки, затем открыть этот файл DXF / SVG в Makelangelo, просто нажав «Пуск» для выполнения.




Некоторые моменты сборки плоттера, а также демонстрацию его работы можно посмотреть на видео.

Источник

Вертикальный плоттер для стен

Я не помню, когда это началось, но я думаю примерно в 1999 году. Я и друг, во всю занимавшиеся робототехникой и электроникой, обсуждали строительство робота для рисования на досках. Конечно, у нас никогда не было времени на то, чтобы сделать что-то серьезное, экосистема для микроконтроллеров-любителей была еще не так сильно развита, какой она есть сегодня.

В 2002 году мой друг показал мне потрясающую работу Юрга Лехни и Ули Франке – робота Гектора. Мне было очень приятно видеть что-то похожее на то, что мы мечтали построить.

Некоторое время спустя я помню, как показывал сайт проекта «Гектор» кому-то, представляющему, насколько это фантастически. На этот раз, я начал больше смотреть на детали, понимая, что ему не хватает одной характеристики, я изначально предполагал, что это будет настенный плоттер. Я хотел, чтобы это было самодостаточным, все в одном устройстве с простыми проводами, соединяющими его со стенкой.

Прошло время, и в сфере робототехники произошли большие изменения. Это был 2014 год, и я использовал Arduinos и RC-сервоприводы для различных проектов управления камерой, у меня был доступ к 3D-печати и некоторое свободное время (. ). После работы с дешевым шаговым двигателем 28BYJ-48 я точно знал, что собираюсь строить:

Самый дешевый минималистский настенный плоттер.

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

После долгого ожидания запчастей заказанных из Китая, пять недель или около того, я начал строить плоттер. Я старался сделать как можно более компактный каркас, чтобы он соответствовал Arduino Uno, степперам, сервомеханизму и батарее. Я не могу вспомнить, сколько глупостей (менее умные, варианты проекта) которые я сделал в OpenSCAD, прежде чем до меня дошло. Струны должны пересекаться!

Первый вариант плоттера.

Первое устройство плоттера на картинке ниже. В поисках самых дешевых деталей я решил использовать швейную нить для навигации и преодолении гравитации. Нити пересекаются в верхней части 3D-печатного шасси через небольшие напечатанное отверстие. Как можно видеть (почти). Это оказалось сложной конструкцией, чтобы правильно смонтировать проводку кабели от Arduino до правого шагового драйвера отсутствуют на снимке, поэтому он выглядит хуже, чем был). Ручка отрывается от поверхности рисунка с помощью RC-сервопривода, отталкивающего весь плоттер.

Первый вариант плоттера имел “жесткий” код, написанный в своей программе на Arduino. Настройка плоттера была выполнена с помощью одного метра нитки, развернутой с каждой стороны и закрепленные на расстоянии одного метра. На этих настройках плоттер знал систему координат при включении питания и мог начать рисовать пути прохождения из своей памяти. Это вариант работал, но был очень сырой в использовании. Были проблемы при повторном включении Arduino или при смене дизайна рисунка. Кроме того, ограничение по расстоянию в один метр — разочаровывало.

Это была хорошая платформа для лучшего понимания проблемных мест. Несколько быстрых выводов:

  • Шаговые двигатели не так мощные — катушки были слишком большими.
  • Наконечник пера смещен от пересечения струн – Большой Люфт

Хорошая сторона этих проблем заключалась в том, что они заставили меня приложить усилия для осуществления разумного ускорения и торможения .

Второй вариант плоттера.

Плоттер номер два (белый в обложке) получил несколько улучшений:

  • Меньшие катушки.
  • Катушки перемещались над ручкой для лучшей маршрутизации нити и менее маятникового движения.
  • Электроника более доступна.
  • SD-карта для хранения информации о том, что делать.
  • Новый процесс настройки, позволяющий изменять расстояние между опорными точками.
  • ИК-приемник для возможности управлять всем этим с пульта.

Добавление SD-кард-ридера и ИК-приемника было намного проще, чем я предполагал. Это был один из таких моментов — «почему я не сделал это с самого начала. Новый процесс настройки работал довольно хорошо и давал намного большую гибкость для рисования больших и малых. Самый большой зазор был около 2,5 метров в ширину.

Настройка осуществляется путем навигации плоттера с помощью пульта дистанционного управления. Сначала измерте положение A, затем перейдите в положение B и отметьте его. Я поставил маркеры 20 см на левую и правую швейную нить, чтобы избежать необходимости ручного измерения. Расстояние m задается как раз подсчет шагов на левом шагере при переходе от A к B. После того, как плоттер знает d и что его текущее местоположение находится в B, вы можете перемещаться и рисовать где угодно, в пространстве между и ниже якоря точки.

Третий вариант плоттера.

Плоттер номер три (оранжевый в видео ниже) очень похож на своего предшественника, у него всего несколько изменений:

  • Вся электроника построена как щит для Arduino.
  • Котроллер заряда батареи, который позволял поставить на паузу – сменить батарею – возобновить работу.

Это все были благие намерения, но. Помещение драйвера шагового драйвера IC:s непосредственно на щит, пропуская драйверы, поставляемые с шаговыми двигателями, означало отсутствие мигающих светодиодов. Грустно смотреть. Супер скучно. Кроме того, встроенный светодиод Arduino скрыт за экраном, теперь не видно вспышки диода от сигнала, которые происходит, когда приемник IR-приемника получает информацию, поэтому вы не знаете, нажата ли эта кнопка калибровки или нет. Измерение уровня заряда батареи показалось хорошей идеей, но на самом деле я всегда использовал кабеля для питания устройств.

Четвертый вариант плоттера.

Плоттер номер четыре (сказочный!) Был построен как подарок на день рождения моему брату. Это, безусловно, самый красивый дизайн, созданный с использованием электроники с щитом Arduino, но оставляющий мигающие диоды видимыми во всей красе. Обратите внимание, что кабели остаются излишне длинными только для внешнего вида!

Пятый вариант плоттера.

Плоттер номер пять (версия MacGyver) был фактически построен как доказательство концепции для описания этого проекта. Я хотел показать, что вы можете построить такой плоттер без каких-либо причудливых инструментов. Я сел в своем гараже и огляделся вокруг в поисках, из чего я могу построить робота. Мой первый очевидный выбор — проволока (мягкая металлическая проволока, используемая для соединения арматуры). Когда я его искал, я обнаружил рулон канатного ремня и подумал, что это спасет меня и даст большую стабильность. В моем списке были Пластиковые хомуты, и изолента, но они не понадобились. Единственное, что я не мог понять, это то, как сделать несколько хороших катушек не трача на это уйму вермени. Я вернулся в дом за кофем, и вот он, колпачок для контейнера для молока! Честно потребовалось меньше времени на создание рамки для плоттера №5, чем время, затрачиваемое на 3D-печать оригинального дизайна. И он работает так же хорошо (почти как минимум), как и другие, которые я построил.

Шестой вариант плоттера.

Стойте, что? Мне удалось построить еще один. Это не лучший вариант. Несколько вещей, которые беспокоили меня, нужно было решить. Также улучшений благодаря некоторым комментариям здесь.

  • Размер напечатанного корпуса плоттера был слишком большим и медленным.
  • Перемещение пера, а не весь плоттер, казалось, по крайней мере стоило попробовать.
  • Переделка сервопривода и ИК-приемника на «аналоговые» контакты позволит выполнять последовательную отладку! (Спасибо jrcTexas за указание)

Итак, вот результат:

Итак, насколько хорошо эта новая модель работает? Хорошо и плохо. Изменения показали себя хорошо, но есть одна проблема. Так как перо не прикреплено к раме, оно немного шевелятся при контакте. Это делает точность хуже, чем для предыдущего поколения. Огромным преимуществом является очистка цифровых выводов IO 0-1, поэтому их можно использовать для отладки. Это делает жизнь намного проще!

Я также начал делать стресс-тестирование на шаговых двигателях, чтобы выяснить, как не пропустить шаги:

Результат выясненный при стресс-тестировании, состояло в том, что мне нужно немного замедлиться, чтобы иметь достаточный крутящий момент. Я также вычислил фактическое натяжение струн в зависимости от того, где плоттер находится на стене:

Я мог бы следить за стресс-тестированием, чтобы выяснить, как играют различные последовательности шагов и напряжения. Когда-нибудь.

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

Я сделал видео, показывающее, как установка и построение графика работают в реальности и в реальном времени.

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

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

Материалы плоттера.

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

Как видно из схемы, вы будете использовать почти все цифровые контакты, а затем, возможно, некоторые аналоговые, если вы, например, хотите контролировать уровень заряда батареи. Одно из предостережений заключается в том, что вы будете использовать pin 0-1, который удваивается как TX / RX. Чтобы избежать перегрева, вам нужно будет отключить все, что вы там подключили, когда будете программировать Arduino! Именно по этой причине я построил свои последние плоттеры со всей электроникой на щите, который я мог просто отсоединить при программировании.

Шаговые двигатели и драйверы могут быть абсолютно другие, но небольшие 28BYJ-48 являются очень удобными. Они не настолько мощные, хотя мне хотелось бы построить плоттер, который будет намного быстрее когда-нибудь. Двигатели рассчитаны на 5 В, но я с радостью проигнорировал это и предоставил им без проблем ток, между 5-9 В. Они очень грелись, но я еще не сжег электронику.

Модуль micro-sd-card напрямую подключается к Arduino, либо через штырьки SPI-интерфейса, либо цифровые контакты 10-13.

ИК-приемник TSOP 4838 также прекрасно подключается напрямую к Arduino.

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

Я бы очень рекомендовал, чтобы вы строили и тестировали одну вещь за раз. Не собирайте все, и не надейтесь сразу запустить плоттер. Я бы рекомендовал сделать следующее:

  • Начните с тестирования ИК-приемника. Используйте пример IRRecvDump, который поставляется с библиотекой IRRemote. Вам в любом случае понадобиться это для записи ваших кодов с пульта.
  • Проверьте свой серво. Например, используйте пример Sweep из библиотеки Servo.
  • Проверьте свою SD-карту. Играйте с примерами для библиотеки SD.
  • Испытание, контролирующее шаговые двигатели. Играйте с образцами для библиотеки Stepper.
  • Когда вы почтуствуете себя комфортно с вышеуказанными частями, запустите программу плоттера на Arduino, а затем соедините все компоненты. (не собирайте и ничего не делайте)
  • Включите Arduino и посмотрите, что произойдет. Если все работает, сервопривод должен немного прокрутиться сразу после включения питания.
  • Попробуйте управлять серводвигателями с пульта, убедитесь, что вы выяснили, какой шагомер оставлен и что правильно. Убедитесь, что вы подключили их так, чтобы кнопка «REEL_IN» на самом деле тянула нить на себя, а не наоборот. Я даю вам 50% шанс, что вам нужно будет перевернуть положение контактов в программном или аппаратном обеспечении. (не стоит беспокоиться, вам просто нужно переставить коннекторы.
  • Когда вы поймете, что все вышеперечисленное работает правильно вы готовы собрать все конструкцию в форму и попробовать, ее работу у стены!

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

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

Все программное обеспечение доступно здесь, в GitHub или (Зеркало). Я прошу прощения за состояние кода. Возможно, я потрачу свое время что бы очистить его, но скорее всего, вы увидите код, прежде чем это произойдет. Мои извинения.

Программное обеспечение на плоттере делает две вещи:

  • Позволяет производить навигацию и настройку с пульта
  • Рисует содержимое файла a.svg, хранящегося на SD-карте.

Поскольку программная память на Arduino Uno довольно ограничена, было много уродливых быстрых решений, которые использовались для ввода кода в память. Это был особенно хороший вариант для первого плоттера, которому не хватало SD-карты, и графику также необходимо было загружать непосредственно в Arduino. Анализ s.svg чрезвычайно ограничен и может обрабатывать только пути с линиями (без кривых) и требует, чтобы он был конкретным диалектом. svg, который я использовал для вывода (INKSCAPE).

Файлы .svg хранятся в папке верхнего уровня SD-карты как 1.svg, 2.svg и т. Д. Выбранный файл выбирается нажатием соответствующей кнопки на пульте дистанционного управления. Это позволяет мне подготовить плоттер с несколькими картинками, которые я могу быстро нарисовать на доске.

IDE Arduino используется для построения и программирования контроллера. Единственной дополнительной библиотекой является IRRemote (by shirriff).

Создание файла с плагином.

Существует, вероятно, сотни способов создания файла a.svg, который будет отображаться, но я опишу один здесь:

  • Использовать INKSCAPE
  • Нарисуйте все, что хотите, и преобразуйте его в пути «Path->Object to path»
  • Выберите «Edit paths by nodes (F2)»
  • Выберите все отдельные пути и узлы. Ctrl-A два раза
  • Преобразовать в строки с помощью «Extensions->Modify Path->Flatten Beziers»
  • Сохранить как «Inkscape SVG»
  • Запуск в симуляторе, см. Ниже

Симулятор.

Еще кое-что! Существует симулятор. Более или менее обязательный для проверки работы проекта, который вы хотите сделать, прежде чем попытаетесь его распечатать. В основном это необходимо, так как ssg-parsing настолько плох, что шансы высоки, что-то не будет правильно интерпретировано в плоттер.

Симулятор работает, компилируя код плоттера для osx или linux и заменяя вызовы «digitalWrite» печатью на stdout (timestamp, pin, state), которая затем передается в интерфейс визуализации.

Симулятор был написан после того, как у меня была ошибка, из-за которой 2-часовой проект слетел кого было готово уже 95% или около того. Я был расстроен из-за того, что произошло, и понял, что мне нужен способ отладки. Проблема оказалась в ошибке разбора поплавка, вызванной одним номером в .svg, имеющим смешные количества десятичных знаков. (Я сделал свой собственный синтаксический анализ, поскольку библиотечные функции не поместились в памяти). Это была большая ошибка, и это заставило меня сделать симулятор.

Использование симулятора при разработке может во многом помочь. Его можно запустить гораздо быстрее, чем в реальном времени, что очень удобно. Также он выводит, как долго проект будет выполняться при запуске в реальном времени. Рядом с кодом симулятора есть readme о том, как его использовать.

Будущие улучшения.

Вот список того, что я хотел бы улучшить:

  • Остановка parsing.svg на плоттере, получение хорошего парсера на компьютере и вместо этого создание хорошего формат для плоттера.
  • Стабильная работа, текущее программное обеспечение только читает один сегмент вперед, который иногда слишком мал, если небольшой поворот превращается в резкий.
  • Модуль или какой-либо тип обратной связи, чтобы избежать потери при пропущенных шагах.
  • Написание чистого кода.
  • Использование WiFi-контроллера для использования со смартфоном.

Итог.

Как вы, наверное, уже поняли, я потратил довольно много времени с этим проектом, в основном, это было давным-давно. Я по-прежнему считаю, что это весело, и у меня много идей о том, что нужно улучшить, новые вариации и новые стены для украшения. Однако у меня просто нет времени, есть так много других проектов и вещей, таких как семья и работа.

Мне бы очень понравилось, если многие из вас, пользователей в Интернете, получат знания, прочитав это и это перерастет во вдохновение для ваших собственных проектов. Я также был бы рад, если бы кто-нибудь из вас построили ваши собственные плоттеры и заставили их работать!

Хотя я думаю, что мне удалось создать минималистский плоттер, мне не удалось получить стоимость менее 10 долларов США, которую я поставил перед собой цель. Но поскольку части продолжают дешевле, возможно, через год или около того .

О, еще одна вещь. Пожалуйста, не ругайте меня за ужасный код. Он никогда не был написан для совместного использования, я был занят рисованием на стене в то время и не мог заботиться о коде. Я решил поделиться им в любом случае, поэтому будьте рады этому.

Источник

Читайте также:  Как обшить стены двп под обои
Оцените статью