Яйцебот 2

 

290312 002

3D принтер "Люмен"

 

lumen sm

3D сканер

 

3dscan

ЧПУ Выжигатель

 

woodburner

Контроллер Lumentino

 

lumentino sm

Электроника

Настала очередь заняться электронной начинкой. Как уже было сказано в статье о первой версии Яйцекраски, вся электроника состоит из трех частей: контроллера, драйвера двигателей и блока питания. 

Контроллер и блок питания мы не трогаем, а вот с драйвером двигателей надо что-то делать, так как он может управлять моторами с нормальным током 0,6 А, а мои новые шаговики рассчитаны на 1А.

У меня было несколько путей на устранение данной проблемы:

  • замена драйвера на более мощный
  • доработка существующего (а у меня, как вы помните, M-Shield для Arduino)
  • ограничение мощности моторов

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

2. Второй вариант всплыл недавно, оказалось, что можно доработать данную плату (M-Shield), увеличив выходной ток в 2 раза. Нужно всего лишь напаять поверх самих микросхем драйверов (293D) такие же параллельно, т.е. всего понадобится 2 таких микросхемы, паяльник и немного сноровки.

 

3. И третий вариант, на котором я остановился как на самом недорогом (~24руб) - это ограничение тока моторов с помощью резисторов, включенных последовательно обмоткам. Конечно, этот вариант уменьшает их крутящий момент, но как показывают результаты испытаний, этот параметр вполне удовлетворяет нашим задачам даже в таком "уменьшенном" виде. Другими словами, моторы крутятся, фломастер рисует, ничего не проскальзывает. Так как сопротивление обмоток моих моторов составляет 6 Ом, а заявленный рабочий ток 1 А, то увеличив сопротивление в цепи обмотки в 2 раза, мы уменьшим ток в ней также в 2 раза. Т.е. если последовательно с обмоткой подключить резистор на 6 Ом, ток составит 0,5 А. Я остановился на резисторах в 5 Ом. Мощность их лучше взять побольше, 2-х ваттные сильно греются, поэтому оптимально использовать 5-ти ваттные (или скомбинировать несколько 2-х ваттных, рассчитав их номинал).

 

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

 

Вложения:
Скачать этот файл (rezistors_plate.svg)rezistors_plate.svg[Эскиз платы для ограничительных резисторов]34 Kb03/15/12 21:57

Прошивка

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

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

 1. Arduino Stepper/Servo software library with microstepping support - для установки библиотеки распакуйте содержимое, переименуйте каталог в AFmotor и положите в папку Arduino/libraries. Проверьте, в корневике папки AFmotor должны находиться кроме прочих файлы с расширениями *.h и *.cpp. Это основная библиотека от разработчиков схемы драйвера двигателей.

2. AccelStepper library with AFMotor support - дополнительная библиотека для управления шаговыми двигателями с поддержкой увеличения/уменьшения скоростей и псевдопараллельной обработкой команд движения. для установки библиотеки распакуйте содержимое, переименуйте каталог в AccelStepper и положите в папку Arduino/libraries. Проверьте, в корневике папки AccelStepper должны находиться кроме прочих файлы с расширениями *.h и *.cpp. Одно из главных отличий этой библиотеки состоит в том, что она сама рассчитывает скорости вращения моторов в зависимости от путей, которые должны быть пройдены по одной и другой координате. Таким образом мы можем получать диагональные линии под любыми углами. Псевдопараллельность заключается в том, что моторы делают шаги по необходимости поочереди, т.е. лесенка все же присутствует. Но, судя по всему, шаговые двигатели они на то и шаговые, чтобы ходить шагами, а не плавать плавно, словно лебеди. Наша задача лишь добиться использования минимального шага из тех, что нам предоставляют имеющиеся моторы и драйвера.

Привожу две версии библиотеки AccelStepper, одна с переменной скоростью перемещения по осям (как в оригинале), другая - с постоянной скоростью. Первая конечно более интересная, динамичная, интересно даже смотреть, как скорость вращения то увеличивается, то уменьшается, звуки также прикольные, в общем здорово. Однако есть и минус. Если нужно переместиться на достаточно большую величину, на первом этапе, когда скорость большая, наблюдается искажение диагональной линии (волной), потом, когда скорость падает, линия получается ровной. Поэтому и были внесены очередные изменения в библиотеку, где в итоге мы имеем постоянную скорость на всем протяжении линии. Это дает нам больше контроля над точностью воспроизведения рисунка. Рекомендую использовать библиотеку с постоянной скоростью. Обе версии библиотеки находятся в архиве с прошивкой 6.12. Новые прошивки будут работать с постоянной скоростью.

Последние изменения в прошивках:

6.13 - Были внесены изменения в библиотеку AFmotor для корректировки работы микрошагового режима. Начиная с этой версии в архиве с прошивкой также будут упакованы текущие версии обоих библиотек (AFmotor и AccelStepper). Удалите прежние библиотеки и затем скопируйте новые. Теперь яйцекраска работает в восьмикратном микрошаговом режиме. Разрешение эскиза 1600 х 400 точек(мм). Внесены изменения в расчет скорости. Известный недостаток - небольшая потеря шагов на высоких скоростях.

6.12 - Добавлена пауза 1 мин между слоями. Теперь, рисуя эскиз несколькими цветами и поместив их в разные слои, можно сменять карандаш во время паузы. Работа в полушаговом режиме. Разрешение 400 х 100 точек (мм).

 

Вложения:
Скачать этот файл (Eggbot2_6_12.zip)Eggbot2_6_12.zip[Прошивка для Яйцебот-2 с полушаговым режимом с библиотекой AccelStepper (AFmotor оригинальная)]123 Kb03/31/12 20:09
Скачать этот файл (Eggbot2_6_13.zip)Eggbot2_6_13.zip[Прошивка для Яйцебот-2 с микрошаговым режимом с библиотеками]75 Kb03/31/12 20:02

Программы

Основные программы, которые нам понадобятся, можно посмотреть или скачать здесь: Inkscape, Inkscape unicorn plugin, Sender.

Ниже находится описание дополнительных расширений для Inkscape для подготовки вашего дизайна к печати на Яйцеботе.

Чтобы установить расширения, нужно распаковать файл (Eggbot2.2.1.zip) в папку с расширениями Inkscape (..\Inkscape\share\extensions\) и перезагрузить Inkscape.

Коллекция разделена в Inkscape на 2 части: Eggbot и Eggbot Contributed. Попробуем разобраться, как все это нам пригодится.

Eggbot:

  • Eggbot Control - Управление eggbot-ом, к сожалению не нашим. Эту функцию опускаем и не трогаем.
  • Preset hatch for fills -
  • Reorder Paths for speed -
  • Strip Eggbot Data -

Eggbot Contributed:

  • Eggmazzing - рисует лабиринты различной сложности.
  • Hatch fill - Имитация заливки параллельными линиями. Очень полезная вещь.
  • Name Poem -
  • Post Process trace bitmap -
  • Spiral Wrapped Text -
  • Stretch -
  • Twist -

Продолжение следует...

 

Вложения:
Скачать этот файл (Eggbot2.2.1.zip)Eggbot2.2.1.zip[Коллекция расширений для Inkscape для Eggbot]188 Kb03/22/12 09:59
Скачать этот файл (HersheyText_1.00.zip)HersheyText_1.00.zip[Шрифт для яйцебота (англ)]69 Kb03/22/12 10:01

Двигатели

Обзавелся новыми шаговыми двигателями для нового яйцебота-2. Как и упоминал в статье о первой версии данного устройства, эти двигатели имеют меньший шаг, который составляет 1,8 градуса (а в полушаговом режиме всего 0,9) и обладают большей мощностью. При всем этом у них такой же посадочный размер в 42мм.

С сервоприводом проблем нет, остается тот же: Servo SG-90.

 

 

Вложения:
Скачать этот файл (17PM-K.pdf)17PM-K.pdf[Даташит на линейку данных моторов]203 Kb02/26/12 22:35

Конструкция

Конструкция второй версии Яйцебота в корне отличается от первой. Она кажется мне более удобной. Источник здесь, лицензия здесь.

Весь Eggbot состоит из 6 основных деталей, которые скреплены шпильками М4 и М6, а также узла держателя карандаша, состоящего из 3-х частей. Кроме того, добавляются еще 2 части для удержания яйца. Детали изготавливаются из пластика ABS на 3D принтере.

Теперь доступны 3D модели деталей Яйцекраски этой версии.

 Добавил файлы с 3D моделями держателей плат ограничительных резисторов и платы Arduino.

 

 

Вложения:
Скачать этот файл (arduino_rez_holder.zip)arduino_rez_holder.zip[3D модели (STL формат) для печати держателей плат]50 Kb03/15/12 22:07
Скачать этот файл (egg_3dmodels.zip)egg_3dmodels.zip[3D модели деталей яйцебота для печати на 3D принтере (формат STL)]195 Kb03/08/12 11:50

Тестируем!

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

Программное обеспечение для рисования и отправки его на Яйцебот было описано в статье Программы ранее. В новой статье выложено описание и ссылки для еще нескольких расширений Inkscape, которые выполняют ряд интересных функций для подготовки вашего дизайна для печати на Яйцекраске. Эти расширения взяты с сайта разработчиков "Original eggbot" для управления своим устройством. Имеено этот эггбот послужил прототипом конструкции яйцебота-1. Мы к сожалению не сможем напрямую управлять яйцеботом из Inkscape (разные системы команд), однако уверен,что набор инструментов, представленный данными библиотеками, будет нам очень полезен. Для скачки переходим сюда.

 

Можно отметить, что вначале точность второй версии eggbot-а была выше, чем у Яйцебота-1 практически в 4 раза. Т.е. если раньше рисунок для печати приходилось укладывать в размер 96х24 точки, то сейчас этот размер составляет 400х100 точек. (В Inkscape размер области 400х100 мм) Примерный шаг на яйце получается около 0,3 мм.

Пасхальное яйцоПасхальное яйцоПасхальное яйцо Лабиринт

Пасхальное яйцо Кот СаймонаПасхальное яйцо Кот СаймонаКапиллярные ручки

Однако с версии прошивки 6.13 Яйцебот-2 работает в микрошаговом режиме с разрешением поля 1600 х 400 точек (В Inkscape размер области 1600х400 мм).

 яйцебот-2 микрошаговый режим (eggbot)яйцебот-2 микрошаговый режим (eggbot)

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

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

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

 Думаю, стоит немного рассказать о параметрах, указываемых при сохранении картинки в GCode. Основные, которые влияют непосредственно на процесс печати находятся на вкладке "Setup":

  •  Задается угол, при котором карандаш будет находится в поднятом положении.
  • Угол, при котором карандаш будет касаться поверхности.
  • Следующие два параметра задают продолжительность ожидания после опускания/поднятия карандаша перед началом перемещения.
  • Следующий параметр - примерная скорость перемещения. Подбирается опытным путем. Советую попробовать 100-500.
  • Остальные параметры нам не нужны, они у нас не применимы.

 Если вы рисуете несколькими цветами, поместите их в разные слои. Яйцебот будет отрисовывать один слой за другим, делая между ними паузу 1 мин. За это время можно поменять рисующий инструмент (ручку), при этом удерживается текущее положение. Чтобы включить данную опцию, поставьте галочку на вкладке "Pen Changes".

Изменения 2015

Привет всем.

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

  •  Итак, первая проблема заключалась в том, что рекомендованная мной программа для отправки G-code на яйцебот (Sender) отказывалась работать на новых версиях Windows, начиная с 7 и выше. В качестве замены ей можно использовать Spherebot_UI (смотрите ниже во вложениях). Сергей, моя благодарность.

Sperebot_UI

  •  Следующий момент, который мне никак не давал покоя - желание запустить шаговые двигатели на полную мощность (если вы помните, в прошлый раз я намеренно ограничил их ток для защиты Motor Shield`а. Описание проблемы смотрите в одной из прошлых статей). Для этого я запаял поверх имеющихся микросхем L293D по еще одной такой же, тем самым увеличив выходной ток каждого канала в 2 раза. Т.е. теперь мой Motor Shield может работать с моторами с рабочим током до 1,2А вместо 0,6А. Естественно я убрал установленную мной плату с ограничительными резисторами. Скажу честно, паять было не очень удобно, так как мешают стоящие рядом элементы.

Доработка Motor ShieldДоработка Motor ShieldДоработка Motor Shield

 Справедливости ради хочется сказать, что я ожидал большего эффекта, и вот почему: во-первых, как моторы, так и микросхемы стали греться намного сильнее; во-вторых, особого увеличения момента на моторах визуально я не заметил. Т.е. увеличение было, но совсем не на много. И третье, я почему-то был уверен, что сдвиг рисунка при ранних тестах происходил именно из-за неполного тока на моторах и пропуска шагов, теперь же стало понятно, что это было банальное проскальзывание самого яйца в креплениях.

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

 Что ж, на этом пока всё. Всем удачи. И с Новым годом!

Вложения:
Скачать этот файл (Spherebot_UI.zip)Spherebot_UI.zip[Программа для отправки G-code на яйцебот]5119 Kb01/04/16 09:13