GRBL 1.1 с возможностью управления 4-мя и даже 5-ю осями

Недавно удалось найти очень интересный проект, расположенный вот по этому адресу: http://robomechs.com/grbl-1-1-smt32f103c8t6/ там удалось реализовать на базе микроконтроллера stm32f103c8t6 ЧПУ контроллер с GRBL прошивкой версии 1.1, с возможностью управления 4, и 5-ю осями.

Исходный код прошивки, можно всегда скачать с сайта автора программы, там-же можно найти информацию, о том что исходный кпрод среду разработки Atollic TrueSTUDIO® for STM32.

Скомпилированные прошивки для 4-х, и 5-ти осей, которые нужно только залить в микроконтроллер, можно скачать в описании ниже….

Читать дальше

ВИЗУАЛЬНОЕ ОТОБРАЖЕНИЕ СТАТУСОВ МОДУЛЕЙ В ЦЕПОЧКЕ ДЕЙСТВИЙ В КОНСТРУКТОРЕ G-КОДА

В версии 3.3.0.35 добавил визуальное оформление состояния модулей, в цепочке действий.

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

Благодаря чему видно текущее положение в цепочке действий.

Существует 3 цвета которыми выделяются модули в цепочке действий:

  • Синий – в данном модуле вычисления не проводились (при нажатии F5, или нажатии выполнить)
  • Зеленый – в данном модуле вычисления завершены успешно.
  • Красный – произошли изменения в текущем модуле из-за которых нужно запустить вычисление данных в текущем модуле.

Читать дальше

Доступна версия 3.3.0.33 конструктора G-кода

В новой версии были добавлены геометрические функции, которые я ранее описал, так-же добавил возможность сортировать траектории в модуле №103:

Скачивание обновленной версии всегда на странице программы, тут:

Конструктор G-кода и геометрические функции при генерации файла

В процессе разработки программы, и появления новых пользователей, и идей, возникла необходимость при генерации теста с G-кодом, дополнительно использовать различные геометрические функции, которые добавил в версии 3.3.0.33 (данная версия появится в ближайшее время).

Добавлены следующие функции:

  • CreatePoint(X,Y) – создание точки с указанными координатами
  • getAngleFrom2Points(point1, point2) – вычисление угла относительно оси Х, и прямой образованной 2-мя точками
  • GetAngleFrom3Points(point1, point2, point3) – вычисление угла в точке №2
  • GetDistanceBetweenPoints(point1,point2 ) – вычисление дистанции между 2-мя точками
  • GetPointInCircle(centerPoint,radius,angle) – получение точки на окружности

Функция CreatePoint(X,Y)

Позволяет создать новую точку, которую можно в дальнейшем использовать в коде. Создание и её использование, будет приведено ниже в данном описании.

Функция getAngleFrom2Points(point1, point2)

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

Есть следующая особенность, которая заключается в том что после 180 градусов дальше будет -179 градусов, и собственно после -179 далее будет 180 градусов. Это связано с тем что без 3-й точки нет возможности понять что угол может быть более 180 градусов.

Пример позволяющий использовать функцию:

[Enlighter]
FORMAT:SetFormat(“#0.00″,”.”)
FILE: Create()

— начало теста

for indx = 0, DATA.Items.Count – 1, 1 do

primitiv = DATA.Items[indx]

lastPoint = primitiv.Items[0];

FILE:AddLine(“X”..FORMAT:Fd(lastPoint.X).. ” Y”..FORMAT:Fd(lastPoint.Y))

for indxP = 1, primitiv.Items.Count – 1, 1 do
point = primitiv.Items[indxP]

angle = FORMAT:Fd(GEOMETRY:getAngleFrom2Points(lastPoint,point))
FILE:AddLine(“X”..FORMAT:Fd(point.X).. ” Y”..FORMAT:Fd(point.Y) .. ” –(угол: ” .. angle .. “)”)

lastPoint = point
end

FILE: AddLine(” “)
end

— окончание теста
FILE: Save()
[/Enlighter]

В строке №18 пример вычисления угла, и ниже скриншот результата:

Функция GetAngleFrom3Points(point1, point2, point3)

Вычисляет угол в точке №2, образованный 2-мя отрезками:

В коде используется так:

[Enlighter]

angle = FORMAT:Fd(GEOMETRY:getAngleFrom2Points(point1,point2,point3))

[/Enlighter]

Функция GetDistanceBetweenPoints(point1,point2 )

Данная функция вычисляет расстояние между указанными точками, в коде это используется так:

[Enlighter]

FORMAT:SetFormat(“#0.00″,”.”)
FILE: Create()

FILE: AddLine(“// начало теста “)

point1 = GEOMETRY:CreatePoint(0,0)
point2 = GEOMETRY:CreatePoint(10,10.5)

Distance = FORMAT:Fd(GEOMETRY:GetDistanceBetweenPoints(point1,point2))

FILE:AddLine(“расстояние между точками = “..FORMAT:Fd(Distance))

FILE: AddLine(“// окончание теста”)
FILE: Save()

[/Enlighter]

Даёт такой результат:

// начало теста 
 расстояние между точками = 14.50
 // окончание теста

Функция GetPointInCircle(centerPoint,radius,angle)

Применяется если нужно получить точку на окружности, например такой код:

[Enlighter]
FORMAT:SetFormat(“#0.00″,”.”)
FILE: Create()

FILE: AddLine(“// начало теста “)

CenterPoint = GEOMETRY:CreatePoint(0,0)

point1 = GEOMETRY:GetPointInCircle(CenterPoint,10,0)
point2 = GEOMETRY:GetPointInCircle(CenterPoint,10,45)

FILE:AddLine(“точка 1 (“..FORMAT:Fd(point1.X) ..”,”..FORMAT:Fd(point1.Y)..”)”)
FILE:AddLine(“точка 2 (“..FORMAT:Fd(point2.X) ..”,”..FORMAT:Fd(point2.Y)..”)”)

FILE: AddLine(“// окончание теста”)
FILE: Save()
[/Enlighter]

Что даёт такой результат:

// начало теста 
 точка 1 (10.00,0.00)
 точка 2 (7.07,7.07)
 // окончание теста

Конструктор G-кода и математические функции при генерации файла

В процессе разработки программы, и появления новых пользователей, и идей, возникла необходимость при генерации теста с G-кодом, дополнительно использовать различные математические функции, которые добавил в версии 3.3.0.32

На текущий момент добавлены следующие функции:

  • sin(х) – вычисление синуса, где х<сление косинуса, где х - значение в градусах
  • tan(х) – вычисление тангенса, где х – зна
  • sqrt(х) – вычисление квадратного корня, где х – числовое значение
Читать дальше

Рождение новой программы генерации G-кода для создания печатных плат

Совсем недавно появилась новая программа генерации G-кода для создания печатных плат, данная программа заточена конкретно для создания печатных плат, в связи с чем подготовка нужных файлов для станка стала достаточно простой и легкой, данную программу можно скачать тут: http://www.cnc-club.ru/forum/viewtopic.php?f=155&t=22277#p495521 у автора программы в подписи в низу есть ссылка не только на скачивание самой программы, но и на исходный код, что на текущий момент стало достаточно редким явлением 😉

Программа позволяет делать как выборку меди снаружи:

И даже видесишком толстый, и не пролазит между контактами.

Обновление конструктора G-кода до версии 3.3.0.31

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

Так-же были исправлены некоторые ошибки в коде.

И были добавлены сле

  • При первом запуске программы когда отсутствуют профили, программа статьионных профилей:
Читать дальше

Обновление конструктора G-кода до версии 3.3.0.29

Всех приветствую!
После долгой паузы, в связи с некоторыми обстоятельствами, подготовил новую версию программы, если у вас ранее была установлена программа версии 3.3 то достаточно будет в меню “Программа” начать пункт “Проверить наличие новой версии”, и программа автоматически обновиться, либо перейти на данную страницу: http://selenur.ru/?page_id=1182 откуда скачать свежую версию программы.
В данной версии в модулях 101,102,103,500 добавлена возможность объединять несколько траекторий в одну траекторию, если их концы, расположены либо в одной точке, либо имеют дистанцию не более чем указано в настройках программы.
В настройках программы данный параметр расположен тут:

Читать дальше

Обновление программы “Конструктор G-кода”

Собрал очередное обновление, в нем в основном исправления коснулись модуля 102, для загрузки гербер файлов из спринта и дип-трейса.
Но так-же появился новый подуль, который конечно ещё в зачаточном состоянии, и в нем многое не реализовано, но в будущем постепенно добавлю (так-что прошу пока не особо пинать за него).
скачивание программы как обычно доступно тут: Ссылка на программу

На данный момент возможно рисовать:

  1. Линии
  2. Произвольные траектории
  3. Прямоугольники
  4. Окружности

Читать дальше

Основы ЧПУ часть №1 и №2

Основная моя часть хобби связана с разработкой софта, для ЧПУ, но в последнее время многие начали писать письма с вопросами и по механике, и по электронике, в связи с чем решил записать некоторое количество видео-уроков, по основам ЧПУ.
И вот 2 первых выпуска:

1 2 3 4