Category:

DOOMSUN E32-FNC. Блок управления.

— Амонемхеп: Мудрость Птаххотепхафа.

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


Исходный блок управления у этого станка был вообще никакой.

Подробнее про него было написано в первой части повествования. Для восстановленной версии станка, из него не было взято ни единого компонента. Собственно, даже и в загашник то на будущее от него нечего было отправить, кроме трансформатора. Да и то…

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


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

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

Хотя, в сущности, компоненты те же по смыслу. Просто обернуты в современные фантики. Вместо трансформатора с выпрямителем — полноценный блок питания. Вместо самопальной платы управления — драйвер с куда большим набором функций (даже с дисплеем, показывающим обороты) и т.п.

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


При разработке нового блока управления, нужно было постараться сделать его универсальным. И вот почему: для своего среднеформатного чпу-фрезера по дереву, я планирую проделать почти такой же «апгрейд» со временем. Заменить в нем всю штатную электронику на в точности ту же самую, что будет использована для этого проекта. Соответственно, ему потребуется точно такой же блок управления с весьма незначительными изменениями. Чтобы не делать одну работу дважды, следовало унифицировать все, что только возможно, чтобы потом не нужно было изобретать ничего нового.

Более того, необходимо было учитывать возможное появление новых потребностей, которые могут возникнуть вов ремя эксплуатации. Это сейчас станок 4-осевой (X, Y, Z и A). Но не исключено, что позже захочется добавить еще одну ось. Но, еще вероятнее, не очередную ость, а систему автоматической смены инструмента и автоматическую подачу СОЖ. Это нужно учесть уже сейчас и делать блок управления способным к расширению функционала. Пускай, вот прямо сейчас это будет выглядеть неоправданно большой полупустой коробкой. Но в будущем, это должно будет окупиться… Теоретически…

Исходя из таких соображений родилась конструкция, способная принять в себя два блока питания, плату управления, кучу реле, и до 8 драйверов стандартного размера:

Тут нужно понимать, что плата управления, как и прошивка FluidNC, поддерживают работу максимум 6 осей. Закладывание в конструкцию блока управления под 8 драйверов, на самом деле есть ни что иное, как резервирование некоего объема пространства для будущих расширений системы:

Для данного конкретного станка будут заняты 5 позиций из 8: драйверы осей X, Y, Z, A + драйвер шпинделя. 3 позиции остаются «зарезервированными». В данном случае удобно оперировать такими «драйверными» позициями потому, что они более-менее стандартны. Как юниты в серверной стойке. Достаточно собрать любое устройство в формфакторе такого «юнита» и оно гарантированно влезет на позицию в кузове блока управления.

Таким образом блок управления можно условно разделись на 7 основных составляющих:

  1. Передняя панель
  2. Отсек блоков питания
  3. Сервисный отсек
  4. Отсек драйверов
  5. Отсек контроллера
  6. Задняя панель
  7. Обшивка

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


Передняя панель

Из соображений универсальности и возможной модификации, передняя панель была задумана «модульной». Состоит из основной несущей части и двух вкладышей-субпанелей:

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

Основа для несущей части печаталась целиком, благо, что размер стола принтера это позволяет:

Верхний вкладыш для этой несущей части отведён под органы управления конкретно этим станком (для другого стонка она будет другой по составу).

Про выключатель основного питания — понятно. Вкл-выкл всей системы.

Кнопка аварийной остановки под ним вырубает все моторы вне зависимости от того, что думает на этот счет сам контроллер. От самого контроллера вообще никак не зависит. Она физически разрывает цепь питания на всех реле через которые идет питание к драйверам моторов. Без питания реле размыкаются (они все «нормально разомкнутые») и все останавливается. Нет электричества, нет движения…

Всегда помните: мы главные на этой планете лишь до тер пор, пока имеем возможность выдернуть роботу вилку из розетки!

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

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

На «взрослых» станках у меня такая необходимость возникала постоянно. Особенно, при изготовлении какого-нибудь простого штучного прототипа. Для его изготовления обычно бралась какая-нибудь рандомная железка из отбросов. Понятно, что до начала резки, такую железку необходимо было превратить в условную заготовку. Хоть одну базовую поверхность ей сделать ровной для последующего позиционирования. И вместо того, чтобы тратить пол часа на рисование модели случайной железки и построения путей для единственного прохода face mill, было проще выставить вручную обороты на шпинделе и тупо руками покрутить ручку той или иной оси, воспользовавшись станком примитивным олдскульным способом. Пара минут и базовая поверхность готова.

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

Еще момент про который надо помнить: переключатель «вкл/выкл» для шпинделя работает вне зависимости от того, в «ручном» он режиме или в «автоматическом». Если он выкл., то он выкл. И все тут. В любом из режимов. Это потому, что я больной на всю голову параноик. И до судорог боюсь быстро вращающихся предметов с острыми, как бритва кромками. Сейчас у станка нет автоматической смены инструмента. И я хочу быть уверен, что во время ручной смены фрезы, ни в чью тупую электронную голову не придет вдруг идея запустить шпиндель… Хотя, ничего подобного в моей жизни никогда не случалось… Но раз в жизни и палка стреляет, как известно…

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

В целом же, набор органов управления на блоке предельно минимален.


Нижний вкладыш на передней панели выполняет функции воздухозаборника:

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

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

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


Задняя панель.

Задняя панель блока управления так же предельно проста. На ней только разъемы для подключения к станку и подача общего питания. Как и для передней панели, основная несущая часть задней, печаталась одним куском:

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

Там выше это не было упомянуто, но все такие вкладыши представляют собой напечатанную на 3D-принтере панель, на которую наклеивается виниловая пленка с напечатанным на обычном принтере рисунками/подписями:

Еще одним преимуществом «модульного» подхода в данном контексте является то, что не нужно тыкать паяльником где-то там в глубинах корпуса. Можно вытащить вкладыш с компонентами на рабочий стол и аккуратно все собрать-припаять в комфортной обстановке. Как следствие, все ветки проводов, идущие от разъемов и органов управления, были собраны максимально аккуратно. С термоусадками, нейлоновыми чулочками, оконечниками для клемм и т.п.

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


Про вентиляторы… Тут, вынужден признать, я слегка погорячился. Достаточно было бы и одного. Маленького. Но как-то так вышло, что здесь я попал в самый центр вот такой диаграммы Эйлера — Венна («Science, Bitch!»):

Использовалась серверная версия 120мм вентиляторов. У меня их целая коробка в загашниках. У них есть своя интересная история. Но я ее не буду рассказывать… Самое главное тут — их у меня как грязи ваще! Поэтому неумеренное применения оных где ни попадя в неадекватных количествах — неизбежный результат.

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


Отсек драйверов.

Занимает бОльшую часть пространства управляющего блока:

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

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

В данном случае, я использовал драйверы моторов DM542T от STEPPERONLINE:

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

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


Отсек контроллера.

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

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

На текущий момент контроллер снабжен всеми модулями на всякий случай:

Модули входов и выходов в текущей конфигурации системы никак не задействованы. Они просто есть. Пока хватает тех I/O, что есть на материнской плате «по умолчанию». Даже парочка свободных осталось. Так, что, если возникнет нужда расширить функционал контроллера — там есть куда…

Обычно, люди используют «лишние» I/O для базовых кнопок управления. Типа, там, «Стоп», «Пауза», «Цикл» и т.п. Но я решил не делать эти кнопки на блоке управления. Во-первых, они все равно не покрывают всех нужд по управлению станком. Во-вторых, как уже говорилось выше, для этого будет организована отдельная большая операторская консоль.


Отсек блоков питания.

Второй по габаритам отсек внутри блока управления. Рассчитан на размещение двух стандартных «кирпичей». Их надо два т.к. для шпинделя используется одно напряжение (48V), для всего остального — другое (24V). Причем и то, и то, хочет этого напряжения много. Соответственно, проще использовать два раздельных, но полноценных по мощности БП, чем городить из одного и кучи стрёмных преобразователей.

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


Сервисный отсек.

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

На текущий момент, там поселился блок реле. Он имеет 8 «каналов» и нужен, в основном, для работы «аварийной кнопки» по нажатию на которую вырубается питание на всех драйверах (т.е. по факту она перерубает питание для всей этой рейки и все реле на ней уходят в «нормально-разомкнутое» состояние).

Пять реле обслуживают питание каждого из драйверов (разделяй и властвуй). Одно было приспособлено для подачи условного сигнала контроллеру о задействовании «аварийной кнопки». Контроллер с этим все равно ничего не сможет сделать (моторы палюбасу встанут колом без питания), но он будет проинформирован об этом прискорбном факте и прекратит попытки выполнять программу дальше, поставив ее на паузу. Хотя, он, теоретически, может продолжить творить всякую непотребную дичь. Но в этом случае уже никто не пострадает и контроллер будет тихо захлебываться в своей бессильной злобе, пока не будет приведен в чувство.

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

Так же в этом отсеке блока управления поселилась понижайка для платы контроллера:

В принципе, плата контроллера может работать от 24V напрямую с одного из блоков питания. Но это предельное для нее значение. Не стоит насиловать электронику, если есть возможность этого не делать. С понижайкой до комфортных 12V всем будет жить спокойнее. Да и светодиоды подсветки от чего-то прикурить надо…


Обшивка.

Набор внешних панелей корпуса. Их фишка в том, что ни одна из них не является несущей чего-либо из внутренностей. Организовано все таким образом, что для доступа к тому или иному компоненту блока управления, нет нужды разбирать корпус целиком. Достаточно открутить одну переднюю/заднюю панель и какую-то одну боковую/верхнюю/нижнюю (в зависимости от того, к чему именно нужно получить доступ). Все остальное можно оставить на месте. Это сильно упрощает обслуживание.

Например, добраться до контроллера:

Или поменять установки на драйверах шаговых моторов:

Удобно…


Итого:

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

Но еще и с этим станком тема далеко не закрыта. Так, что…

Окончание цикла читайте тут