VItaSan

VItaSan

Пикабушник
151 рейтинг 0 подписчиков 1 подписка 1 пост 1 в горячем
52

Портирование прошивки GRBL на полностью отечественный МК Амур (K1948BK015)⁠⁠

Отсутствие опенсорсного решения для управления ЧПУ на отечественном микроконтроллере 1‑го уровня локализации — существенный барьер для развития собственных систем управления станками. Портирование кода GRBL решает эту проблему: оно позволяет создать надёжную, прозрачную и адаптируемую прошивку, полностью соответствующую требованиям локализации.

В качестве прототипа выбрана плата‑расширение для Arduino UNO, позволяющая быстро верифицировать алгоритмы управления ЧПУ и отработать взаимодействие с драйверами шаговых двигателей и периферией. Целевая платформа — отечественный микроконтроллер 1‑го уровня локализации K1948BK015, на который планируется портировать адаптированную прошивку GRBL.

Цель проекта — создать полноценное решение для управления фрезерным или лазерным ЧПУ‑станком со следующими возможностями:

* управление до 4-х шаговых двигателей с поддержкой микрошага;
* ШИМ‑управление шпинделем или лазерным модулем (частота ≥ 15 кГц) с поддержкой команд M3/M5 и S‑параметров;
* использование концевых выключателей для автоматического поиска нулевой точки парковки каретки станка;
* поддержка датчика высоты/неровностей заготовки (Z‑probe) для компенсации рельефа;
* совместимость со стандартным подмножеством G‑кода и популярными GUI‑интерфейсами (Candle, UGS);
* изменение количества шагов в зависимости от механики станка и сохранение настроек во EEPROM;
* диагностика и вывод логов через UART.
Проект обеспечивает технологическую независимость, открытый аудит кода и возможность адаптации под российские аппаратные платформы, что делает его востребованным для образовательных, исследовательских и производственных задач.

Работает не большая команда из 3-х человек:

Денис П. - профессиональный инженер-программист МК.

Глеб Н. - инженер-электронщик.

Сандалов В. - инженер-программист

Первая версия платы

Первая версия платы

Первая версия платы в программе KiCad

Первая версия платы в программе KiCad

На текущий момент реализована работа концевых выключателей для определения крайних положений при движении каретки, приём команд по UART, чтение/запись настроек из EEPROM, перенесен алгоритм вычисления микрошага, реализовано управление инструментом посредством ШИМ.

Тестировали прошивку на следующей на следующей программе:

G21 G17 G90
G1 X10 Y0 F5000
G2 X0 Y10 I-10 J0
G2 X-10 Y0 I0 J-10
G2 X0 Y-10 I10 J0
G2 X10 Y0 I0 J10

Общая картина (несколько периодов)

Общая картина (несколько периодов)

Один период

Один период

Участок с ускорениями-торможениями (AMASS)

Участок с ускорениями-торможениями (AMASS)

Увеличение зоны торможения-ускорения по оси X

Увеличение зоны торможения-ускорения по оси X

Ширина одного импульса по оси X

Ширина одного импульса по оси X

Частота выборки логического анализатора задана 16 MS/s

Логический анализ в формате “Saleae”. Более подробно можно посмотреть скачав файл
GRBL_RISC_V_K1948BK018__circular_motion.sal Открывается он в приложении которое можно скачать по этой ссылке Logic Analyzers | Saleae .

На осциллографе получилось такое же значение.

Нам удалось добиться чтобы ширина импульса соответствовала ширине импульса на Atmega 328. Это было самое сложное в проекте.

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

uint32_t(process_irqs) = 0x020005A0
uint32_t(limits_irqs) = 0x02000212
uint32_t(ISR_TIMER1_COMPA_vect) = 0x02000284
uint32_t(ISR_TIMER0_OVF_vect) = 0x020001F2
uint32_t(probe_state_monitor) = 0x02000246
uint32_t(st_go_idle) = 0x02000160
uint32_t(probe_get_state) = 0x02000150

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

Видео работы Rutube

Видео работы Youtube

Запускали программу через приложение Candle верcии 1.0.7 под управлением ОС Windows 7.

Пробовали запускать программу более 15 Кб. При буфере команд 1Кб работа прерывалась в начале. После увеличения буфера до 4Кб зависания прекратились.

Сейчас мы разрабатываем финальную версию платы.

Всем добра!

Ссылка на репозиторий Gitflick

Ссылка на полную информацию по проекту

Показать полностью 9
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества