Совместная разработка системы ЧПУ.

Mach, популярные и не очень CAD, CAM. Обсуждение и разработка программ для управления станками.
Аватара пользователя
Mamont
Мастер
Сообщения: 1953
Зарегистрирован: 10 дек 2015, 12:21
Репутация: 382
Настоящее имя: Виталий
Откуда: РБ Минск
Контактная информация:

Re: Совместная разработка системы ЧПУ.

Сообщение Mamont »

Хоум в промышленных системах происходит тандемно, зет метка энкодера двигателя и концевой выключатель. Безопасная работа на проход, гадежность и стабильность результатов
vtgmfg
Мастер
Сообщения: 1438
Зарегистрирован: 23 июн 2022, 14:13
Репутация: 53
Настоящее имя: Максим
Контактная информация:

Re: Совместная разработка системы ЧПУ.

Сообщение vtgmfg »

у меня тоже все тандемно, стабильно и безопасно, промышленный станок мне в квартире нафиг не уперся, да никто тут о промышленных системах вроде и не говорит.
Аватара пользователя
Ev3658
Новичок
Сообщения: 35
Зарегистрирован: 13 фев 2017, 16:08
Репутация: 29
Настоящее имя: Евгений
Контактная информация:

Re: Совместная разработка системы ЧПУ.

Сообщение Ev3658 »

Был опыт 2х осевой стойки для полуавтомата. Удалось автоматизировать Алгоритм Брезенхэма ,но ШИМ был малый.
Обратная связь велась по QDEC в Xmega128a3u.
Вообще в целом было приятно пощупать китайские частотники 0,7кВт. с энкодером на 10 000им. с 1 оборота. 3000 об./мин.
Связь с ПК была простой, но проще было через свою видео карту.
Тяжелый труд. Тут технологии Модмаш самое то)))
Вложения
Примерный быстрый протокол связи с автономной аппаратной частью по USART|SPI и т.п. (565 просмотров) <a class='original' href='./download/file.php?id=205532&sid=ff600ebfa00fd0a2119fc5fafcb11443&mode=view' target=_blank>Загрузить оригинал (93.08 КБ)</a>
Примерный быстрый протокол связи с автономной аппаратной частью по USART|SPI и т.п.
Частотниками на аппаратной части таймеров Xmega (562 просмотра) <a class='original' href='./download/file.php?id=205533&sid=ff600ebfa00fd0a2119fc5fafcb11443&mode=view' target=_blank>Загрузить оригинал (103.55 КБ)</a>
Частотниками на аппаратной части таймеров Xmega
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6191
Откуда: Казахстан.
Контактная информация:

Re: Совместная разработка системы ЧПУ.

Сообщение aftaev »

vtgmfg писал(а): у меня тоже все тандемно, стабильно и безопасно, промышленный станок мне в квартире нафиг не уперся, да никто тут о промышленных системах вроде и не говорит.
Все что у тебя тамдемно работает, было успешно слизано с пром. станков. Хомление по Z метки было еще на древних стойках времен СССР.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
vtgmfg
Мастер
Сообщения: 1438
Зарегистрирован: 23 июн 2022, 14:13
Репутация: 53
Настоящее имя: Максим
Контактная информация:

Re: Совместная разработка системы ЧПУ.

Сообщение vtgmfg »

Mamont писал(а): 16 ноя 2022, 18:22 Хоум в промышленных системах происходит тандемно, зет метка энкодера двигателя и концевой выключатель. Безопасная работа на проход, гадежность и стабильность результатов
Я вот что не пойму - тут речь о промышленных системах или любительских? Если изначально предполагается, что по осям стоят настоящие сервы - то отсекается большая часть любителей. Понятно что и любители ставят сервы - но далеко не все. А между тем хоум тандемно - это необязательно z-метка энкодера или какая то имитация ее на валу ШВП. Как и то что безопасность для датчика - желательно, но необязательно чтобы он был именно "на проход".
Аватара пользователя
Mamont
Мастер
Сообщения: 1953
Зарегистрирован: 10 дек 2015, 12:21
Репутация: 382
Настоящее имя: Виталий
Откуда: РБ Минск
Контактная информация:

Re: Совместная разработка системы ЧПУ.

Сообщение Mamont »

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

Любительский уровень отличается от промышленного уровнем надежности*, наличие дополнительных систем контроля, наличие дополнительных каналов входа-выхода (применяться могут для зажима-разжима заготовки, автосмены инструмента и дрдр), возможно написания макросов.

Надежность предполагает и помехозащищенность электроники. Промышленные станки предполагают мощные привода и драйвера, излучающие больше помех.
AAN
Мастер
Сообщения: 284
Зарегистрирован: 14 апр 2015, 10:28
Репутация: 35
Настоящее имя: Антон
Откуда: Томск
Контактная информация:

Re: Совместная разработка системы ЧПУ.

Сообщение AAN »

vtgmfg писал(а): Я вот что не пойму - тут речь о промышленных системах или любительских? Если изначально предполагается, что по осям стоят настоящие сервы - то отсекается большая часть любителей. Понятно что и любители ставят сервы - но далеко не все.
Даже для любителей нет смысла интеллектуально вкладываться в систему, которая может управлять только менее чем 5 осями или только шаговиками. Таких систем наваяли вагон и маленькую тележку, это уровень школьников и студентов.
vtgmfg
Мастер
Сообщения: 1438
Зарегистрирован: 23 июн 2022, 14:13
Репутация: 53
Настоящее имя: Максим
Контактная информация:

Re: Совместная разработка системы ЧПУ.

Сообщение vtgmfg »

AAN писал(а): 18 ноя 2022, 09:50
vtgmfg писал(а): Я вот что не пойму - тут речь о промышленных системах или любительских? Если изначально предполагается, что по осям стоят настоящие сервы - то отсекается большая часть любителей. Понятно что и любители ставят сервы - но далеко не все.
Даже для любителей нет смысла интеллектуально вкладываться в систему, которая может управлять только менее чем 5 осями или только шаговиками. Таких систем наваяли вагон и маленькую тележку, это уровень школьников и студентов.
мне достаточно и 4 осей - но я ни одной не видел нормальной хотя бы на первый взгляд. нормальной для меня. а на "первый взгляд" это конечно интерфейс.
Последний раз редактировалось vtgmfg 18 ноя 2022, 13:35, всего редактировалось 1 раз.
Аватара пользователя
Prav
Мастер
Сообщения: 827
Зарегистрирован: 14 июл 2015, 05:10
Репутация: 138
Настоящее имя: Петр Раввинский
Откуда: Москва
Контактная информация:

Re: Совместная разработка системы ЧПУ.

Сообщение Prav »

AAN писал(а): 18 ноя 2022, 09:50
vtgmfg писал(а): Я вот что не пойму - тут речь о промышленных системах или любительских? Если изначально предполагается, что по осям стоят настоящие сервы - то отсекается большая часть любителей. Понятно что и любители ставят сервы - но далеко не все.
Даже для любителей нет смысла интеллектуально вкладываться в систему, которая может управлять только менее чем 5 осями или только шаговиками. Таких систем наваяли вагон и маленькую тележку, это уровень школьников и студентов.
Уровень студентов - это как минимум Heidenhain. А это уровень малышей 5-летних
:hehehe:
Аватара пользователя
MX_Master
Мастер
Сообщения: 7465
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3088
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Совместная разработка системы ЧПУ.

Сообщение MX_Master »

Немного отвлекался на работу..
А что, если нам, товарищи, расчехлить смекалку и подойти к разработке нестандартным (более ленивым) путём? В начале темы я предлагал сделать конвертер из обычного G кода в точно рассчитанный (и более простой) G код. Для понимания давайте сразу к примеру. На входе имеем обычный кусочек G кода:
G92 X0 Y0 (обнуляем рабочие координаты XY)
G1 X10 Y100 F100 (отправим станок в рабочую точку X10 Y100 с макс. подачей в 100 мм/мин)
Из входных настроек мы, к примеру, имеем:
  • макс. ускорение для каждой оси
  • макс. подачу для каждой оси
  • время сервопериода
  • формулу набора скорости (линейная кривая, S-образная кривая, ..)
На выходе мы должны получить что-то типа:
N1 G92 X0 Y0 (обнуляем рабочие координаты XY)
N2 G1 X0.2 Y2.0 F10.0 (отправим станок в рабочую точку X10 Y100 с макс. подачей в 100 мм/мин)
N2 G1 X0.4 Y4.0 F20.0
N2 G1 X0.8 Y8.0 F30.0
( . . . )
N2 G1 X5.0 Y50.0 F100.0
N2 G1 X5.5 Y55.0 F100.0
N2 G1 X6.0 Y60.0 F100.0
( . . . )
N2 G1 X9.4 Y94.0 F30.0
N2 G1 X9.8 Y98.0 F20.0
N2 G1 X10.0 Y100.0 F10.0
Все числа даны для примера, чтобы хоть как-то показать ускорения. Если в коде будут дуги, циклы, компенсации и что-то сложное, всё это точь также конвертируется в простой (G0/G1) код. Каждая строка которого соответствует (по времени) длине сервопериода. Поэтому каждую строку можно сразу отправлять на разбор генераторам и счётчикам сигналов. Чтобы не заблудиться, что и где было, номер строки (Nx) указывает на номер строки изначального кода.

Я считаю, что с такой задачей вполне может справится и микроконтроллер (МК), и обычный ПК. Для экономии памяти МК все эти строки могут быть в бинарном формате. Для общей экономии памяти, можно разбирать не весь файл сразу, а частями.

Кто что думает по этому поводу?
sidor094
Мастер
Сообщения: 826
Зарегистрирован: 20 фев 2014, 09:13
Репутация: 81
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Совместная разработка системы ЧПУ.

Сообщение sidor094 »

Тут ,мне кажется все не так просто.Во-первых придется декодировать большой объем кода что занимает значительно больше времени ,чем расчет шагов во время простого движения.Но кроме этого все равно придется рассчитывать разгоны и переводить их обратно в код.Я понимаю,что это делается на предварительном этапе,но все же кто этим будет заниматься-САМ?А есть ли такая возможность у существующих САМ- переработать даже простые (прямолинейные движения в кучу дополнительного кода?Далее ,при попытке изменить скорость движения придется опять пересчитывать всю программу.
Аватара пользователя
Mamont
Мастер
Сообщения: 1953
Зарегистрирован: 10 дек 2015, 12:21
Репутация: 382
Настоящее имя: Виталий
Откуда: РБ Минск
Контактная информация:

Re: Совместная разработка системы ЧПУ.

Сообщение Mamont »

Суть сие действие - планировщик движения. Выполнять его должен не САМ а данная чпу система. Проще всего со стороны компа это выполнять, нежели со стороны контроллера-ногодрыга.
Правильно что выполнять надо на лету ( предварительно выполнив проверку процессора на быстродействие). Одно дело проги фрезерования на 100-499 строк, другое дело гравировка на миллионы.
Выводить модифициронную УП на экран ну ввобще нет смысла. Запутает не только только новичков, но и операторов потолще.

А вот возможность отобразить траекторию с учетом сглаживаний углов наверно будет полезно. Но не обязательно
Аватара пользователя
MX_Master
Мастер
Сообщения: 7465
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3088
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Совместная разработка системы ЧПУ.

Сообщение MX_Master »

Суть, да - планировщик. Причём, не привязанный ни к какой ЧПУ системе. По факту можно будет открыть любой (и онлайн) визуализатор G кода и детально убедиться как выглядит траектория со всеми скоростями. Но при этом, будет возможность на выходе получить и бинарный формат. Которым можно успешно кормить другие компоненты ЧПУ системы. Например, генератор шагов.
sidor094
Мастер
Сообщения: 826
Зарегистрирован: 20 фев 2014, 09:13
Репутация: 81
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Совместная разработка системы ЧПУ.

Сообщение sidor094 »

Тогда остаётся два вопроса.На какие дискреты будет делиться разгон?То есть какая скорость связи должна быть?И где взять алгоритм планировщика?Есть ли где описание ?
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4604
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1621
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Совместная разработка системы ЧПУ.

Сообщение selenur »

sidor094 писал(а): 20 ноя 2022, 21:13 Тогда остаётся два вопроса.На какие дискреты будет делиться разгон?То есть какая скорость связи должна быть?И где взять алгоритм планировщика?Есть ли где описание ?
Разбить можно например на временные промежутки по типу:
Снимок экрана 2022-11-20 235044.png (314 просмотров) <a class='original' href='./download/file.php?id=205576&sid=ff600ebfa00fd0a2119fc5fafcb11443&mode=view' target=_blank>Загрузить оригинал (29.02 КБ)</a>
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
Mamont
Мастер
Сообщения: 1953
Зарегистрирован: 10 дек 2015, 12:21
Репутация: 382
Настоящее имя: Виталий
Откуда: РБ Минск
Контактная информация:

Re: Совместная разработка системы ЧПУ.

Сообщение Mamont »

Мои попытки сделать систему были на таких принципах: квантовать фиксированными по времени интервалами (2-5мс).
Данные по относительно медленному интерфейсу 232 передаются в контроллер в виде количества шагов которые он должен сделать в этот интервал времени. Причем количество шагов не целое, а дробное.

Например координата должна сделать в данном интервале N = 5.7 шага. На момент этого интервала был остаток в n=0.6 шага.
Базовый шаг = T (пусть будет 5мс)
t - период шагов. t=T/N =5/5.7=0.877мс
t0 - первый шаг в периоде = (1-n)*t = (1-0.6)*0.877=0.350мс
на следующий период перенесем остаток от шагов (5.7+0.6=6.3) 0.3.
И что получаем: 6 полных шагов.

0.35мс[Step]0.877мс[Step]0.877мс[Step]0.877мс[Step]0.877мс[Step]0.877мс[Step] 0.265мс .
после последнего шага до окончания периода остается 0.265мс , что соответствует 0.3 шага * t.

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

57600 2 байта на координату+номер пакета+контролька около 2мс. Имеем 2х кратный запас времени для повторной засылки пакета.
Аватара пользователя
MX_Master
Мастер
Сообщения: 7465
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3088
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Совместная разработка системы ЧПУ.

Сообщение MX_Master »

Друзья, вы снова с разбегу прыгнули в генератор шагов. А ведь до него планировщику/конвертеру дела никакого нет. Планировщик разделил всю траекторию на кусочки длиной в указанный сервопериод (от 1 до XX мсек) и отдал эти данные. Дальше с ними можно или ничего не делать, или куда-то отправить (любым способом). Кто сказал, что на выходе должен быть генератор step/dir? А если там будет генератор pwm/dir (аналоговый выход)? Или вовсе - цифровая шина к приводам? :) Мне, кстати, кажется, что там должен быть какой-то ПИД компонент. Ещё до всяких генераторов импульсов. И, возможно, компонент для счёта данных с энкодеров :freak:
Аватара пользователя
Mamont
Мастер
Сообщения: 1953
Зарегистрирован: 10 дек 2015, 12:21
Репутация: 382
Настоящее имя: Виталий
Откуда: РБ Минск
Контактная информация:

Re: Совместная разработка системы ЧПУ.

Сообщение Mamont »

MX_Master писал(а): Кто сказал, что на выходе должен быть генератор step/dir? А если там будет генератор pwm/dir (аналоговый выход)? Или вовсе - цифровая шина к приводам? :) Мне, кстати, кажется, что там должен быть какой-то ПИД компонент. Ещё до всяких генераторов импульсов. И, возможно, компонент для счёта данных с энкодеров
Степ-дир ( и его разновидности св-ссв, квадратурник) там точно будут. Ибо на них почти все любительские системы завязаны.
аналоговый син-кос или цифровой - дополнительный бонус для промышленных систем.

Раз система предполагает совместную разработку, логично разделить по узлам и протокол обмена между узлами.
Интересная мысль - сделать степ-генератор на 328меге и разводкой пинов аналогичной grbl, чтобы пользователь мог залить через бутлоадер в контроллер новую прошиву и работать с данной ЧПУ системой
alex_sar
Мастер
Сообщения: 1672
Зарегистрирован: 28 авг 2018, 17:13
Репутация: 278
Настоящее имя: Алексей
Контактная информация:

Re: Совместная разработка системы ЧПУ.

Сообщение alex_sar »

Патент на изобретение велосипеда прям просится. На али заказать можно
https://aliexpress.ru/item/100500203220 ... 6e70DsOfO8
MX_Master писал(а): Друзья, вы снова с разбегу прыгнули в генератор шагов. А ведь до него планировщику/конвертеру дела никакого нет. Планировщик разделил всю траекторию на кусочки длиной в указанный сервопериод (от 1 до XX мсек) и отдал эти данные. Дальше с ними можно или ничего не делать, или куда-то отправить (любым способом). Кто сказал, что на выходе должен быть генератор step/dir? А если там будет генератор pwm/dir (аналоговый выход)? Или вовсе - цифровая шина к приводам? Мне, кстати, кажется, что там должен быть какой-то ПИД компонент. Ещё до всяких генераторов импульсов. И, возможно, компонент для счёта данных с энкодеров
Однако. Это вы так систему hal-компонентов изобретёте чего доброго )
Я это к чему - куда интересно в этом готовом спланированном коде вставить probe цикл? а если захочется что-то ещё хитрее? новую логику пихать в микроконтроллер?
Аватара пользователя
MX_Master
Мастер
Сообщения: 7465
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3088
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Совместная разработка системы ЧПУ.

Сообщение MX_Master »

Я немного утомился повторять, что протоколы и типы связи между компонентами - дело десятое. Любой из современных вариантов прекрасно справится с пересылкой не только бинарных данных, но и цельных строк текста (пример - GRBL).

Желательно, не изобретать HAL, а, просто, следовать стилю Unix. Каждый инструментальный компонент делает хорошо только свою задачу. И какой-то управляющий компонент связывает все инструментальные вместе. Как именно управляющий будет связывать - неважно.

Такие операции как поиск дома и замер длины инструмента в G код общего назначения никогда не входили. Этими специфичными задачами должны заниматься отдельные компоненты. С возможностью настройки.
Ответить

Вернуться в «Windows / Mach»