Удалённое управление 3D-принтером без участия куклы Вуду
Материал традиционно представлен в форме “от любителя к любителям”Прежде чем мы приступим к очередному апгрейду бессмертного (буквально, он у меня пережил дождь, снег, рваные провода, кота и племянника) “Гефеста”, поднимем актуальный вопрос:
ЗАЧЕМ?Кстати, ТОП-1 среди вопросов, которые мне задавали знакомые, когда я рассказывал им о покупке принтера. Очевидно, что однозначного вопроса быть не может. Очевидно, что нужно это для удалённой печати. Особенно актуально это было для меня: в силу личных причин по весне-лету я большую часть времени провожу в художественной мастерской. Пыли - океан, стружек - легион! С учётом того, что я остаюсь там чаще всего с ночёвкой, мой верный друг “путешествует” со мной. Естественно встал вопрос как от всего этого великолепия его защитить. Для этого была сделана особая коробка из оргстекла. В неё помещается принтер, всё это дело отправляется на высокий шкаф - сказка.Но с оговоркой - после запуска печати очень неудобно тащить принтер наверх, да ещё и после этого накрывать его коробом. Было решено найти уже готовое решение для удалённого доступа к принтеру. К счастью, оно было.
Часть материальная.
Итак, вы решили подключить bluetooth-модуль к своему принтеру. Что для этого нужно:
- В первую очередь, сам принтер. Лично я использовал Prusa i3 Hephestos. Но фактически подойдёт любой принтер с RAMPS 1.4 платой (да, включая Witbox), т.е. практически любой RepRap или принтер с открытыми исходниками;
- Bluetooth-модуль. Я использовал HC06, его же использовал разработчик софта, с которым мы ознакомимся ниже. HC05 ко мне ещё не приехала, поэтому относительно неё ничего сказать не могу;
- Провода. Нужны, что логично, для физической близости модуля и принтера. Сам я паять не хотел, поэтому позаимствовал готовые провода с симпатичными “гнёздами” из набора bq Kit de Robotica.
- Компьютер. Без небольшого arduino-вмешательства чуда не случится.
- Планшет/мобильный, который выдержит бесконечную мощь приложения (здесь могла быть дежурная шутка про “сборщик мусора” в java);
- Arduino - ваш путеводный фонарь на дорогах апгрейда принтера. Если вы впервые пользуетесь этой программой, озаботьтесь также установкой FDTI-драйверов;
- Cura/другой слайсер с возможностью прошивки принтера и прошивка для вашего принтера. Нужны будут в ходе работы;
- Мобильное приложение GcodePrintr для Android. Плохие новости - приложение платное (в районе 150-200 рублей). Хорошие новости - есть бесплатная версия-симулятор, включающая в себя некоторый функционал. Средней хорошести новость - не новую, но ещё актуальную версию можно спиратить.
Немного о приложении.
Приложение, без лишних слов, клёвое! Оно включает в себя полный цикл симуляции печать, расчёт времени, длины требуемого количества филамента и даже стоимость. Объективно серьёзных минусов лично я пока не заметил (за исключением долгого начала печати, но это скорее из-за не совсем верно настроенного bluetooth). Разработчики постарались на славу. Немного устаревший скриншот приложения:Скриншот последней версии:Ход работы.Первым делом, подключите свой bluetooth-модуль к плате по следующей схеме:
VCC -> 5V
GND -> GND
RX -> AUX2 D65 (просто чтобы сменить скорость передачи данных)
TX -> AUX2 D66 (просто чтобы сменить скорость передачи данных)
Схема платы RAMPS 1.4:Нашей задачей является настройка скорости передачи данных bluetooth, поэтому мы подключили RX/TX порты к AUX2 D65/D66. Небольшой arduino-скетч поможет нам в настройке.
ВАЖНО: дальше будет представлено два решения - разработчика и моё. Связано это с тем, что бытие большим молодцом не мешает этому самому разработчику принадлежать семейству оленевыхДля загрузки скетча вы должны подключить принтер к компьютеру и зайти в Arduino. Классическим копипастом введите:
#includeПосле этого нажмите кнопку Upload (“Вгрузить”). Вероятнее всего, код без проблем загрузится. Если же нет, то в пункте Serviсе проверьте плату и последовательный порт. Высока вероятность, что в программе у вас выставлены не те, которые вас интересуют.
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());
}
}
После того как код успешно ввдён, откройте монитор последовательного порта. Время пообщаться с bluetooth-модулем! Т.к. техника иной раз хуже женщины, рискну расписать сценарий вашего диалога:
AT
>Answer: ОК
AT+BAUD8
>Answer: OK115200
AT+NAMEprusa
>Answer: Oksetname
Первая команда - красная тряпка для программного быка. Полученный ответ говорит о том, что bluetooth вас услышал и готов общаться. Вторая - задает скорость передачи данных. А вот третья позволяет задать имя вашему модулю. Я назвал принтер по паспорту, “prusa”, но никто не запрещает вам гордо назвать свой принтер “MyLittleUltimaker”.
Мой метод загрузки кода.
Блютуз-модули - товарищи нервные и часто могут отказываться отвечать на ваши АТ-команды. Что делать в этом случае? Заставить их, конечно же!
#includeТеперь модуль работает с нужной нам скоростью передачи данных. Отключаем его от принтера. После подобных издевательств принтер начинает немного страдать кризисом личности на фоне того, что им воспользовались как просто платой-проводником. Чтобы он вновь обрёл себя, вам нужно загрузить в него прошивку через Cura или другой слайсер.
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());
}
Переподключите модуль следующим образом:
RX -> AUX1 D1
TX -> AUX1 D0Перезагрузите плату на принтере (или просто выключите-включите). Ваш bluetooth готов.
Вдоволь насладившись результатами своей работы, запустите приложение. Первым делом перейдите в настройки и укажите в Communication, что связываться с принтером вы будете по bluetooth. Теперь попробуйте подсоединиться к принтеру. если вы растеряетесь от обилия внезапных кнопок без единой надписи, сверху по тексту выложен скриншот с описанием каждой кнопки. Подключились к принтеру? Пришло время запустить свою первую печать со смартфона/планшета!
Вместо послесловия.
DIY - это для меня чудеса на виражах. буквально каждый день узнаю что-нибудь новое. Подключив к принтеру bluetooth-модуль, я некоторое время игрался с новыми функциями. И поставив печать, ушёл полностью распаковывать bq-шный кит робототехники. Осознание того, что ты изучаешь что-то новое и получаешь нешуточную награду за новые знания здесь и сейчас - это что-то с чем-то. Казалось бы, такая мелочь - залить в плату кусок кода, воткнуть модуль и дело с концом. Но для людей гуманитарных наклонностей, как я, это почти как чудо. И, что важно, чудо рукотворное.
Всем спасибо за внимание!
Еще больше интересных статей
Решения для крупноформатного аддитивного производства от Kings 3D
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Cura profile для принтера Creality K1
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
1) выбираем "Добавить принтер" - "специальный FFF принтер...
Тонкости 3D-печати. Часть 2. Теория и практика.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Данная часть будет посвящена...
Комментарии и вопросы
Первое наперво на новом куплен...
Опять питерские звезды :D
По фоткам видно, что рельса у....
Приветствую, начал знакомится...
Здравствуйте. Имеется стоковый...
Всем доброго! По поводу жидкой...
На 3 д тодей я делаю не очень...