понедельник, 11 ноября 2013 г.

Контроллер 3D принтера. Что такое Arduino.

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

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

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

1. Аппаратная часть (красивая синяя плата с контроллером и вшитым в него загрузчиком);
2. Программная часть (открытое бесплатное ПО, позволяющее писать под эти самые платы на понятном языке С/С++).

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


     Все, что необходимо, под рукой - на панели кнопки для проверки кода, компиляции и загрузки в устройство (контроллер).

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

     Из всего многообразия ардуиновских плат нам подойдет только пара вариантов - либо на базе микроконтроллера ATMega1280 (Arduino Mega) либо на базе более мощного ATMega2560 (Arduino Mega 2560). Обусловлено это размером прошивки Marlin firmware, которую мы будем туда вливать. Кстати, прошивок (равно как и софта, который с этими прошивками работает) в сети гуляет достаточно много. Для желающих поиграться - добро пожаловать на сайт reprap.org. Там же описано и железо, под которое все эти прошивки заточены. Лично мне прошивка Marlin показалась лучшим решением, которая, в отличие от многих, умеет просматривать наперед отсылаемый ей g-code (об этом позже), благодаря чему не затыкается во время печати сложных моментов. К тому же данная прошивка понимает дуги (G02 G03) ака круговая интерполяция. Про это я тоже напишу позже, но суть в том, что другие контроллеры для печати окружностей / дуг требуют сотен команд линейной интерполяции, ибо рисуют только отрезками, а Marlin всего одной. Это офигенный плюс.
     К тому же в прошивке Marlin есть одна очень приятная штука - PID-регулирование температуры. Не вдаваясь в подробности - оно позволяет очень точно (при правильном подборе коэффициентов) регулировать температуру, что, само собой, положительно скажется на качестве печати.
     В данной прошивке еще много всяких интересных возможностей и особенностей, но о них как-нибудь потом.

     Еще один момент - для платы Arduino Mega (2560) разработан и уже повсюду (Ebay.com например) выпускается Ramps shield v1.4:


     Это готовое (либо в виде набора для самостоятельной сборки) дополнение к ардуине, которое превращает ее в полноценный контроллер 3D-принтера, этакий Plug-and-Play:


     В собранном виде получается этакий бутерброд: в основании Arduino Mega, в нее вставляется Ramps 1.4, а в рампс вставляются платы драйверов шаговых двигателей Pololu A4988 (их еще называют StepStick):


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

     Кстати, в том же Китае уже стали продавать целые комплекты железа, которое я тут описываю (иногда даже с готовыми прошивками Marlin) по очень даже сносной цене. Они включают в себя и ардуину мега и рампс и даже драйвера Pololu в количестве 4-5 штук + комплект проводов:

http://www.ebay.com/itm/SainSmart-Mega2560-A4988-RAMPS-1-4-3D-Printer-KIT-For-Arduino-RepRap-/271253409360?pt=LH_DefaultDomain_0&hash=item3f27f68e50

          Комплект как на фото стоит чуть меньше 3000 руб (доставка бесплатная) - вполне демократично, учитывая что одна только Arduino Mega 2560 в России обойдется почти в такую же цену.

     Как покупать товар из Китая объяснять не буду - там нет ничего сложного, единственная сложность это регистрация в сервисе PayPal.com и привязка своей банковской карты. Позже, возможно, открою свой онлайн-магазин, где будет все, что я тут описываю (и готовые принтеры в том числе). 

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

     На фото не хватает только четырех драйверов Pololu A4988, которые вставляются в черные панельки и все! У вас в руках готовое решение для управления принтером. 
     Есть еще более компактное решение под названием Printrboard:
     Плата является "форком" Teensylu (т.е. произошла именно от нее), в которую авторы сразу впаяли драйвера шаговых двигателей (A4982) и добавили разъем под MicroSD карточку памяти (для печати без компьютера).
     НО! Такую плату я бы не советовал по одной простой причине - если сгорит один из драйверов А4982, то поменять его будет ооочень проблематично (как было у меня). Во первых, у этих микросхем очень мелкий шаг ног, без паяльной станции не обойтись, а во-вторых - найти их просто нереально в отличие от той же Pololu A4988, которая уже и в России продается (вот тут например). Так что решать вам.

     Посоветую все-таки начать с Arduino Mega 2560. У меня оно как-то сразу прижилось, закрутилось и завертелось, в отличие от той же Teensylu, с которой пришлось поиграться (эту историю я напишу как-нибудь в другой раз). Да и в голом виде (без шиелдов) этот контроллер можно использовать для очень многих целей (а не только для принтера).

     В самом простом варианте (ну или на начальном этапе) нам понадобится ардуина, драйвер Pololu (одного для экструдера хватит) и еще несколько дешевых деталей для включения нагревателя HotEnd'а и контролирования его температуры.
    
     До скорого...

Комментариев нет:

Отправить комментарий