Category:

DOOMSUN E32-FNC. Подготовка.

— Аристид: Путь к гармонии частей

Весь проект был разбит на несколько этапов и растянулся на черт знает сколько месяцев. Торопиться не было причин, поэтому каждый из этапов реализовывался максимально тщательно и в полном объеме. В этой части повествования речь пойдет о самом первом этапе – подготовительном.

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

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

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

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

Одно дело, вдуть прошивку GRBL в ардуину, другое — бортовой микрокомпьютер с LinuxCNC или чем подобным. От выбора будет зависеть набор компонентов и масштабы затрат усилий/времени/денег.

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

Финалом этапа должно было стать принятие решения о дальнейшей судьбе проекта. Если выяснится, что имеющийся на руках набор выживших деталей составляет порядка 60-70% от проекта — смысл продолжать есть. Если меньше — в морг на запчасти и материалы для других проектов…


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

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

В некоторых, особо кривых случаях, резьбовые отверстия пришлось рассверливать на больший диаметр и восстанавливать, используя… я не знат как это кхаварить парусскеcoil insert или helicoil thread insert (см. гугл и ютуб):

Данный метод позволил исправить большинство просверленных наперекосяк отверстий и кое-как нарезанных в них резьб.

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

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

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

Впоследствии, такие узлы складываются в конечную конструкцию по тому же принципу:

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

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

Деталька за деталькой, сложился своеобразный кит для сборки станка. С подробным описанием по составу деталей и крепежа:


Оставалось дополнить проект электроникой. На уровне данного этапа, собственно, сам блок управления был не нужен в своем физическом воплощении. Но было нужно понимание того, каким он будет и что для него понадобится.

Да, разумеется, у меня в загашнике валяется прямо уже готовая сборка на базе уны:

Т.е. это прям уже буквально готовый контроллер для которого не хватает только блока питания и проводов к моторам. Но… «Мужик, признайся, ведь ты сюда не охотиться пришел?«(с)медведь…

Кстати, это уже не первый робот, которого я строю. Устройств, где теоретически эта сборка могла бы использоваться, среди моих проектов набралось предостаточно. Но она все лежит и лежит… Лет, наверное уже десять не покидает загашник. Каждый раз достаю ее, сдуваю пыль и потом, по результатам размышлений и поиска альтернатив, убираю обратно. Очень полезная и нужная сборка… Трилобитина недовымершая…

В свое время мне довелось поработать с одним фрезером под управлением LinuxCNC. Огромная хрень размером с сарай. А «у ней внутре неонка»! В смысле обычная «малина». Только не «малина», которая «малина», а которая RPi Compute Module. Но, один хрен, это все равно самая обычная «малина».

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

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

Более того! Нередко, малина, при таком раскладе, выступает лишь в роли «компьютера», а непосредственно моторами уже рулит какая-нибудь ардуина в качестве «контроллера»:

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

Именно из-за этого, на имеющемся у меня среднеформатном чпу по дереву довольно часто возникают проблемы с резкой чего-то тверже панели MDF или «заборной» доски. Панель из дуба — все, приплыли! Если только очень-очень медленно с очень-очень небольшой глубиной выборки за проход. Причем с моторами и шпинделем все ОК. Даже самые «короткие» Nema23 — те еще звери в плане торка. Но что от этого толку, если драйвер им, в лучшем случае, лишь половину допустимой силы тока выдает.

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

А найти для малины «шапку» под внешние драйверы — оказалось не такой простой задачей! Я знаю, это звучит странно, но так и было на тот момент. Весь чертов гугол перерыл и все почти впустую… Иногда попадались «шапки» с дополнительным выходом на внешние драйверы. Но все какие-то убогие, избыточные, недоделанные…

Да, естественно, абсолютно ничего не мешало взять нормальную «шапку» под бортовые драйверы, слепить для них «заглушки» с выводами на внешние и успокоиться. Еще можно было придумать и сделать свою свою собственную «шапку». Тоже не велика проблема. Но все это какие-то костыли, кулибничество и сантех, право-слово. Хотелось чего-то… Сам не знаю чего… Но чтобы работало вот так. Чтобы оно было одним красивым целостным решением «из коробки». Надоели говно и палки. Их, вон, и без того, в механической части проекта достаточно присутствует.

В общем, крутил это все в голове так, сяк и наперекосяк, прыгая между крайностями «GRBL на ардуине» и «LinuxCNC на малине». Как будто ничего другого и в природе не существует…

Да, я был в курсе, про уже готовые специализированные «контроллерные коробки» для ЧПУ фрезеров.

Но, во-первых, им все равно нужен какой-то внешний комп для управления, а, во-вторых, цены на них… Да и внутри оно все равно мало чем отличается принципиально от «ардуино с GRBL». Только мороки больше, применительно к любительскому DIY. Имел с такими дело в контексте промышленного оборудования. Поглядывал, конечно, в сторону такого решения, но не особенно пристально…

Эти муки буриданова осла закончились, когда однажды вечером понадобилось слегка подправить прошивку в одном из выключателей света дома. У меня с ним разошлись взгляды на то, что считать «движением в комнате». Точнее, даже, не у меня, а у Кота… Впрочем, не суть…

Все контроллеры в составе своего «умного дома» я давно уже перевел на использование микроконтроллера ESP32. И вот только тут меня и осенило провести изыскания в области его применения в качестве контроллера для ЧПУ станка. Хотя, казалось бы, идея должна была лежать на поверхности с самого начала. Плохо быть рабом инертности и проф-деформации мышления. Не будь рабом!

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

Во-первых, существует уже готовая доска для FluidNC под работу с внешними драйверами моторов (6 Pack 2.0 External):

Не нужно ничего искать или изобретать свои велосипеды. Автор, вроде бы, продает эти доски готовыми, но на тот момент в наличие их у него не было. Зато, хвала опенсорсу, тот же автор дает все исходники, по которым можно самому заказать у китайцев производство готовых или полуготовых плат, приложив абсолютный минимум усилий.

Во-вторых, оно по умолчанию уже рассчитано на 6 осей. А это тоже было проблемой в предыдущих изысканиях. Все 6 мне не нужно, конечно, но 4 — нужно. Дело в том, что к восстанавливаемым руинам в комплекте шла ось «А»:

В оригинале она могла подключаться вместо оси «Y». Но это же хрень какая-то в нынешние то времена. Зачем «вместо», когда можно «вместе»? К сожалению, большинство хоббийных решений для ардуин и малин — исключительно 3-осевые. Та же беда и с прошивкой GRBL — в классическом варианте она умеет только в три оси (во всяком случае, так было на момент реализации этого проекта). У FluidNC такой проблемы нет уже из коробки. Как и у доски выше, понятное дело.

В-третьих, вариант с ESP32 решает сразу две задачи. Оно и «контроллер», и «компьютер» в одном флаконе. Еще и с удаленным управлением по WiFi или BT. Еще и с сервером на борту, дающим прямой веб-интерфейс для управления станком. Еще и выход на любой другой вариант внешнего управления, если понадобится.

В общем, чем больше я читал про FluidNC, тем оно мне больше нравилось. Уж чего-чего, а ESP32 всех версий у меня по ящикам завались! Даже из кресла вылезать не пришлось. Еще не дочитал вики по прошивке, а оно уже работало:

Вообще без шаманства «в один клик», как того и хотелось.


Итог подготовительного этапа:

  • Железо — есть.
  • Крепеж — есть.
  • Блок управления — условно есть
  • Сопутствующие электронные компоненты, типа кнопочек-проводков — частично есть, частично — добыть не проблема.

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

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

При таком раскладе, большинством голосов в голове проекту был дан «зеленый свет».

Такие дела… Продолжение тут.