Всем привет. Меня зовут Сергей и я занимаюсь разработками 3D-принтеров. В данной статье пойдёт речь о том, что делать, если периодически отключают электропитание, а печатать (имеется в виду 3D печать) очень хочется.
Немного предыстории
Есть у меня заказчик из одного солнечного города, и там есть некоторые проблемы с питанием. Порой, свет отключают на пару секунд, а порой и несколько часов. Никакой периодичности или расписания, понятное дело, нет. С этой проблемой заказчик ко мне и обратился. Я, как и все, как и многие посоветовал ему поставить источник бесперебойного питания. Да, это помогает, но от кратковременных отключений. Что ещё сделать можно? Этим вопросом задался я…
И решение есть, более того, эта опция в самом начале разработки задумывалась, но реализация, как обычно, затянулась.
Итак, что у нас есть:
1. Принтер. В данном случае это RK-1, но может быть и другой любой принтер. Как FDM (только при печати PLA пластиком или аналогами), SLA, так и DLP. Важное замечание-принтер должен отслеживать напряжения питания с блока питания (тавтология, но не страшно, суть понятна).
2. Сеть с нестабильным напряжением (питанием).
Суть метода сводится к тому, что напряжение питания с блока питания не падает с номинала до нуля моментально. А есть некий переходный процесс. При чём, время падения напряжения зависит от нагрузки. Чем больше нагрузка, тем меньше время и наоборот.
Реализация
Постепенное падение напряжение с блока питания мы и будем использовать для реализации задумки. Условно разделим работу на несколько последовательных шагов.
Шаг первый.
Отслеживаем падение напряжения. Напряжение питания блока питания 24В, если напряжение питания падает менее 20В и находится в этой области более 10 мс, то запускается процесс остановки и сохранения.
Шаг второй
Выключение дисплея, остановка шаговых моторов и снятие с них нагрузки.
Шаг третий
Выключение лазерного диода.
Получается, что все основные потребители мы отключили и можем автономно работать какое-то время от блока питания. График падения напряжения выглядит примерно так:
Шаг четвёртый
Необходимо сохранить в энергонезависимую память следующие параметры:
- текущее положение оси Z и режим (был подъем или опускание);
- имя печатаемого файла;
- номер строки файла, на которой были остановлены шаговые моторы.
На это тратится менее 10 мс. Всё, теперь можно спокойно «помирать» )
После включения «принтер» смотрит, есть ли записи об остановке печати. Ищет файл на флешке, ищет строку, на которой была остановлена печать. И запускает процесс печати.
Но, есть нюансы:
Первый: ось Z не нужно трогать, если движения по Z не происходило.
Второй: нельзя обнулять оси по концевикам. Дело в том, что концевики не так точны, как хотелось бы, хоть стоят и оптические. Нужно делать так: зная текущее положение на оси, сместиться к концевику и запустить там лазер, после чего вернуться в исходное положение и продолжить печать. Аналогичным образом можно поступить и в случае работы с FDM принтером. Хотя, возможно, там это и не скажется на модели (не видно будет).
Вот и небольшое видео о том, как это работает.
Спасибо за внимание. Какие методы вы ещё знаете?
Автор: Sergiv