Добрый день.
Благодаря сотрудничеству нашей творческой группы LivelyMinds и проекта PrintAndPlay с фирмой Devicter, теперь у нас в Новосибирске появились достаточно дешевые комплекты электронных плат для 3D-принтеров от компании ElecFreaks, которые можно массово использовать в репрапостроительстве. Это RAMPS-плата (RepRap Arduino Mega Pololu Shield), являющаяся неформальным стандартом в мире репрап-электроники. Вместе с драйверами двигателей Pololu и платой Arduino она составляет комплект, достаточный для сборки 3D-принтера. Одновременно с ними ко мне поступил RAMPS-комплект от компании Gadgets3D, купленный на EBay, поэтому у меня была возможность не только запустить собственно сами платы, но и сравнить различные реализации.
Прошивка плат оказалась непростым делом, поскольку подробных инструкций на русском языке не было, в комплекте были только сами платы - и всё. Поэтому пришлось подумать и поэкспериментировать. Но обо всем по порядку.
Как вы, возможно, уже знаете, комплект RAMPS-плат для 3D-принтера состоит из трех основных элементов: платы RAMPS, являющейся основной платой системы, платы Arduino, крепящейся к плате RAMPS снизу, и четырех либо пяти платок Pololu-двигателей, крепящихся на плату RAMPS сверху. С точки зрения компьютерщика плата RAMPS является материнской платой, к которой крепятся прочие платы расширения, ведь именно на нее подается питание, на ней расположены разъемы двигателей и на ней содержится силовая часть электроники - управляющие полевые транзисторы для управления нагревом печатающих головок (экструдеров) и подогреваемого стола. С точки же зрения электронщиков, работающих с Arduino, сама плата RAMPS является шилдом (shield) - платой расширения для Arduino-платы, содержащей мозг системы - микроконтроллер фирмы Atmel. Все, что в нее втыкается выше, следствие того, что этот шилд достаточно многофункционален, в отличие от обычных шилдов wi-fi/3G/Bluetooth/Ethernet-связи, датчиков или дисплейных контроллеров, которые поддерживают лишь одну конкретную возможность.
Набор плат от Gadgets3D поставлялся в уже собранном виде, и с ним проблем не было. Набор плат от ElecFreaks поставлялся в отдельных коробочках, и для сборки мне пришлось спилить надфилем слишком далеко торчащие выводы разъема питания на основной плате, а также отшлифовать бока у плат Pololu, которые без этого ни в какую не хотели вставать плотно одна к другой в линию.
Кроме того, комплекты имели другие отличия:
В остальном платы были очень похожи.
Конечно, для проверки платы вам понадобятся шаговые двигатели, термодатчики, источник питания 12В, а также концевые переключатели. Для проверки нагрева экструдера и стола нужен также экструдер и стол. Характеристики:
Для сравнения - у Кипариса экструдер 16 Ом, стол - 1,5 Ома, SMD-термодатчик стола 100 кОм, экструдера 50 кОм.
Источник питания был использован компьютерный ATX, модель LW2-500W. Он был переделан простейшим способом:
Для запуска плат и проверки их работы мне понадобились следующие программы:
Для подключения к компьютеру комплекта ElecFreaks использовался короткий miniUSB-кабель, для Gadgets3D - стандартный USB-кабель. При подключении обе платы потребовали драйвера, которые в моей Windows XP, конечно, отсутствовали. Подумав, я открыл папку C:/arduino-0023/drivers/FTDI USB Drivers и указал ее как папку для поиска драйверов. Это сработало, установился USB Serial Converter и USB Serial Port.
Если не сработает, попробуйте C:/arduino-0023/drivers в качестве альтернативы. Для Gadgets3D понадобилась установка драйвера Arduino Mega 2560 R3. Для ElecFreaks сработал первый вариант.
Запустив Arduino IDE, я выбрал Tools - Board - Arduino Mega 2560 в качестве платы, и Tools - Serial Port - COM23 в качестве порта, к которому подключена плата. Определить, на каком порту плата, можно так: порт платы исчезает из списка, если ее отключить от компьютера. Далее я открыл в Arduino IDE файл C:/marlin/Marlin/Marlin.pde и перешел на вкладку Configuration.h, где проделал следующие настройки (заменены оригинальные строки, не добавлено ничего нового):
// (ReplicatorG не сработал с 250000)
Verify - Upload... Индикаторы на плате весело мигают, показывая процесс заливки. Готово.
Marlin не компилируется в более новых версиях Arduino IDE, используйте версию 0023. После прошивки вы уже должны наблюдать симпатичную ошибку на дисплее.
Подключив первый температурный датчик и нажав RESET на плате RAMPS, мы увидим на дисплее надпись Mendel Ready. Второй датчик покажет нам температуру стола.
Далее подключаем моторы и концевые датчики. Прикручиваем стол и нагревательный элемент экструдера. Прикручиваем выводы блока питания к разьему питания, соблюдая полярность. Вставляем сами термодатчики в нагрев экструдера и в плату стола.
Подключение обвеса завершено. Включим блок питания. Если полярность выводов верная, дисплей должен загореться и не выключаться, даже если мы отключим USB-кабель от компьютера.
Запустим для начала печать в программе ReplicatorG 0040. Закроем Arduino IDE во избежание конфликтов и запустим программу. В ней идем в File - Preferences и ставим галку Show experimental machine profiles. Затем в Machine-Connection выбираем COM-порт платы, а в Machine - Machine Type - Other Bots - Mendel with Mega/RAMPS Electronics (57600 baud). После чего жмем кнопку Connect на панели управления.
Если вы увидите сообщение "port already in use" или наоборот, "port not found", закройте программу, вытащите и вновь воткните USB-кабель в компьютер. Иногда порт забивается данными и перестает принимать новую информацию. Также может помочь кнопка RESET на плате RAMPS.
Для проверки работы отдельных подсистем (двигателей, концевых датчиков, нагрева и контроля нагрева) откройте Control panel. В ней вы уже должны увидеть текущую температуру, совпадающую с данными на LCD-дисплее (если дисплея нет, то тут вы получите первые данные о работоспособности системы). Попробуйте двинуть двигателем, нажав X+ или Y+. Все должно заработать, двигатель должен прокрутиться. На дисплее и в программе должны измениться показания. Выставление температуры нагрева стола или экструдера должно привести к изменению показаний соответствующего датчика на дисплее и в программе.
Загрузив какую-либо STL-модель и переведя ее в GCODE, вы можете нажать Print и убедиться в том, что печать запускается и работает. Единственный момент - двигатель экструдера не будет прокручиваться, если температура нагревателя ниже определенного значения. Эта защита от работы "в холодную" очень полезна при случайном запуске печати, чтобы головка не забилась ошметками холодного прутка.Сюрприз! Ожидалось, что печать заработает, но в моем случае при тестировании обоих плат процесс в ReplicatorG зависал на этапе Print, выдавая сообщение "Estimating time to completion...". В чем дело, я разбираться не стал, поскольку эта проблема явно была связана не с электроникой, а с самим репликатором. Поэтому я запустил Repetier-Host и продолжил тестирование. Подсоединившись к принтеру и загрузив файл GCode, я нажал Пуск и двигатели поехали.
С платой от ElecFreaks пришлось перестроить тестовый стенд из-за короткого кабеля, перенеся ноутбук под стол. Также обнаружился косяк - из-за схемной ошибки или пробоя транзистора плата стола не грелась, а сам транзистор начинал дымиться при подаче питания. Я отключил стол и запустил печать без него. Возможно, мне попалась бракованная плата.
Также я замкнул в определенный момент концевой выключатель по оси Z, чтобы отметить "ноль" по этой оси. Отметил я и достаточно тихий звук работы двигателей, и отсутствие их перегрева. И тем, и другим в худшую сторону отличается Кипарисовская электроника (в ней драйверы двигателей работают в полушаговом режиме, здесь - 1/8). А вот драйвера Pololu греются довольно сильно - без радиаторов для них обязательно внешнее охлаждение от вентилятора, иначе они могут через некоторое время выйти из строя.
Для тестирования печати с SD-карты я взял карту и записал на нее в корень несколько файлов STL и GCODE. При этом у меня на ней еще были папки с фотографиями.
Вытащив карту из компьютера, я вставил ее в слот за дисплеем. Перевернув экран, я обнаружил на нем надпись "Card inserted."
Отключив кабель, соединяющий принтер с компьютером, я получил автономный принтер. Поворотная ручка справа от экрана при давлении сверху нажалась и открыла меню.
С помощью ручки можно настроить принтер и, открыв меню карточки и выбрав файл, запустить его на печать. Дисплей покажет процент готовности, время печати и печатаемый файл.
Обе платы подходят для создания 3D-принтера, причем в идеале с двумя экструдерами. Надеюсь, что глюк со столом в плате от ElecFreaks сопутствует лишь моему тестовому экземпляру. Дисплей с SD-слотом служит замечательным и очень удобным дополнением к функционалу принтера и позволяет контролировать принтер без привязки к компьютеру, а также следить за ходом печати, не глядя в программу, пользуясь монитором для решения других задач.
В сотрудничестве со студентами НГТУ мы скоро надеемся представить вашему вниманию прекрасный 3D-принтер, изготовленный на высокоточном оборудовании с электроникой от Gadgets3D. А партия принтеров на раме из оргстекла будет сделана на электронике от ElecFreaks, предоставляемой фирмой Devicter, т.к. теперь есть возможность покупать эти платы в любых объемах прямо в Новосибирске. Вы также можете обращаться ко мне в магазин PrintAndPlay, я буду продавать эти платы по той же цене - но только когда проблема с подогревом стола у этих плат будет полностью решена.
В заключение предлагаю вашему вниманию несколько коротких видеороликов.
The media player is loading...
The media player is loading...
The media player is loading...
The media player is loading...
The media player is loading...
Проблема с нагревом стола была связана с дешевыми полевыми транзисторами, которые китайцы из ElecFreaks впаяли вместо необходимых. Пришлось закупать транзисторы самим и перепаивать их на всех платах. На данный момент мы производим платы RAMPS сами.
Легко проверять RAMPS-платы, используя дисплей. Без него запуск сложнее. Предостерегу новичков от простых ошибок, которые, тем не менее, могут сильно затормозить процесс запуска электроники.
Минимум, необходимый для запуска движков: прошитая Arduino+RAMPS+1 драйвер двигателя, подключенный верно двигатель, блок питания и подаваемые на плату 12В, подключенный термистор, подключенный USB, управляющая программа на компьютере. Вместо последних двух пунктов можно использовать дисплей.
Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer