Всем привет. Меня зовут Сергей и я занимаюсь разработками 3D-принтеров. В данной статье пойдёт речь о том, что делать, если периодически отключают электропитание, а печатать (имеется в виду 3D печать) очень хочется.



Немного предыстории

Есть у меня заказчик из одного солнечного города, и там есть некоторые проблемы с питанием. Порой, свет отключают на пару секунд, а порой и несколько часов. Никакой периодичности или расписания, понятное дело, нет. С этой проблемой заказчик ко мне и обратился. Я, как и все, как и многие посоветовал ему поставить источник бесперебойного питания. Да, это помогает, но от кратковременных отключений. Что ещё сделать можно? Этим вопросом задался я…

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

Итак, что у нас есть:

1. Принтер. В данном случае это RK-1, но может быть и другой любой принтер. Как FDM (только при печати PLA пластиком или аналогами), SLA, так и DLP. Важное замечание-принтер должен отслеживать напряжения питания с блока питания (тавтология, но не страшно, суть понятна).
2. Сеть с нестабильным напряжением (питанием).

Суть метода сводится к тому, что напряжение питания с блока питания не падает с номинала до нуля моментально. А есть некий переходный процесс. При чём, время падения напряжения зависит от нагрузки. Чем больше нагрузка, тем меньше время и наоборот.

Реализация

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

Шаг первый.

Отслеживаем падение напряжения. Напряжение питания блока питания 24В, если напряжение питания падает менее 20В и находится в этой области более 10 мс, то запускается процесс остановки и сохранения.

Шаг второй

Выключение дисплея, остановка шаговых моторов и снятие с них нагрузки.

Шаг третий

Выключение лазерного диода.

Получается, что все основные потребители мы отключили и можем автономно работать какое-то время от блока питания. График падения напряжения выглядит примерно так:



Шаг четвёртый

Необходимо сохранить в энергонезависимую память следующие параметры:

  • текущее положение оси Z и режим (был подъем или опускание);
  • имя печатаемого файла;
  • номер строки файла, на которой были остановлены шаговые моторы.

На это тратится менее 10 мс. Всё, теперь можно спокойно «помирать» )

После включения «принтер» смотрит, есть ли записи об остановке печати. Ищет файл на флешке, ищет строку, на которой была остановлена печать. И запускает процесс печати.

Но, есть нюансы:

Первый: ось Z не нужно трогать, если движения по Z не происходило.

Второй: нельзя обнулять оси по концевикам. Дело в том, что концевики не так точны, как хотелось бы, хоть стоят и оптические. Нужно делать так: зная текущее положение на оси, сместиться к концевику и запустить там лазер, после чего вернуться в исходное положение и продолжить печать. Аналогичным образом можно поступить и в случае работы с FDM принтером. Хотя, возможно, там это и не скажется на модели (не видно будет).

Вот и небольшое видео о том, как это работает.



Спасибо за внимание. Какие методы вы ещё знаете?
Поделиться с друзьями
-->

Комментарии (46)


  1. igorch96
    04.05.2017 07:54

    Может стоит подумать насчёт генератора?


    1. Sergiv
      04.05.2017 08:39

      Можно и генератор, но это дороже сильно будет + автоматика нужна будет.


  1. DarkByte
    04.05.2017 08:35

    А почему просто не подключить аккумулятор параллельно блоку питания?


    1. Sergiv
      04.05.2017 08:45
      +1

      Аккумулятору нужен будет контроллер, который не позволить аккумулятору перезарядиться или перезарядиться. По сути, тот же источник бесперебойного питания получится.


      1. DarkByte
        04.05.2017 08:54

        В случае, если взять свинцово-кислотный АКБ, то достаточно будет просто выставить на блоке питания соответствующее напряжение и обойтись без контроллера заряда. С разрядом да, желательно контролировать, но можно сказать, что в вашем случае это уже реализовано. Когда напряжение опустится ниже 20В, все мощные нагрузки выключатся, а контроллеру потребуется довольно много времени для того, чтобы убить АКБ.


    1. lleo_aha
      04.05.2017 09:11
      +3

      ИБП :) Ну и видимо слишком просто — не подразумевает возни :)


      1. Sergiv
        04.05.2017 09:13
        +1

        Я же написал почему он не очень подходит, а что бы подходил (долгая автономная работа), то возни получится ещё больше. Тут возня — один раз написать алгоритм и поставить АЦП. Всё. Проще же, согласны?


        1. lleo_aha
          04.05.2017 10:12

          Просто RK-1 написано что энергопотребление 20 Вт. Добавим 100% потерь — 40Вт.

          У меня дома стоит ИБП (бюджет: 3к примерно — бу ибп и аккумулятор), который такую нагрузку будет тянуть примерно часов 20.

          Т.е. я подключаю ИБП и проблема решена, не?


          1. Sergiv
            04.05.2017 10:17
            -1

            Решена, но это нужно дополнительно покупать ИБП. А так не надо )


    1. Petru44a
      04.05.2017 10:43

      У себя так и сделал: на БП выкрутил подстроечный резистор на напряжение 13.7В, вывел клеммы +-12В и подсоединил автомобильный аккумулятор. Полчаса печати ABS без света с подогревом стола у меня точно есть.


      1. Sergiv
        04.05.2017 10:44

        А что будет если аккумулятор разрядится в ноль? Выкините и новый купите?


        1. Petru44a
          04.05.2017 10:48
          +1

          В моей реальности свет больше чем на 2 минуты последние 5 лет не выключали. За аккум не переживаю — по назначению в машине он свое отработал. Функция постановки печати на энергонезависимую паузу интересна, но про реализацию её я не слышал. Если знаете как и ткнете носом как это сделать в Marlin — буду весьма признателен


          1. Sergiv
            04.05.2017 10:49

            Я вот тоже не помню, когда последний раз выключали )
            К сожалению, не ткну (


          1. lonelymyp
            05.05.2017 00:18

            Энергонезависимо нельзя.
            во первых моторы должны оставаться под напряжением, чтобы не потерять положение микрошагов (без напряжения мотор из любого микрошага повернётся в ближайший полный шаг) а при калибровке в ноль есть погрешность равная погрешности датчикам нуля.
            во вторых проблема подогрева, без подогрева модель рискует отщёлкнуться от стола.

            так что тут разве что вести лог печати, чтобы по номеру крайнего распечатанного слоя. можно было допечатать оставшуюся половину детали и склеить.


            1. Diordna
              06.05.2017 17:25

              Я удивляюсь почему это еще не реализовано в кастомных прошивках домашних 3D принтеров


            1. Sergiv
              06.05.2017 17:32

              Про моторы вы верно написали. Но, у меня, например, в принтере (RK-1) стоит винт с шагом 1 мм. И моторы с шагом 1,8 градусов. В данном случае погрешность при включении будет 0,005 мм ( 1/200). Что не критично.
              По датчикам нуля я уже писал, но обннуляться по ним не стоит.


        1. lonelymyp
          05.05.2017 00:11

          Когда аккумулятор сядет достаточно сильно и напряжение под нагрузкой просядет, вольт до 5, смотря какой контроллер, контроллер принтера вырубится
          Без нагрузки напряжение конечно сразу вырастет и контроллер заработает, но печать повторно уже не запустится без команды извне, поэтому ток потребления будет мизерный и аккумулятор уже особо не сядет в ближайшие сутки.
          Так что за просадку в ноль можно не беспокоится, дай бог до 5 вольт сядет, а по факту скорей всего даже больше останется.

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


  1. Galiaf47
    04.05.2017 09:49

    Касательно FDM принтеров, после остановки еще какая-то часть пластика постепенно выдавливается из головки, поэтому необходимо отодвигать ее от фигуры. Хватит ли времени на это?
    Продолжение печати произойдет с уже выдавленными остатками остывшего пластика, все это попадет в область печати и останется не только излишками которые можно срезать, но и препятствием для головки т.к. пластик уже остыл. Это если и не повредит принтер, то вероятно, повредит модель.
    Если печать происходит пластиком с большой усадкой (например ABS), есть ли смысл продолжать печать?
    После остывания ABS моделей, за счет усадки деталь сама отклеивается от стола, кроме того будет смещение геометрии.


    1. Sergiv
      04.05.2017 09:59

      Вместо сдвигания сопла можно ретракт сделать, но, быстрей ли он будет — вопрос. И хватит ли времени зависит только от емкости блока питания.
      Да, поэтому я и написал, что для PLA пойдёт только.


      1. BigBeaver
        04.05.2017 11:00

        Большинство экструдеров все равно подтекают немного даже после ретракта — будет сопля.


        1. Sergiv
          04.05.2017 11:06

          Понятно, не знал.


          1. BigBeaver
            04.05.2017 11:17

            Ну я имею ввиду, что сопло не мгновенно остывает, и через какое-то время расплавленный пластик просто начинает стекать, тк эта штука не работает, как герметичный поршень.


    1. Andy_Big
      04.05.2017 22:32

      После остывания ABS моделей, за счет усадки деталь сама отклеивается от стола

      Каптон, смазанный жиденьким-жиденьким раствором ABS в ацетоне держит модель даже после полного остывания стола так, что за модель можно весь принтер поднять :)


      1. BigBeaver
        04.05.2017 22:42

        От размера модели зависит и от слоя АБС. А то, на некоторых моделях очень тонка грань между «все равно отлипают края» и «че-то стекло опять лопнуло». Впрочем, в моем опыте нет каптона, но он не выглядит реально клейким и, полагаю, сам будет отлипать от стола на углах больших моделей, не?


        1. Andy_Big
          04.05.2017 23:13
          +1

          От размера модели зависит и от слоя АБС

          Вот сегодня только снимал со стола отпечатавшуюся за ночь основу катушки:
          image
          Диаметр — 185 мм, слой — 0.25 мм, печаталась на открытом принтере под приоткрытым окном :) Снимал с помощью шпателя, потому что просто оторвать от стола ее невозможно без повреждения ее самой или стола :) Стекла у меня нет, печатаю на родном алюминиевом столе, обклеенном каптоном.
          в моем опыте нет каптона, но он не выглядит реально клейким и, полагаю, сам будет отлипать от стола на углах больших моделей, не?

          Нет, сам каптон держится очень цепко. Только если с очень уж большим усилием тупо отрывать от него модель, то могут образоваться пузыри под каптоном, просто посередине ленты. Понятия не имею как туда попадает воздух :)
          Чистый каптон, кстати, тоже неплохо держит ABS и, наверное, будет прекрасно работать в закрытом принтере, где нет сквозняков и сильного градиента температуры.


          1. BigBeaver
            04.05.2017 23:29

            Тонкие модели не считаются (с большими вырезами тоже) — попробуйте кирпичь такой же выоты напечатать.


            1. Andy_Big
              05.05.2017 00:09

              Мне как-то жалко пластика и времени на то, чтобы печатать ненужный мне кирпич такого размера :)
              Вот скоро буду печатать стойки для держателя катушек, но у них, правда, большой размер только по длине, высота и ширина поскромнее :)


              1. BigBeaver
                05.05.2017 00:19

                Вы заполнение-то не делайте полным — грамм в 200 уложится, наверное)) У меня-то много пластика, но у меня и принтер/способ адгезии другой.

                В общем, суть в том, что если деталь тоньше определенной, то она полностью прогревается от стола до нужной температуры, и «скукоживания» не наступает. В принципе, речь о нескольких сантиметрах, в зависимости от условий печати.

                Если скукоживание наступает, то мы имеем либо отрыв от стола в точках концентрации нагрузки, либо деламинацию — смотря, где лучше спекание. При этом я вполне допускаю, что при определенных соотношениях не произойдет ни того ни другого — просто будет некоторая внутренняя напряженность.

                Если деталь высокая, но имеет определенные вырезы (нет прямых линий приложения силы, например), то нагрузка перераспределяется, и вероятность описанных негативных эффектов радикально снижается.

                Ладно. Если жалко пластика и/или времени — напечатайте куб 10-15см размером на «spiral vase». Полагаю, вы могли уже сталкиваться с таким тестом — отрыв углов он не покажет, но по нему можно примерно оценить, на детали какой высоты начинают проявляться негативные эффекты от тепловой усадки.

                p.s. спасибо за интересную дискуссию.


                1. Andy_Big
                  05.05.2017 00:35

                  Вы заполнение-то не делайте полным — грамм в 200 уложится, наверное)) У меня-то много пластика, но у меня и принтер/способ адгезии другой.

                  Понятно, что заполнение делать процентов 10, не больше… Но все равно — половина катушки на эксперимент? У меня пластика пока не так много, я только начал заниматься этим :)
                  В общем, суть в том, что если деталь тоньше определенной, то она полностью прогревается от стола до нужной температуры, и «скукоживания» не наступает. В принципе, речь о нескольких сантиметрах, в зависимости от условий печати.

                  Так я же писал — приходится зубами отгрызать деталь от полностью остывшего стола :)
                  Ладно. Если жалко пластика и/или времени — напечатайте куб 10-15см размером на «spiral vase».

                  Я для температурных тестов печатал стоячий параллелепипед высотой 10 см и со стороной 2.5 см (без верхнего/нижнего слоев), снижая температуру на каждом сантиметре высоты. Печатал слоем 0.2, в один периметр. Стенки у него получаются слегка волнистые, как гороховый стручок :) Попробую и куб 15 см.
                  Кстати, всегда печатаю на всякий случай брим 4-5 мм шириной.


                  1. BigBeaver
                    05.05.2017 00:45

                    «spiral vase» — это бесшовная фигура в 1 периметр. Именно для этого теста нижний слой и brim дадут одинаковый эффект.

                    параллелепипед высотой 10 см и со стороной 2.5 см
                    Тут суть в чем: чем больше ширина — тем выше линейная усадка, а соответственно и усилие на отрыв. Чем больше высота — тем больше плечо приложения силы.


                    1. Andy_Big
                      05.05.2017 01:43

                      «spiral vase» — это бесшовная фигура в 1 периметр

                      Да, я знаю, и знаю где включается этот режим в слайсере (Simplify3D).
                      Именно для этого теста нижний слой и brim дадут одинаковый эффект.

                      В ближайшие день-два попробую. Сейчас печатается втулка на шпильку для катушек, а завтра постараюсь поставить на печать пустой куб спиральной вазой с дном :)
                      Ничего, если я подачу прутка увеличу процентов до 130? Вдруг не развалится в процессе печати, то коробочка будет слегка прочнее, чем при обычной подаче :)


                      1. BigBeaver
                        05.05.2017 02:15

                        Выбор сопла и настроек печати за вами — их можно, как угодно, оптимизировать) Другой вопрос, что если вы не сможете напечатать другие детали с такими же параметрами, то от теста мало пользы — будет слишком синтетическим.

                        Но. Вместо коррекции подачи можно вручную задать ширину линии — тогда все корректно отслайсится на любой модели (ну в детализации чуть-чуть потеряете).

                        А вообще, я бы грубые крепежные детали типа вашей катушки печатал соплом хотя бы 0.7-1мм — ждать целую ночь как-то ад.


                        1. Andy_Big
                          05.05.2017 02:22

                          Другой вопрос, что если вы не сможете напечатать другие детали с такими же параметрами, то от теста мало пользы — будет слишком синтетическим.

                          Действительно, смысл теста теряется. Оставлю параметры по умолчанию :)
                          А вообще, я бы грубые крепежные детали типа вашей катушки печатал соплом хотя бы 0.7-1мм — ждать целую ночь как-то ад.

                          Нету. Есть только 0.4 :) Заказывал дополнительно три сопла — 0.3, 0.5 и 0.8 — китаец прислал три по 0.4 :)
                          Я не жду. Принтер в офисе, поставил печатать и поехал домой. Утром приехал, снял деталь :)


                          1. BigBeaver
                            05.05.2017 03:42

                            Я разсверливал) Не то что бы супер технология, но работает))


                            1. Andy_Big
                              05.05.2017 03:59

                              Я лучше еще раз закажу, у другого китайца. Мне не к спеху :)


                1. Andy_Big
                  05.05.2017 17:23

                  Напечатал. Уголки слегка приподнялись (где-то на 0.5мм), но оторвать брим (4мм шириной) не смогли :)
                  image
                  image
                  Деламинация выше 10 см — вполне понятное явление на открытом принтере, удивительно, что она раньше не проявилась :)


                  1. BigBeaver
                    05.05.2017 17:33

                    Уголки слегка приподнялись (где-то на 0.5мм), но оторвать брим (4мм шириной) не смогли :)
                    Все в деформацию стенок ушло — с заполнением был бы другой расклад, но полагаю, идею вы уловили)

                    А вообще неплохо, у меня, вроде, раньше начинает слоиться. Впрочем, я на высокой температуре печатаю для обеспечения нужной подачи. надо попробовать будет тоже на досуге.


                    1. Andy_Big
                      05.05.2017 17:44

                      С заполнением было бы дно, которое держало бы дополнительно, тут же удерживает только узенькая полоска брима :)
                      Я печатал на 255 градусах первый слой и на 250 остальные. Стол — 110 градусов до 1.5 см высоты, дальше 100 градусов. Обдув включен на 20% со второго слоя.


  1. BigBeaver
    04.05.2017 10:57

    Второй: нельзя обнулять оси по концевикам.
    Постоянно так делаю. Возможно, на моих деталях просто не видно погрешность, но тем не менее.

    Основная проблема с FDM — остывание стола при сколь-нибудь существенном простое без питания. А он под 100 ватт может легко жрать. Просто мерцаний света нормальный БП даже не заметит, а выключение хоть на минуту уже почти гарантирует фэйл.


    1. Sergiv
      04.05.2017 11:00

      На FDM, думаю, этого не заметно будет, но на SLAбудет полоска, которая всё портит. Проверено )
      Я печатаю иногда на FDM PLA пластиком, так он не отрывается легко при остывании. ABS отвалится, конечно, сразу. Даже проекты есть, когда после печати сопло и стол остывает и головкой срывают модель и принтер готов к печати )


  1. r00tGER
    04.05.2017 14:16

    У меня сложилось впечатление, что для вас постепенное падение выходного напряжения БП — это какое-то волшебство.

    Как минимум, можно поставить конденсатор большей емкости и получить больше времени на аварийные маневры.


  1. sotnikdv
    04.05.2017 14:39
    +1

    Нет, с точки зрения элегантности решения — круто. А так старый ИБП и аккум к нему обойдутся мне копейки и будут тянуть машинку очень долго. Пищать только замучает.

    Но автору + за инженерный склад ума и прямые руки


    1. Sergiv
      04.05.2017 15:10
      +1

      Спасибо, приятно! А пищалку можно отпаять )


  1. alexponom
    04.05.2017 15:10
    +1

    Есть волшебная вещь, называется инвертор, к нем акумм такой какой хотите. Я себе поставил на газовый котел и акумм от грузовика. Хватает на 24 часа, контролер инвертора проверяет заряд и не допускает разряд, инвертор в отличии от ИБП дает правильный синус и ориентирован на питание двигателей в отличие от обычных ИБП, то есть еще и допускает пиковые токи. У сего девайса есть порт для контроля, ничего городить не надо. На все это сверху повесил GSM сигнализацию которая шлет мне СМС когда сеть отключается или напряжение проседает, ну и котел контролирует, но это не всегда удобно, поэтому параллельно будет висеть web-сервер чтобы через тырнет все мониторить и управлять, но это другая история. Думаю что для 3Д это будет правильным решением. За 3 года эксплуатации не было ни одного нарекания, все работает как часы с момента как смонтировал. Мало одного аккума, можно прицепить парочку, мне достаточно одного на 24 часа. И главное это решение недорогое, простое и масштабируемое (ну в разумных пределах).


  1. NoRegrets
    04.05.2017 22:36
    +1

    что делать, если периодически отключают электропитание, а печатать (имеется в виду 3D печать) очень хочется

    Заранее напечатать себе бесперебойник и генератор.


    1. max_bma
      06.05.2017 13:33

      Кстати медью уже научились печатать?