Главная » Статьи » Станки CNC » Электроника |
Мой первый станок оказался без блока управления. Беда. Дело было так… У нового станка был сильный резонанс с потерей шагов и даже заклиниванием вала по оси Х, причем на невысоких скоростях. Я попробовал подключить ШД оси Х через драйвер Geckodrive. У него было заявлено подавление резонансов. Geckodrive был установлен в блоке управления первым станком, пришлось изъять его оттуда. С ним все заработало. Резонанс остался, но сильно уменьшился. Пропуска шагов и заклинивания не стало. Я все так и оставил. Для другого проекта я заказывал Arduino CNC Shield V3.0 и драйверы шаговых двигателей DRV8825 к шилду. Тот проект пока находится в стадии обдумывания исполнения механической части. В ближайшее время его реализация не предвидится. Решил я посмотреть, что может Arduino Uno с установленным CNC Shield и DRV8825, надеясь применить его для управления первым станком. Модуль управления шаговым двигателем DRV8825. Основой модуля драйвера ШД является микросхема DRV8825. Основные характеристики DRV8825;
Как выставить ток ШД на драйвере DRV8825? А вот так. Ток выставляется переменным резистором, расположенным на плате драйвера. Для того, чтобы узнать значение тока, необходимо измерять напряжение между минусом питания платы CNC shield и металлической частью переменного резистора. Ток двигателя = Измеренное напряжение * 2 С модулем в комплекте идет микроскопический радиатор. Может быть этого радиатора и достаточно для двигателей с током 0,5А и при условии интенсивного обдува, но у меня на станке установлены двигатели NEMA23 с 57 фланцем и номинальным током 2,8А. Попытка включить двигатель с установленным током 2А без интенсивного обдува (небольшой ветерок от потолочного вентилятора все таки был) привела к сильному нагреву. Дальше я греть не стал, запахло канифолью и я выключил питание. Я решил улучшить охлаждение, поставив два радиатора с большей площадью поверхности. Охлаждать одним радиатором пластиковый корпус микросхемы неэффективно. Для охлаждения у микросхемы предусмотрена площадка с нижней стороны. На плате под этой площадкой сделаны металлизированные переходы для распределения тепла на обе стороны платы. Вот это место с переходами и надо охлаждать. Радиаторы я изготовил из радиатора с материнской платы персонального компьютера. Для этого я порезал его на кусочки необходимого размера и прижал к плате через теплопроводные прокладки металлической скобой, сделанной из пружины от прищепки. Радиаторы сидят очень плотно. Для того, чтобы радиатор снизу поместился и ничего не мешало его обдуву, пришлось с CNC шилда перенести на другую сторону конденсаторы и удалить штыри для установки джамперов выбора режима деления шага. Необходимые соединения я сделал с обратной стороны платы. Также на обратную сторону был перенесен предохранитель. Для сравнения старый и новый радиатор. Модуль, установленный на плату. Теперь в тех же условиях температура колебалась от 37 до 40 градусов в зависимости от нагрузки на двигатель. CNC shield V3.0 Плата предназначена для управления станком с ЧПУ. Цена на Али порядка 250 рублей. Устанавливается на Arduino UNO или другие совместимые платы. На плату устанавливаются 4 драйвера шаговых двигателей. Ось А может дублировать одну из осей X, Y или Z (выставляется джамперами). Отдельно на плате выведены интерфейсы UART, I2C. Ходят слухи, что есть прошивка GRBL с поддержкой экрана. Также к плате можно подключить 4 кнопки (reset/abort, feed hold, start/resume, E-stop) и концевики осей X, Y и Z. Есть еще и управление охлаждением/подачей смазывающе-охлаждающей жидкости. Есть выход Enable для драйверов ШД. В версии прошивки GRBL 0.9 ребята что-то придумали по-другому, и в итоге получилось так, что в CNC Shield v3.0 поменялись местами контакты Z+ (контакт концевика) и SpnEn (запуск шпинделя). Я думаю, что они освободили ШИМ вывод 11 Arduino для PWM управления оборотами шпинделя, который был занят концевиком. Если Вам в руки попала плата CNC Shield RGBL 0.9 Compatible, то на ней изменение выводов учтено. Запуск «бутерброда» Для того, чтобы двигатели ожили, необходимо прошить в Arduino прошивку c «нежным» названием GRBL. Прошивка ориентирована на станки с ЧПУ в отличие от Marlin, которая ориентирована в первую очередь на 3D принтеры. Далее отправляем команды G-кода с компьютера в Arduino, прошивка рассчитывает количество импульсов для драйверов в соответствии с настройками прошивки. Прошивка GRBL. GRBL доступна на Github. Скачиваем архив. А теперь внимание! Распаковываем архив в любую директорию. Из распакованного архива папку grbl копируем в директорию, содержащую библиотеки Arduino IDE. Копировать содержимое всего архива не надо. Только содержимое папки grbl. Перезагружаем Arduino IDE. Заходим в меню ЭСКИЗ – Include Library выбираем grbl. Получаем нечто подобное. Нажимаем прошить. Соответственно COM-порт и тип платы уже должны быть выбраны. После завершения прошивки открываем консоль. Видим строку Grbl 0.9j [‘$’ for help] (1). Пишем команду $$ в поле (2), жмем ввод. В ответ получаем список настроек (3). Для изменения настроек набираем (например, для изменения количества шагов на мм по оси Х) $100=3200 и жмем ввод. В моем случае 3200 шагов на один мм. Расчет, кому интересно.
Основные параметры прошивки для первоначальной настройки:
После настройки этих параметров двигатели начнут адекватно отрабатывать траекторию движения инструмента станка. После этого можно настроить остальные параметры. Подробнее про настройки можно почитать на GitHub или здесь Программа отправки G-кода. Самая популярная GRBL Controller. Качается отсюда. Ставите. Запускаете, выбираете COM-порт и скорость. Дальше сложностей возникнуть не должно. Программа очень простая. Шлет в COM-порт построчно выбранный файл с G-кодом. Вторая программа Universal G-code Sender. Качать здесь. Очень похожа на первую. Работает на Яве. Антивирус у меня по умолчанию запустил ее в песочнице, пришлось ему объяснять, что все хорошо, все свои. В ходе прогона двигателей в течении нескольких часов потери шагов не было. Как только появится свободное время, соберу новый блок управления для первого станка.
| |
Просмотров: 65202 | Комментарии: 6 | | |
Всего комментариев: 6 | ||||||
| ||||||