Яйцебот 2

 

290312 002

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

 

lumen sm

3D сканер

 

3dscan

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

 

woodburner

Контроллер Lumentino

 

lumentino sm

Кратко о яйцеботе

Яйцебот (eggbot) - устройство, которое может рисовать фломастером (карандашом и т.п.) на сферических и околосферических объектах (шарики для пинг-понга, яйца, елочные украшения, лампочки и т.п.). Некоторые называют его роботом для раскрашивания пасхальных яиц Яйцекраской.

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

А при некотором желании и небольших вложениях сможете сами заняться столь увлекательным делом, как раскрашивание яиц!

 

 

 

Конструкция

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

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

 

 

 

 

 

 

 

 

 

Исходные чертежи корпуса взяты в интернете, немного изменен способ крепления деталей между собой (теперь они крепятся, используя так называемый Т-слот). Детали фрезеровал из композитного материала толщиной 3мм. Но если честно, то композит оказался достаточно мягким, и я планирую в будущем изготавливать детали из акрила (оргстекла) толщиной 4мм. Размер и конструкция деталей выполнены так, чтобы добавить универсальности устройству, ведь при необходимости можно увеличить посадочное место под яйцо (шар, мяч и т.п.) раздвинув две его противоположные опоры.

 

Вложения:
Скачать этот файл (eggbot-details.zip)eggbot-details.zip[Чертежи деталей в формате SVG]14 Kb02/14/12 12:14

Двигатели

Примененные мной шаговые двигатели - пожалуй, самая большая ошибка в этом изделии. Единственный плюс - мне их не пришлось покупать, они были взяты из поломанных струйных принтеров Lexmark. Минус их в слишком большом угле поворота за один шаг. Здесь он составляет 7,5 градусов. Хотя для тестового запуска эти движки вполне подойдут. Полный оборот у этого экземпляра происходит за 48 шагов. Мощности этих двигателей вполне хватает для наших целей.

 

Для получения хороших результатов надо позаботиться о прибретении более качественных шаговых двигателей с углом шага 1,8 градуса (200 шагов на оборот) типа Nema17 размером 42мм. Эти движки более мощные, нежели описанные выше. В процессе переделки яйцебота обязательно буду менять на подобные.

О шаговых двигателях можно почитать тут.

 

 

Отдельным пунктом идет сервопривод, который управляет положением карандаша. Сервопривод кроме собственно мотора имеет в своем составе датчик и схему управления и призван обеспечивать изменение и удержание того положения карандаша, которое мы ему зададим. Модель Servo SG-90.

Вложения:
Скачать этот файл (motor_m42sp_6nk_e.pdf)motor_m42sp_6nk_e.pdf[Даташит на мотор из принтера]47 Kb02/14/12 14:01
Скачать этот файл (PL42H48-2.4-4.pdf)PL42H48-2.4-4.pdf[Даташит на мотор типа Nema17]208 Kb02/14/12 14:04

Электроника

Всю электронную начинку для яйцебота следует разделить на три части:

  • контроллер,
  • драйвер двигателей
  • и блок питания.

 


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

В качестве контроллера я применил уже широко всем известную разработку "Arduino", точнее, ее отечественный аналог. Используя данную схему, мы имеем удобное средство для программирования данного контроллера и USB интерфейс для передачи данных на Eggbot. Данный контроллер можно приобрести как в собранном виде, так и в наборе для самостоятельной пайки.

 


 

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

Двигатели от принтеров, которые я использовал, имеют максимальные токи обмоток около 0,4А, поэтому, выбирая драйвер, надо обращать внимание на ток, который они могут дать. Второе желательно условие - совместимость с формфактором arduino, т.е. плата драйвера должна просто устанавливаться на плату контроллера без каких бы то ни было дополнительных подключений. Немного поискав, нашел разработку M-Shield, которая подходит по всем характеристикам. Данная плата позволяет питать 2 шаговых мотора током до 0,6А на обмотку, и управлять сервоприводом. Плату также можно приобрести как в сборе, так и набором для самостоятельной пайки.

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

Есть еще один минус, который больше относится к поддержке данной платы в программном поле. Дело в том, что разработчиками написана библиотека, облегчающая управление двигателями через данную плату драйвера. Это хорошо. Плохо лишь то, что шаговыми двигателями через данную библиотеку можно управлять лишь поочередно, т.е. мы не сможем получить диагональной линии, хотя пошаговую "лесенку" сделать можно. Конечно, можно пробовать управлять напрямую или переписать библиотеку, но смысла в этом я не вижу, так как все равно придется переходить на другие двигатели, а данная плата не сможет обеспечить их необходимым током (требуемый ток Nema17 около 1-2А).

 Так что вопрос выбора драйвера для новой версии яйцебота пока остается открытым.

 


 

Блок питания необходим прежде всего для запитки наших драйверов и двигателей с сервоприводом. Сама плата контроллера может питаться от USB порта, для программирования, и только. Дополнительные разъемы питания есть как на плате драйвера (M-Shield), так и на плате контроллера (Arduino). Дополнительный источник питания должен обеспечивать требуемый ток всех нагрузок (двигателей, сервопривода, обеих плат) и иметь напряжение не менее 9В для правильного формирования питающих напряжений на плате. У меня нашелся старый блок питания от компьютера, поэтому я запитал схему от 12В.

Прошивка

Программной оболочкой для Wiring - "языка" программирования для Arduino - служит программа с одноименным названием - Arduino, недавно значительно обновленная и получившая гордый номер версии Arduino 1.0 после 23 ранних релизов Arduino IDE.

Кратко опишу наши действия:

  • скачиваем Arduino 1.0
  • Устанавливаем
  • Устанавливаем дополнительные библиотеки для M-Shield
  • Выбираем нашу плату: Tools-Board-тип платы (у меня это Arduino Diecimila or Duemilanove w/ ATmega168
  • Подключаем контроллер с помощью кабеля USB A-B
  • Возможно вам потребуется установить драйвер FTDI USB, скачать его можно с сайта FTDI.
  • Выбираем com-порт: Tools-Serial Port-ваш порт
  • Verify
  • Upload

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

Вложения:
Скачать этот файл (StepperTest_com_exp.zip)StepperTest_com_exp.zip[Программа-прошивка для Яйцебот-1 на M-Shield]2 Kb02/14/12 17:42

Программы

Отлично, яйцебот собрали, надо определиться, как на нем печатать...

Для этого нам потребуются следующие программы:

  • Inkscape - векторный графический редактор (GNU GPL)
  • Inkscape unicorn plugin - расширение для Inkscape, позволяющее сохранять векторную картинку как управляющие коды для Eggbot
  • Sender - программа для отправки сформированных G кодов на Яйцебот

 

Вложения:
Скачать этот файл (martymcguire-inkscape-unicorn-2195ed3.zip)martymcguire-inkscape-unicorn-2195ed3.zip[Расширение для Inkscape для сохранения картинки как GCode]11 Kb02/14/12 18:27
Скачать этот файл (SphereBotSenderBinaries.zip)SphereBotSenderBinaries.zip[Программа для отправки Gcode через Com-порт]1651 Kb02/14/12 18:31

Тестируем!

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

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

 Последовательность действий:

  • Подготовили рисунок
  • Сохранили как GCode
  • Включили яйцебот (USB, питание моторов)
  • Запускаем Sender
  • Выбираем СОМ-порт
  • Нажимаем SEND, выбираем файл c G-кодом
  • Печать уже началась!

 

 

Вложения:
Скачать этот файл (egg_print.zip)egg_print.zip[Пример файла для печати]21 Kb02/27/12 22:02