µMill - ручная микрофрезерная мельница с ЧПУ с цифровым с..
Описание
Около года назад я опубликовал Proxxon KT70 PCB Micro Mill — компактный и точный станок с ЧПУ для фрезерования печатных плат и мелких деталей. Он быстро стал ценным инструментом в моей мастерской.
Однако мне часто хотелось иметь более практичное решение — что-то, что позволяло бы осуществлять быструю настройку или простые ручные операции без необходимости проходить полный рабочий процесс с ЧПУ. Име��но это побудило меня создать µMill: гибридную ручную микрофрезерную станку с цифровым считыванием положения, компактной электроникой и удобным управлением, при этом способную работать с ЧПУ.
Ключевые особенности
Ручное управление XY с цифровым считыванием
Плавное и точное ручное перемещение по осям X и Y, измеряемое с помощью поворотных энкодеров высокого разрешения и отображаемое на ЖК-экране 128x64. Обе оси можно обнулить независимо с помощью специальных кнопок, что идеально подходит для относительных измерений и изменения положения.
Управление и отображение скорости шпинделя
Потенциометр, установленный сверху, регулирует скорость шпинделя, при этом ожидаемое число оборотов в минуту отображается на экране. Шпиндель активируется зеленой кнопкой.
Система аварийной остановки
Красная кнопка безопасности немедленно отключает двигатель и закорачивает провода шпинделя, чтобы быстро затормозить вращение, обеспечивая удобство и спокойствие.
Приложения
Ручное редактирование и исправление печатной платы
Фрезерование небольших пластиковых или алюминиевых деталей.
Удаление заусенцев, гравировка и очистка поверхности.
Обучающая платформа для работы с цифровыми показаниями (ДРО)
Обзор электроники и прошивки
µMill оснащен специальным контроллером на базе Arduino, который обрабатывает пользовательский ввод, управляет шпинделем и отслеживает положение.
Компоненты:
Arduino Nano (или совместимый) — основной микроконтроллер
2 магнитных энкодера AS5600 — для определения положения X и Y
ЖК-дисплей SPI 128 × 64 — показывает обороты в минуту и текущие координаты XY.
Потенциометр 10k — устанавливает скорость шпинделя и отображает обороты в минуту.
Транзистор TIP120 — управляет шпинделем с помощью ШИМ.
Красный аварийный останов — отключает и тормозит шпиндель.
Зеленый Включение шпинделя — включает шпиндель на заданной скорости.
Черные кнопки сброса — обнуление оси X или Y по отдельности.
Двигатель шпинделя постоянного тока — управляется через ШИМ
Особенности прошивки:
Измерение в реальном времени:
Поворотные энкодеры высокого разрешения обеспечивают плавные и точные показания смещения. Данные кодировщика фильтруются программным обеспечением и обновляются каждые 20 мс.
Графический интерфейс:
На ЖК-дисплее отображается:
Расчетное число оборотов шпинделя
Смещение по X и Y (в мм)
Логотип µMill
Контроль скорости:
Аналоговое значение потенциометра отображается на выходе ШИМ и в реальном времени на экране.
Аварийная безопасность:
Красная кнопка остановки одновременно отключает питание и активно тормозит двигатель для безопасной и быстрой остановки.
Проекты, созданные с помощью µMill
Вот проект печатной платы, спроектированный и фрезерованный на станке с ЧПУ:
Концевой фильтр оптопары:
Заключительные мысли
Я надеюсь, что этот проект вдохновит других на создание собственной µMill. Это была веселая и полезная задача, и она оказалась более полезной, чем я ожидал, особенно для быстрых ручных задач с точным позиционированием.
Если будет достаточный интерес, я буду рад улучшить и расширить проект вместе с сообществом. Возможные будущие обновления могут включать:
Поддержка оси Z
Изготовленная на заказ печатная плата со всеми компонентами
Подробное руководство по сборке и подключению.
Публичный репозиторий GitHub
Если у вас возникнут какие-либо проблемы или возникнут вопросы по сборке, не стесняйтесь спрашивать — я сделаю все возможное, чтобы помочь и все понятно объяснить.
На данный момент я делюсь кодом прошивки прямо ниже.
#include
#include
#include
AS5600 as5600; // Объект для датчика AS5600
// Инициализируем ЖК-дисплей 128x64 (SPI), повернутый на 270°
U8G2_ST7920_128X64_1_HW_SPI u8g2(U8G2_R3, /* CS=*/ 10, /* RST=*/ 9);
#define TCA9548A_ADDRESS 0x70 // I2C-адрес мультиплексора
#define RESET_X_PIN 3 // Кнопка для сброса оси X
#define RESET_Y_PIN 4 // Кнопка для сброса оси Y
#define PWM_PIN 5 // Выход ШИМ (управление двигателем)
#define POT_PIN A0 // Вход потенциометра
// Переменные отслеживания позиции
с плавающей запятой total_mm_x = 0,0;
с плавающей запятой total_mm_y = 0,0;
плавать























