Xy plotter robot kit инструкция

Introduction: XY Plotter Drawing Robot (Complete Hardware and Software Guide)

This is a complete guide on how to make a XY Plotter drawing robot with tips on hardware and step to step software setup. A detailed .pdf manual and the .stl files of the 3D printed parts are also included in the project .zip file. The project was based on other projects with some changes . The manual is really useful if you wanna build this project as it includes troubleshooting and configuration tips.

Supplies

Bellow there is an index of the hardware required to develop a XY Plotter robot. Note that there are many variations of the hardware used in various robots, so this is not an exclusive list. This is the list of the hardware used to develop the robot of this manual as well as links to the products. These parts are widely available so there is no need to put links next to each product. Pay attention to the model of the steppers and the motor arduino shield

·       Arduino Uno

·       L293D Motor Driver Shield — Expansion Board For Arduino

·       2 x Nema 17 Stepper Motors

·       Micro Servo Motor

·       12v 2A PSU

·       2m String Roll

·       2x Paper Grip Clips

·       Black Drawing Canvas

·       Fishing weights

·       Some jumper cables

·       Type B USB to USB (at least 2m)

Furthermore, for the needs of the project, some 3d printed parts were used. To be precise, the most 3d parts were used from the project of Met Arduino at Instructables.

Notes

·The fishing weights are used because they come in many sizes and forms and they are cheap, so this gives a freedom to experiment on what weight best suites each robot and its needs, so they are highly recommended.

·The stringed roll is used for convenience purposes. Instead of Stringed roll, a timing belt for motors can be used. Theoretically a timing belt with a proper aluminum timing pulley for the motors gives the robot a better accuracy, but practically for a simple project there is no big difference since the parameters can be tuned via the firmware which is explained later in the documentation.

·If 3d printing is convenient, the paper grip clips can be skipped and replaced with some 3d printed custom parts to hold the paper steady. This is recommended because this way the steadiness of the paper can be increased and also 3d printed custom parts may take less space in the construction which is for the best.

·The choice of a drawing canvas as a base is meant for the prototype robot and to explore the possibility of the electrical components to be fit on the back so that the robot looks like a wall frame construction. A wooden back may be a sturdier choice, but it may increase the weight and cost of the built. The choice and the proportions of the back depend on the manufacturer. The choice of the drawing canvas although works fine. A white canvas can easily get dirty either during built or tests or other causes, that’s why a black colored canvas is preferred.

·The 3D printed pulleys for the cords come with some disadvantages. They can be damaged and corrupt easily resulting in losing steps from the motors and not rolling as they are supposed to. Also they may need to be custom designed to the cord used so they have sufficient space for each step of the cord.

Step 1: 3D Printed Parts

Some of the supplies mentioned above can be replaced with 3D printed parts, it depends on what you would like. But 3D parts will make your life easier in some parts.

Step 2: Assembly

The assembly part of the built is not that tricky but there are some things that need attention which will be explained. For a better understanding it is obvious that a visual aid will help a lot ,so it is recommended to also look in parallel this video by MERT Arduino & Tech which also was the base for this project. Make sure all the parts are gathered before assembly. Since the XY Plotter robots are named after the 2 axis and 2 motor principle applied, such robots can be built with different dimensions and hardware so unavoidably each built needs its own tuning and setup as for the assembly and parts except for the basic concept and assembly.

Step 3: Electronics & Motors

The motors we are using have 2 coils and each one outputs 2 wires. You can check the motors schematic to find the 2 pairs of wires. Another way is to use a multimeter. Once you do you need to connect them to the Arduino shield, which should be connected to the Arduino board. If the motor cables have any pins installed it is better if they are cut so there is complete access to the wires. It is also practical that the wires are burned with some solder and a soldering gun so they can be installed to the shield more easily. At first do not fully secure the electronics because there might occur some changes to the wires so the right way can be found so that they move the right way with the firmware. It might take a few tries. The mini servo is also connected to the shield. The servo will probably have short cables, so they need to be extended with some jumper cables, otherwise it will cause problems to the functionality of the robot. The gondola needs to be free to move without any constraints. At last, make sure you have access to the board so you can use the serial port of the Arduino and the power input. The robot using the serial cable power alone will not function corrently. That’s why we need the 12v 2A power adapter. But you will need it after the assembly.

Step 4: Software Setup and Configuration

There is a community for such drawing robots for exchange of opinions, tips and questions. An open-source firmware has been developed for XY Plotter robots, called Polagraph. Also Arduino IDE and Processing needed. Before you download and install anything, some things need to be noted first.

Notes

·A good practice for the project is to make a VM environment using Virtual Box for example to setup all the requirements and not have any effect in your system, but this is optional.

· It is suggested that everything concerning this project should be in the same folder for practical reasons.

· Make sure your PC has Java and JDK installed and updated.

·  At the time this documentation is being written, many projects so far use Processing 1.5.1 version. But this version is not supported by Processing anymore and even if it can be found it has trouble when installed and compatibility issues with JDK. So, the next version is used which is Processing 2.2.1 and it is almost an one-way road as the next versions, by the time of this documentation, have problems also with the Polygraph firmware. Lastly, it needs to be noted that the project was set up, thus the following steps, in Windows.

· For the Project, it is suggested that older versions of Arduino are more compatible with the project. In this specific project, there was found some truth in this suggestion concerning the libraries that need to be setup in the next steps. It is checked that Arduino versions 1.8.19 and 1.0.5 work. But Arduino version 1.0.5 is the safer choice.

Detailed steps with photos are given in the PDF manual. It will save you precious time !

Step 5: Tips

In order to achieve good runs, you will need to make many tests to figure out the right settings for your machine. Try to make your values as precise as possible when configuring your machine in the Polagraph GUI. It is expected to have many obstacles concerning mostly the hardware. Try to have as less as possible loose parts, especially the motors and the pulley because it can easily lose steps due to malfunction and ruin the robot’s performance. Since in the making of this project there was not a compact place for FAQ’s and answers, this documentation provides solutions to many cases for troubleshooting. Further answers can be found in the Polagraph Forum.

Final notes & Tips

·The hardware can get really heated, especially the motors. It is suggested that after the built, some kind of cooling is installed. For this project a future cooling system with fans is going to be installed cause this kind overheating can cause damage to the robot.

·Before buying the components needed, it is suggested to pay attention to the details and give the project a good thought. This can save you from many obstacles in the future.

Вступление

Привет, ребята, новый XY Plotter идет! Мы обновили XY v1.0 за последние 2 месяца. Более прочная конструкция, супер легкий драйвер шагового двигателя и совместимость с лазерной головкой — Makeblock XY-Plotter v2.0 является полностью обновленной версией XY-плоттера. С Arduino и GRemote Вы можете рисовать удивительные картинки.

Инструкция покажет вам, как собрать XY Plotter 2.0 и как запустить его с Gremote.

Вы можете получить полный комплект здесь, http://www.makeblock.com/xy-plotter-robot-kit

Для получения программного обеспечения посетите веб-сайт http://github.com/Makeblock-official/XY-Plotter-2 …, чтобы загрузить последнюю версию. Вся структура основана на Arduino.

Если у вас есть какие-либо вопросы, пожалуйста, оставьте свой вопрос ниже этой инструкции. Мы дадим ответ в miuntes.

Давай начнем!

Расходные материалы:

Шаг 1: Список материалов и Список инструментов

Вы можете получить полный комплект здесь, http://www.makeblock.com/xy-plotter-robot-kit

Список механических частей:

Список электроники:

Шаг 2: Постройте рамку и ось Y

Список материалов,

Procudures,

1. Во-первых, давайте установить 3×6 луча в качестве держателя опоры на beam0824, мы используем винт M4x14 ADN гайка M4 x8.

2. Соедините луч 2424 и луч 0824 с помощью винта М4х30. Повторите это дважды, вы получите кадр.

3. Установите блок скольжения линейного перемещения на вал и закрепите вал на раме с помощью винта M4x30.

Шаг 3: Построить ось X

Список материалов,

Процедуры,

1 & 2. Постройте левую платформу. Две платформы используются для соединения осей X и Y. Все, что вам нужно, это Beam0824 48, 128, 144 и некоторые болты и гайки.

3. Соберите «молитвенное колесо». Сначала закрепите зубчатый шкив 18T с помощью установочного винта M3 без головки на валу 80 мм. Когда вы закончите, порядок деталей должен быть таким: 18T-> втулка вала-> фланцевый подшипник-> Кронштейн U1-> фланцевый подшипник-> втулка вала.

4. Закрепите «молитвенное колесо» на резьбовой канавке левой платформы.

5 & ​​6. Постройте правильную платформу. Обратите внимание, что есть небольшая разница между левой и правой платформой.

7. Закрепите шаговый двигатель на кронштейне шагового винта с потайной головкой M3x8.

8 и 9. Установите шаговый двигатель на правой платформе. И зафиксируйте зубчатый шкив 18T на шаговом двигателе.

10. Поместите блок скольжения на вал и зафиксируйте вал оси X на платформах.

Шаг 4: Установите первый микропереключатель

Список материалов,

Процедуры,

Шаг очень легкий. Тем не менее, есть еще два момента, на которые нужно обратить внимание:

1. Пожалуйста, установите микровыключатель в правильном направлении.

2. Расстояние между краем луча 2424 и кронштейном LS должно составлять около 46 мм. Это обеспечило бы, чтобы блок скольжения касался микровыключателя при его перемещении к краю.

Шаг 5: Установите коробку передач

Список материалов,

Процедуры,

Нам нужно больше «молитвенного колеса» здесь, пожалуйста, следуйте второй картинке, чтобы закончить шаги. Напомним, что вы можете обнаружить, что на D-образном валу есть плоскость (именно поэтому мы назвали его «D-валом»), вам нужно завинтить установочный винт без головки на этой плоскости, чтобы зафиксировать зубчатый шкив 18T.

Шаг 6: Установите ремень ГРМ

Список материалов,

Процедуры,

На этом этапе мы используем «Соединитель ремня», чтобы зафиксировать ремень ГРМ. Вы можете обнаружить, что на каждой стороне разъема есть зазор. Ремень ГРМ должен пройти через этот зазор.

Шаг 7: Установите Stepper Motro для оси Y

Список материалов,

Процедуры,

1. Установите гибкую муфту на вал M4. Обратите внимание, что между U-образным кронштейном и гибкой муфтой имеется пластиковое кольцо.

2. Установите держатель степпера на балку 2424. Длина должна быть около 53 мм.

3. Закрепите степпер на кронштейне и установите всю конструкцию на держатель.

Шаг 8: Соберите структуру подъема ручки

Список материалов,

Процедуры,

1. Закрепите 9-граммовый Micro Servo на акриловых сервосрезах с помощью винтов и гаек M2.

2. Установите сервопривод на балку 0824 80.

3. Установите балку 0808 с резьбовым валом. Пожалуйста, следуйте инструкциям на картинке. Вы можете обнаружить, как сервопривод работает, чтобы поднять ручку.

4. Найдите винт М4 х30. Зажим ручки с балкой 0824 и винтами.

5. Установите всю конструкцию на оси X.

Шаг 9: Установите другие микропереключатели

Список материалов,

Процедуры,

1. Закрепите микровыключатели на кронштейнах LS.

2. 2 из этих микровыключателей должны быть установлены на конструкции подъема ручки. Еще один должен быть зафиксирован на балке 2424

Шаг 10: Установите электронику

Список материалов,

Процедуры,

Пожалуйста, следуйте рисункам, чтобы установить эту электронику.

Теперь все работы по сборке выполнены! Далее давайте подключим кабели.

Шаг 11: подключите кабели

Так много кабелей! Не нервничай, следуй инструкции, это будет очень легко. Тем не менее, всегда есть что-то, что вам нужно знать,

1. Что касается степперов, не перепутайте порядок кабелей. Вы можете найти правильный порядок на фотографиях.

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

Шаг 12: Нарисуй первую картинку

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

подготовка

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

Пакет состоит из программного обеспечения (прошивки Arduino и GRemote), инструкции по сборке конструкции и полной инструкции по программе.

2. Загрузите и установите Arduino-1.0.5, http://arduino.cc/en/Main/Software.

3. Подключите плату Me к компьютеру с помощью кабеля micro USB.

4. Откройте GCodepraser-> GCodeParser.ino в Arduino IDE. Нажмите Инструменты-> Последовательные порты, выберите COM XX (не COM1 и COM2). Нажмите Инструменты-> Доски, выберите Arduino Leonardo. Наконец, нажмите кнопку «Загрузить» в левом верхнем углу.

5. Закройте Arduino IDE, откройте GRemoteFull-> GRemote.bat.

6. Установите COM-порт, затем GRemote покажет вам интерфейс в качестве второго изображения. Это все для этой части.

7. Теперь вы можете управлять XY-Plotter 2.0 с помощью мыши и клавиатуры. И вы также можете запустить его с Gcode. Вы можете создать файл Gcode с помощью другого программного обеспечения (dxf2gcode (http://code.google.com/p/dxf2gcode/) или любого другого). Вы должны сохранить файл Gcode с помощью .cnc и открыть его с помощью GRemote.

Попробуй нарисовать свой кулак

Нажмите кнопку «ОТПРАВИТЬ ФАЙЛ» и выберите файл G-кода «demo / fish-карандаша example.cnc».

, Затем плоттер автоматически нарисует следующую картинку на бумаге.

Как сделать DIY

Если вы хотите изменить исходный код, вы можете найти его в GRemotFull / source / GRemote.pde.

1. Скачайте и установите Processing-2.1.2. http://processing.org/

2. Установите библиотеку Processing, controlP5 — скопируйте всю папку в C: Users xxx Documents Processing библиотеки

3. Откройте GRemote.pde, обработав, сделайте сам код и нажмите кнопку «Выполнить», чтобы проверить его.

Для получения более подробной информации, пожалуйста, обратитесь к полной инструкции программного обеспечения в упаковке.

Это все! На самом деле, рисование — это не единственное, что мы можем сделать с помощью Makeblock XY Plotter 2.0. Вы можете легко преобразовать его в мини-ЧПУ или лазерный гравировальный станок. Что касается ЧПУ, вы можете обратиться к http://blog.thisisnotrocketscience.nl/projects/makeblock-pcb-cnc-mill/

Что касается лазерного диода, вы можете купить его на Ebay, 200 МВт, достаточно синего диода.

Если у вас есть какие-нибудь вопросы,

1. Оставьте свой вопрос ниже этой инструкции, я дам ответ как можно скорее.

2. Отправьте свой вопрос по адресу [email protected].

Вы можете получить полный комплект здесь, http://www.makeblock.com/xy-plotter-robot-kit

Повеселись!!

Хотите приобщиться к миру робототехники, попробовать себя в конструкторской деятельности, и в итоге получить практичный результат? В таком случае набор XY-Plotter Robot Kit – это то, что вам нужно.

Показать описание полностьюСкрыть описание

Робот – «художник» из комплекта XY-Plotter своими руками

Комплект XY-Plotter Robot Kit – стартовый набор для создания собственного умного робота-«рисовальщика». Ваш робот сможет перемещать ручку или другой инструмент для рисовки цифровых изображений на плоских поверхностях.

Множество разнообразных деталей

Этот комплект состоит из более 60 видов компонентов от Makeblock, включая балки, кронштейны, моторы, и т.д.

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

XY-Plotter v2.0 можно управлять с помощью программного обеспечения 2, mDraw и Benbox.

mDraw – это разработанное Makeblock программное обеспечение с межплатформенным открытым исходным кодом. mDraw имеет совместимость с mDrawBot (mScara, mCar, mEggBot, mSpider), комплектом XY Plotter kit (режим серво, режим лазера).

Benbox – совместим с обоими режимами комплекта XY Plotter kit – режимом серво и режимом лазера. Преимущество использования Benbox заключается в том, что Benbox поддерживает полутоновые гравюры и представляет возможность редактировать рисунки и символы в программном обеспечении.

Высококачественные материалы

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

Полезные обновления

При добавлении дополнения Laser Engraver Upgrade Pack робот также может быть преобразован в лазерный гравер.

ВНИМАНИЕ!

Хотите дешевле? Для покупки товара по сниженной цене — авторизуйтесь

Причина уценки
использовался в ДЕМО; в собранном виде, упаковки нет, сильно б/у, только для продвинутых робототехников Смотреть

Набор XY плоттера XY Plotter Robot Kit V2.0 – это набор для создания робота для рисования цифровых изображений на плоской поверхности ручкой или другим инструментом. Набор также можно использовать, как лазерный гравер, добавив ресурсный набор лазерного гравюра. Набор плоттера XY Plotter Robot Kit V2.0 состоит из более 60 видов компонентов от Makeblock, включая балки, кронштейны, двигатели и т. д. Плоттер XY Plotter V2.0 управляется с помощью 2 программ: mDraw и Benbox.

mDraw — межплатформенное ПО с открытым исходным кодом, разработанное компанией Makeblock

Совместимость: mDrawBot (mScara, mCar, mEggBot, mSpider), комплект плоттеров XY (режим сервопривода, лазерный режим)

ОС: Windows, Mac

Поддерживаемый тип файла: *.svg, *.bmp (конвертировать в *.svg)

Benbox совместим как с сервомеханизмом, так и с лазерным режимом плоттера XY. При этом Benbox поддерживает гравюру в масштабе серого, а также редактирует цифры и символы в ПО.

Состав:

  • Балка 0824-16 – 1шт;
  • Балка 0824-48 – 4шт;
  • Балка 0824-80 – 1шт;
  • Балка 0824-96 – 4шт;
  • Балка 0824-112 – 2шт;
  • Балка 0824-496 – 2шт;
  • Балка 0808-80 – 1шт;
  • Балка 2424-504 – 2шт;
  • Крепление 3×3 – 2шт;
  • Пластина 3×6 – 5шт;
  • U-образное крепление – 5шт;
  • Соединитель ремня – 3шт;
  • Крепление для шагового мотора 42BYG– 2шт;
  • Микросервомотор 9g – 1шт;
  • Стопорная втулка 4 мм – 10шт;
  • Гибкая муфта 4×4 мм – 1шт;
  • Линейный вал движения D8X496mm – 4шт;
  • Линейный подшипник качения 8 мм – 6шт;
  • Подшипник с фланцем 4x8x3 мм – 10шт;
  • Универсальная отвертка 2,5 мм – 1шт;
  • Крестовая отвертка 3 мм – 1шт;
  • Шестигранный ключ 1,5 мм – 2шт;
  • Гаечный ключ 7 мм – 1шт;
  • Гайка M4 – 50шт;
  • Винт с потайной головкой M3x8 мм – 10шт;
  • Винт без шляпки M3x5 – 26шт;
  • Пластиковая заклепка R4060 – 16шт;
  • Пластиковых заклепок R4100 – 6шт;
  • Кабель 6P6C RJ25 35 см – 1шт;
  • Кабель 6P6C RJ25 50 см – 2шт;
  • Блок питания с адаптером 12 В постоянного тока – 1шт;
  • Кабель USB A-Male to B-Male – 1шт;
  • Крепление для базовой платы – 1шт;
  • Датчик нажатия Me Micro Switch A – 4шт;
  • Кронштейн для микро-сервопривода 9g – 1шт;
  • Направляющий вал D4x512мм – 1шт;
  • Направляющий вал D4x80мм – 1шт;
  • Гайка M2 – 3шт;
  • Винт с крестообразной головкой M2 × 10 – 3шт;
  • Винт крышки M4 × 14 – 30шт;
  • Винт крышки M4 × 16 – 28шт;
  • Винт крышки M4 × 22 – 12шт;
  • Винт крышки M4 × 8 – 36шт;
  • Комбинированное соединение 3 – 6шт;
  • Нейлоновые кабельные стяжки 2 х 100 – 30шт;
  • Резиновая лента фиксирующая – 5шт;
  • Плата Me Orion (на основе Arduino UNO) – 1шт;
  • Драйвер мотора Me Stepper – 2шт;
  • Адаптер RJ25 – 3шт;
  • Кабель 6P6C RJ25 -20 см – 2шт;
  • Зубчатый шкив 18T – 6шт;
  • Незамкнутый приводной ремень (1,3 м) – 3шт;
  • Направляющий вал D4x56 мм – 2шт;
  • Резьбовой вал 4×39 мм – 1шт;
  • Винт крышки M4 × 30 – 18шт;
  • Кольцо пластиковое 4x7x2мм – 20шт;
  • Шаговый двигатель 42BYG – 2шт.

Время на прочтение
7 мин

Количество просмотров 94K

Фотография плоттера с листом бумаги, на котором рисунок

О конструкторе Makeblock я узнал уже после того, как завершилась его кампания на кикстартере. А жаль, поскольку был шанс приобрести наборы конструктора по достаточно низкой цене. После удачной кампании авторы продолжили развивать свои идеи и создали набор для плоттера —

XY-Plotter Robot Kit v2.0

. Мне он обошелся в $300 с бесплатной доставкой через EMS в рамках акции «накупи на $500».

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

Circuit Scribe

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

Доставка

Подробности доставки

Плоттер продается в виде набора «собери сам». Вес посылки — несколько килограмм, поэтому доставка может обойтись дорого. Но я нашел китайский сервис Seeed, который при заказе на $500 высылает бесплатно через DHL / EMS. Кроме плоттера я взял у них лазерный резак, Raspberry Pi и несколько шилдов для Arduino, вписавшись в указанную сумму и убедив себя, что в будущем все это мне обязательно пригодится.

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

Разобранный Makeblock плоттер

Сборка

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

Проблемы сборки

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

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

Короткий ролик о сборке плоттера (из интернета)

Собранный Makeblock плоттер

Механика

Принцип перемещения по XY

Рабочей частью плоттера является платформа с карандашом, скользящая по направляющим осям. Чтобы понять, как эта платформа перемещается, взгляните еще раз на фотографию выше.

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

Принцип опускания и поднимания карандаша

Принцип опускания и поднимания карандаша я понял только под конец сборки:

Платформа с карандашем плоттера Makeblock

Карандаш жестко крепится к планке, а планка крепится на ось. Планка делится осью на два плеча — на одном карандаш, а на другом крепится резинка так, чтобы планка прижимала карандаш к бумаге. «Лопасть» сервопривода имеет два рабочих положения: вертикальное, в котором «лопасть» поднимает планку, не давая ей прижимать карандаш к бумаге, и горизонтальное, в котором «лопасть» не препятствует планке прижимать карандаш к бумаге.

Вдоль оси крепления планки существует люфт, который приводит к «дрожанию» линий. Мне удалось его убрать, добавив резинку, прижимающую планку к платформе.

Электроника

Электронные блоки и их соединение

Управляющим компонентом плоттера служит плата на базе Arduino Leonardo. Ее особенностью является встроенная поддержка для USB соединения с компьютером. Если обычно Arduino сбрасывается при налаживании нового последовательного соединения с компьютером, то Arduino Leonardo сохраняет свое текущее состояние, а значит с плоттером можно соединяться сколько угодно раз, сохраняя все настройки (прежде всего — нуля в XY).

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

Электронные компоненты плоттера Makeblock

Поиск оптимального микрошага двигателей

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

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

Сравнение качества получаемого изображения от количества микрошагов в шаге

Как видно из этой картинки, самое лучшее качество дает 1/8 и 1/4 шага. Далее оказалось, что при разрешении 1/8 шага один из двигателей начинает буксовать и «терять» микрошаги из-за нехватки крутящего момента. Увеличение силы тока до максимума только немного улучшило положение, поэтому победителем вышел режим 1/4 шага. Кстати, в режиме микрошагов двигатель шумит заметно меньше!

Сравнение качества получаемого изображения от количества микрошагов в шаге

Управление

В конце сборки необходимо запрограммировать управляющую плату плоттера. Программа реализует трансляцию так называемого G-кода, в котором комманды перемещения карандаша записаны в текстовом виде.

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

Чтобы выслать плоттеру G-код на исполнение, необходимо подключиться к его управляющей плате через USB кабель и открыть последовательное соединение. Для Windows это будет какой-нибудь COM3 или COM4 порт, для MacOS это что-нибудь вроде /dev/tty.usbmodem1421

Интерфейс пользователя

Интерфейс пользователя программы управлением плоттером Makeblock Авторы конструктора написали программу на Java, открывающую соединение с устройством и позволяющую управлять карандашом с помощью клавиш-стрелок, устанавливать нулевое положение, задавать разрешение по осям и высылать G-код, записанный в файле.

Программа изначально рассчитана на Windows, но после загрузки нужной библиотеки запускается и под MacOS.

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

Скрипт на Python

###############################################################################

import serial, re, time
import sys, argparse

SERIAL = "/dev/tty.usbmodem1421"

parser = argparse.ArgumentParser(description = "G-code file sender")
parser.add_argument("--input",  help = "file to send", required = True)
args = vars(parser.parse_args())

###############################################################################

def send(stream, command):
    if command[-1] != "\n": command += "\n"
    sys.stdout.write("<= " + command)
    stream.write(command)
    while True:
        s = stream.readline()
        sys.stdout.write("=> " + s)
        if s[0] != "#": break

fin = open(args["input"])

stream = serial.Serial(SERIAL, 115200)

send(stream, "$1 X8 Y12 Z21")
send(stream, "$2 X11 Y13 Z9")
send(stream, "$3 X22 Y19 Z22")
send(stream, "$4 X23 Y18 Z23")
send(stream, "$6 X88.0 Y88.0 Z40.0") # set axis resolution
send(stream, "G90")
send(stream, "G21")

for s in fin:
    s = re.sub(r"\([^)]*\)", r"", s)
    if s.strip(): send(stream, s.strip())

fin.close()

###############################################################################

Модификация программы

Программа для управляющей платы плоттера воспринимает X, Y и Z как три оси, движение по которым задается в миллиметрах. Но дело в том, что ось Z на самом деле задается углом вращения сервопривода! В моем случае 90 градусов означает опущенный карандаш, 60 градусов — поднятый. В итоге поднятие и опускание карандаша занимает, с точки зрения программы, столько же времени, сколько рисование линии в (90 — 60) => 30 мм! Карандаш опускается и ждет, потом рисует линию, потом поднимается и ждет. Мало того, что изображение рисуется дольше (как будто к каждому непрерывному пути добавляется 30 мм), но простаивание маркера или линера на бумаге добавляет толстые точки в начале пути. Программу пришлось модифицировать, сжав расстояния по оси Z:

long calculate_feedrate_delay(float feedrate)
{
    //how long is our line length?
    float distance = sqrt(delta_units.x*delta_units.x + delta_units.y*delta_units.y + delta_units.z*delta_units.z / 100.f);
    ...
}

Результат

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

Выбор смазки и ремонт

Судя по этой статье, самой лучшей смазкой является взвешенный в масле тефлон. Ее производят в США под маркой Super Lube. На втором месте — синтетические трансмиссионные масла (автомобильные?). Пока не пришла тефлоновая смазка, я попробовал отечественное машинное масло, но оно не сильно помогло.

Подшипники на замену я заказал на eBay по $2.55 за штуку, всего шесть штук. Направляющие оси оказались гораздо дороже, поскольку они сделаны по специальному заказу, но я решил их не менять, а провернуть, чтобы сместить борозды с путей подшипников.

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

Заканчивая статью, я все же рискну и отрисую несколько рисунков в менее точном режиме 1/2 шага, не дожидаясь комплектующих и смазки. Изображения сделаны линером с шириной линии 0.3 мм

Сравнение рисунка плоттера с линейкой

Образец рисунка плоттера: приветствие

Образец рисунка плоттера: лабиринт

Понравилась статья? Поделить с друзьями:
  • Xy lpwm3 инструкция по применению
  • Xy j02 инструкция схема подключения
  • Xxl cream for men инструкция по применению
  • Xr70cx инструкция на русском dixell
  • Xy auto магнитола инструкция по применению на русском