2017-07-19 01:33:13
Всем привет. Это мой первый пост в блоге, так что не судите строго.
Чуть больше года назад ...
+ развернуть текстсохранённая копия
Всем привет. Это мой первый пост в блоге, так что не судите строго.
Чуть больше года назад загорелся идеей купить в семью 3D принтер. Себе как хобби, сыну как развивающая игрушка, ну и как прикладной девайс для печати всяких полезностей в быту. И вот весной этого года я заказал на алиэкспресс дельту Anycubic linear plus. Пропущу муки выбора, а они длились месяца два как минимум)
Доставку ждал всего три дня, он находился в Россия Молл и вот курьер привёз его прямо домой.
Собрал на одном дыхании за один день и началось... на попытку нормально настроить ушло около недели, т.к. я совершенно не представлял что к чему. В итоге всё закончилось покупкой за 25$ решения от Ezbed, которое включало в себя настроенную прошивку и программу для автокалибровки стола. И вуаля. Печать тестовой модели на весь стол прошло без изъянов. Месяц мы развлекались и делали одну за одной моделью с всем известного ресурса http://thingiverse.com Ну а потом руки зачесались и засвербило в пятой точке желание что-то улучшить) Ну и понеслась, о чём собственно и будет дальнейший рассказ. Минимум слов, максимум картинок)
В данном принтере было изначально пару косяков в конструкции, а именно отсутствие регулировки стола по высоте и нагревательный стол меньшего диаметра, чем стекло и обозначенная область печати (220мм и 240мм соответственно). В связи с этим встал вопрос как использовать отверстия в нагревательном столе.
Сделал три "уха" из алюминия, сделал зенковки в верхней части и скрепил всё это винтами М3, попутно прикрепив утеплитель из технологической пробки толщиной 8мм:
За тем из алюминиевого прутка 4мм х 25мм изготовил крепления на раму принтера. В центре которых установлены винты М5 с пружинами, на которых будет стоять стол (пружины заказаны с алиэкспресс). Чтобы профиль не царапался распечатал пластиковые проставки:
Жёсткость конструкции меня не устраивала. На 16 шагах и хорошем джерке принтер ходил ходуном, чуть ли не прыгал) Решил усилить раму дополнительными распорками:
Далее была решил бороться с шумом. Аппарат стоит у меня на деревянном подоконнике и жужжание моторов усиливалось им многократно. Спать при распечатке было совсем не айс. Купил три теннисных мяча и распечатал вот такие ножки. Скажу сразу - это очень эффективное решение.
Держатель необходимых шестигранников и пинцета:
Крепление выходящих из эффектора проводов:
Пружины для тяг, чтобы не люфтили. Пружины были куплены в магазине Крепмаркет:
Z пробник, ставится и снимается одной рукой:
А теперь самое сладкое) Наигравшись с тормозной (для дельты) ардуинкой, покурив 3dtoday, я решился на переход на 32х битную платформу. Выбор пал на на китайскую копию smoothieware, а именно MKS Sbase с тачскрином TFT32. C доставкой это удовольствие вышло около 5000р. Из вычитанных минусов это закрытая прошивка, хотя не вижу в этом вообще ничего криминального, ибо всё необходимое есть в конфиге. Также у материнки нет как таковой еепром памяти, поэтому в ней должна постоянно торчать microSD карта с конфигурационным файлом. Использовал под это валявшуюся без дела флэшку на 512Мб. Из плюсов это наличие ethernet, возможность работы двигателей на 32 шагах, очень тихие драйверы (хоть и встроенные. но есть возможность при желании подцепить внешние - выходы под них имеются). Расстроило наличие всего одного порта для вентилятора, теперь обдув радиатора хотэнда у меня включается отдельной кнопкой. Очень порадовала стартовая настройка: всё, что нужно чтобы начать работать это правильно указать длину тяг, дельта радиус и высоту по центру. И всё! отрегулируй стол и вперёд. Это вам не карпеть с марлином и репитером с калькуляторами. Также отменно работает автокалибровка стола. процедура в два шага буквально:
подключаемся с помощью pronterface через сеть к принтеру через телнет порт 23, далее G28, надеваем пробник, потом G32 и он делает необходимы замеры в 4х точках. Как только окончит даём команду M500 и всё прописывается в дополнительный конфигурационный файл на вставленную мини эсдэшку. Осталось только откорректировать высоту по центру стола. Командами G1 или с панели пронто двигаем головку к нулю в центр стола, выставляем по бумажке. Затем заносим положение командой M306 Z0. Проверяем с помощью М114, что он стоит по нолям. Вот и всё. Теперь при перезагрузке принтера все настройки будут подгружаться автоматически.
Про дисплей особо писать нечего. Простой, понятный и очень дружелюбный интерфейс. Можно загружать разные дизайны и сделать оформление самому. Корпус распечатал и смонтировал на раму принтера (вариантов корпусов есть много). Материнку установил внутрь под стол. Часть крепления распечатал, часть сделал из того же прутка, для жёсткости конструкции:
Проводка по максимуму спрятана в профиль и закрыта вот такими заглушками:
Ну пока вроде всё, чем хотел с вами поделиться. Можете начинать кидать помидорами)
С удовольствием отвечу на все интересующие вопросы. Если будут желающие дополню пост ссылками на все использованные при модернизации модели в STL.
Следующая статья будет про замену эффектора с двумя хорошими вентиляторами обдува модели. В это й конструкции одного жиденького явно мало, особенно при печати нависающих углов.
Озадачился локальной подсветкой стола 3D-принтера. Нашел прямо чудесные фонарики с USB разъемом в FixPrice. Гибкий держатель, сам фонарик тоже с USB-папой, отстегивается от "гуся". Приделал к принтеру. Удобно, но темно.
Нашел "в запасах" две светодиодные панели - 5В, 24 светодиода, ток - 360 мА, размеры 30х80мм. Принтер лишний раз сверлить не хотелось, сделал модель для крепления подсветки на магнитах. Преимущество - съемные, можно "приклеить" на любую металлическую поверхность или просто поставить. Провода зафиксировал клипсами с теми же магнитами. В самой клипсе провод крепится резиновым кольцом. Все получилось съемное и мобильное.
Магниты использовал круглые, 10х1 мм, на фонарь - 5 шт, 1 шт. на каждую клипсу.
Покупные USB-фонарики тоже оставил, шланг гибкий, удобно при смене пластика или "прочистке" экструдера.
Питание на подсветку подал от отдельного блока питания, ибо не хотел нагружать штатный блок питания и хотелось иметь свет при выключенном блоке управления.
Блок питания нашел только на 12В, поэтому на USB подсветку понизил стабилизатором LM7805, а панели соединил последовательно и подал на них все 12В от блока питания через резистор 5 Ом. Мощность резистора должна быть не менее 5 Вт. Подключать панели к стабилизатору LM7805 не рекомендую, будет сильно греться.
Магниты: https://goo.gl/e1rwLa
Панели 5В: https://goo.gl/xtHtct
Панели 12В: https://goo.gl/agRyW9
Блок питания 5В: https://goo.gl/HdUQkM
Блок питания 12В: https://goo.gl/VxBfdJ
Стабилизатор LM7805: https://goo.gl/zLuQXa
В случае использования блока питания на 5В "танцы" с последовательным включением панелей и использованием стабилизатора не нужны.
Наши математические изыскания не прошли зря, победить прошивку кэшированием не удалось) Сейчас даже звучит смешно, но с чего-то начинать нужно было.
Я твердо верю в удачу, и я заметил: чем больше я работаю, тем я удачливее.
Мне посчастливилось достаточно ускорить вычисление арктангенсов, в итоге мы имеем полностью рабочую систему. Принтер печатает довольно качественно и позволяет увеличивать скорость без пропуска шагов)
Экшн начинается с 19 минуты, до этого - скучная математика)))
2017-07-03 09:30:51
Актуально только для пользователей Linux. Хотя форвардинг можно настроить конечно и в Windows ( ...
+ развернуть текстсохранённая копия
Актуально только для пользователей Linux. Хотя форвардинг можно настроить конечно и в Windows (например как рассказано вот тут: http://d51x.ru/page/udalennyj-dostup-x11-forwarding).
Была вот такая пара инструкций, http://3dtoday.ru/blogs/eta4ever/orange-octopus-junior-and-penguin-stuff/, http://3dtoday.ru/blogs/photo-mickey/flash-the-arduino-via-the-raspberry-pi/, не освящают они еще одной такой интересной возможности прошивки из под малинки.
В Linux в графической системе X есть такая замечательная возможность, как пробрасывание графического интерфейса программы через сеть. Нет, это не rdp, vnc и тому подобное, где пробрасывается полностью рабочий стол (хотя последние rdp уже умеют пробрасывать только программу). Ею мы и воспользуемся, для того, чтобы прямо на нашей малинке редактировать, компилировать и тут же прошивать наш 3d printer.
Что для этого потребуется?
Установить arduino не младше 1.6 на малинку (или апельсинку, кому как удобнее)
Настроить XForwarding в вашем клиенте ssh
Пользоваться
Устанавливаем Arduino
Есть два способа, сборка из исходников, использование готового .deb. Честно говоря я не стал особо мучаться со сборкой из исходников, т.к. ругнулось на что-то, опять ковыряться в битве с нужными версиями библиотек было в лом, пока поставил готовый deb.
Если так случилось, что вы уже поставили древнюю ардуино из стандартных репозиториев, удяляем их так:
Инструкции и готовую сборку взял отсюда: http://duinorasp.hansotten.com/arduino-1-6-x-for-raspberry-pi-jessie/
Вкратце, в моем случае это выглядело так:
Скачиваем пакеты:
arduino_1.6.0_all.deb
arduino-core_1.6.0_all.deb
Закидываем эти файлы в малинку с Octoprint (не спрашивайте как я использую обычно scp/sftp). Подключаемся по ssh к нашей малинке. Заходим в каталог, куда мы скачали пакеты. Там вводим вот это:
sudo su
apt-get update
dpkg -i arduino-core_1.6.0_all.deb arduino_1.6.0_all.deb
В процессе установки ругнется на отсутствующие зависимости. Это нормально, продолжаем процесс:
На этом все. Там же в инструкции есть вариант установки из исходников.
Настраиваем XForwarding в ssh
На вашем компьютере с Linux находим файл /etc/ssh/ssh_config, в конец добавляем следующие строки:
ForwardX11 yes
ForwardX11Trusted yes
Готово
Подключаемся, пользуемся
Подключаемся к нашей малинке через ssh как обычно. В установившемся сеансе просто тупо вводим arduino и жмем Enter. Слегка подумав на нашем компьютере открывается окно Arduino IDE:
Пользуемся как обычно - редактируем, прошиваем. Но нужно отключать Octoprint от принтера перед прошивкой.
Заключение
Конечно стоит отметить, что X форвардинг не такой шустрый, как скажем тот же VNC, тем более на малинке. Но тем не менее пользоваться можно, подправить несколько параметров и прошить - самое то. Хотя говорят, некоторые умудряются настраивать его так, что летает он похлеще VNC.
Хотелось бы конечно большего. Вебморду скажем какую нибудь, где все можно было бы редактировать и оттуда же по кнопке прошивать, с поддержкой Git т.е. просмотром истории изменений. Но пока ни сил не времени на это нет, тем более с консоли как то не особо охотно Marlin компилируется. Есть вот такой проект для компиляции с консоли: https://github.com/mmone/marlintool но у меня он не взлетел сразу, а ковырятся я не стал (кстати он между прочим без проблем у меня скачал последнюю Arduino IDE и собрал, так что если кому надо, может для этого использовать). Подробнее...