Металл2024 Реклама
Метобр2024 Реклама

Удалённое управление 3D-принтером без участия куклы Вуду

Liqsun
Идет загрузка
Загрузка
05.02.2015
22725
52
3D-печать

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

22
Статья относится к принтерам:
Prusa i3 Hephestos
Счастливые часов не наблюдают, но иногда мы не можем быть рядом со своими любимыми … 3D-принтерами. Учёба, работа, пребывание в культурных местах для культурных людей - всё это не даёт любителю трёхмерной печати сутками зависать рядом со своим маленьким гудящим другом. Исключением являются владельцы двухэкструдерного LeapFrog - там не маленький гудящий друг, а табакерка с той самой тысячью чертей. Чуть-чуть сгладить эту бесконечно пессимистичную картину позволяет пятое поколение MakerBot. Приложение на телефон, удалённое наблюдение за принтером - сказка! По рассказам очевидцев, с последними апгрейдами Replicator 5th gen научился даже печатать. Но всё это, как говорится, соль на сахар. Куда более интересные решения можно найти в DIY-секторе.
Удалённое управление 3D-принтером без участия куклы Вуду
Я хочу рассказать об удалённом управлении принтером, а точнее об управлении принтером через bluetooth с планшета (или достаточно мощного телефона). Для наиболее продвинутой части пользователей давно не секрет как это сделать (ведь большинство принтеров на Arduino), но есть теперь решение и для тех, кто только начал “выходить из сумрака” и пока ещё не обладает требуемым уровнем технических знаний.
Материал традиционно представлен в форме “от любителя к любителям”
Прежде чем мы приступим к очередному апгрейду бессмертного (буквально, он у меня пережил дождь, снег, рваные провода, кота и племянника) “Гефеста”, поднимем актуальный вопрос:
ЗАЧЕМ?
Кстати, ТОП-1 среди вопросов, которые мне задавали знакомые, когда я рассказывал им о покупке принтера. Очевидно, что однозначного вопроса быть не может. Очевидно, что нужно это для удалённой печати. Особенно актуально это было для меня: в силу личных причин по весне-лету я большую часть времени провожу в художественной мастерской. Пыли - океан, стружек - легион! С учётом того, что я остаюсь там чаще всего с ночёвкой, мой верный друг “путешествует” со мной. Естественно встал вопрос как от всего этого великолепия его защитить. Для этого была сделана особая коробка из оргстекла. В неё помещается принтер, всё это дело отправляется на высокий шкаф - сказка.Но с оговоркой - после запуска печати очень неудобно тащить принтер наверх, да ещё и после этого накрывать его коробом. Было решено найти уже готовое решение для удалённого доступа к принтеру. К счастью, оно было.

Часть материальная.

Итак, вы решили подключить bluetooth-модуль к своему принтеру. Что для этого нужно:
  • В первую очередь, сам принтер. Лично я использовал Prusa i3 Hephestos. Но фактически подойдёт любой принтер с RAMPS 1.4 платой (да, включая Witbox), т.е. практически любой RepRap или принтер с открытыми исходниками;
  • Bluetooth-модуль. Я использовал HC06, его же использовал разработчик софта, с которым мы ознакомимся ниже. HC05 ко мне ещё не приехала, поэтому относительно неё ничего сказать не могу;
  • Провода. Нужны, что логично, для физической близости модуля и принтера. Сам я паять не хотел, поэтому позаимствовал готовые провода с симпатичными “гнёздами” из набора bq Kit de Robotica.
  • Компьютер. Без небольшого arduino-вмешательства чуда не случится.
  • Планшет/мобильный, который выдержит бесконечную мощь приложения (здесь могла быть дежурная шутка про “сборщик мусора” в java);

Удалённое управление 3D-принтером без участия куклы Вуду
Часть интеллектуальная.
  • Arduino - ваш путеводный фонарь на дорогах апгрейда принтера. Если вы впервые пользуетесь этой программой, озаботьтесь также установкой FDTI-драйверов;
  • Cura/другой слайсер с возможностью прошивки принтера и прошивка для вашего принтера. Нужны будут в ходе работы;
  • Мобильное приложение GcodePrintr для Android. Плохие новости - приложение платное (в районе 150-200 рублей). Хорошие новости - есть бесплатная версия-симулятор, включающая в себя некоторый функционал. Средней хорошести новость - не новую, но ещё актуальную версию можно спиратить.

Немного о приложении.

Приложение, без лишних слов, клёвое! Оно включает в себя полный цикл симуляции печать, расчёт времени, длины требуемого количества филамента и даже стоимость. Объективно серьёзных минусов лично я пока не заметил (за исключением долгого начала печати, но это скорее из-за не совсем верно настроенного bluetooth). Разработчики постарались на славу. Немного устаревший скриншот приложения:
Удалённое управление 3D-принтером без участия куклы Вуду
Скриншот последней версии:
Удалённое управление 3D-принтером без участия куклы Вуду
Ход работы.

Первым делом, подключите свой bluetooth-модуль к плате по следующей схеме:

VCC -> 5V

GND -> GND

RX -> AUX2 D65 (просто чтобы сменить скорость передачи данных)

TX -> AUX2 D66 (просто чтобы сменить скорость передачи данных)

Схема платы RAMPS 1.4:
Удалённое управление 3D-принтером без участия куклы Вуду
Удалённое управление 3D-принтером без участия куклы Вуду
Нашей задачей является настройка скорости передачи данных bluetooth, поэтому мы подключили RX/TX порты к AUX2 D65/D66. Небольшой arduino-скетч поможет нам в настройке.
Удалённое управление 3D-принтером без участия куклы Вуду
ВАЖНО: дальше будет представлено два решения - разработчика и моё. Связано это с тем, что бытие большим молодцом не мешает этому самому разработчику принадлежать семейству оленевых
Для загрузки скетча вы должны подключить принтер к компьютеру и зайти в Arduino. Классическим копипастом введите:
#include

SoftwareSerial mySerial(65, 66); // RX, TX

void setup()

{

// Open serial communications and wait for port to open:

Serial.begin(9600);

while (!Serial) {

; // wait for serial port to connect. Needed for Leonardo only

}

Serial.println('Goodnight moon!';);

// set the data rate for the SoftwareSerial port mySerial.begin(9600);

Serial.println('Hello, world?';);

}

// void loop() // run over and over

{

if (mySerial.available()){

Serial.write(mySerial.read());

}

if (Serial.available()){

mySerial.write(Serial.read());

}

}
После этого нажмите кнопку Upload (“Вгрузить”). Вероятнее всего, код без проблем загрузится. Если же нет, то в пункте Serviсе проверьте плату и последовательный порт. Высока вероятность, что в программе у вас выставлены не те, которые вас интересуют.

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

AT

>Answer: ОК

AT+BAUD8

>Answer: OK115200

AT+NAMEprusa

>Answer: Oksetname

Первая команда - красная тряпка для программного быка. Полученный ответ говорит о том, что bluetooth вас услышал и готов общаться. Вторая - задает скорость передачи данных. А вот третья позволяет задать имя вашему модулю. Я назвал принтер по паспорту, “prusa”, но никто не запрещает вам гордо назвать свой принтер “MyLittleUltimaker”.

Мой метод загрузки кода.

Блютуз-модули - товарищи нервные и часто могут отказываться отвечать на ваши АТ-команды. Что делать в этом случае? Заставить их, конечно же!
#include

SoftwareSerial mySerial(3, 4); // RX, TX

void setup()

{

//Serial.begin(9600);

//Serial.begin(57600);

Serial.begin(115200);

Serial.println('Goodnight moon!';);

mySerial.begin(9600);

//mySerial.begin(57600);

//mySerial.begin(115200);

delay(1000);

mySerial.print('AT';);

delay(1000);

mySerial.print('AT+NAMEprusa';);

delay(1000);

mySerial.print('AT+BAUD8';);

delay(1000);

}

void loop() // run over and over

{

if (mySerial.available())

Serial.write(mySerial.read());

if (Serial.available())

mySerial.write(Serial.read());

}
Теперь модуль работает с нужной нам скоростью передачи данных. Отключаем его от принтера. После подобных издевательств принтер начинает немного страдать кризисом личности на фоне того, что им воспользовались как просто платой-проводником. Чтобы он вновь обрёл себя, вам нужно загрузить в него прошивку через Cura или другой слайсер.

Переподключите модуль следующим образом:

RX -> AUX1 D1

TX -> AUX1 D0
Удалённое управление 3D-принтером без участия куклы Вуду
Удалённое управление 3D-принтером без участия куклы Вуду
Перезагрузите плату на принтере (или просто выключите-включите). Ваш bluetooth готов.

Вдоволь насладившись результатами своей работы, запустите приложение. Первым делом перейдите в настройки и укажите в Communication, что связываться с принтером вы будете по bluetooth. Теперь попробуйте подсоединиться к принтеру. если вы растеряетесь от обилия внезапных кнопок без единой надписи, сверху по тексту выложен скриншот с описанием каждой кнопки. Подключились к принтеру? Пришло время запустить свою первую печать со смартфона/планшета!

Вместо послесловия.

DIY - это для меня чудеса на виражах. буквально каждый день узнаю что-нибудь новое. Подключив к принтеру bluetooth-модуль, я некоторое время игрался с новыми функциями. И поставив печать, ушёл полностью распаковывать bq-шный кит робототехники. Осознание того, что ты изучаешь что-то новое и получаешь нешуточную награду за новые знания здесь и сейчас - это что-то с чем-то. Казалось бы, такая мелочь - залить в плату кусок кода, воткнуть модуль и дело с концом. Но для людей гуманитарных наклонностей, как я, это почти как чудо. И, что важно, чудо рукотворное.

Всем спасибо за внимание!
Удалённое управление 3D-принтером без участия куклы Вуду

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

22
Комментарии к статье
Кремень КБ Реклама
Кремень КМ Реклама