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

Mach, популярные и не очень CAD, CAM. Обсуждение и разработка программ для управления станками.
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6192
Откуда: Казахстан.
Контактная информация:

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

Сообщение aftaev »

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

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

Сообщение sidor094 »

aftaev писал(а): Где эту систему найти?
https://www.youtube.com/channel/UCDkJ3d ... kBMHlx2wiA
Правда давно не публиковал ничего нового,просто как то нет желания снимать и выкладывать новое видео.Да еще снимать надо вдвоем.Один снимает другой показывает работу.Сейчас почти полностью добил ижак .Правда резцедержка не работает.Проблема в механике.Я на нем сделал управление на суппорте.Там стоит дешевый stm32f103.он обрабатывает значения трех энкодеров,нескольких кнопок и джойстика.Сейчас к немужеразработана дополнительная 83 кнопочная клавиатура.Все это связано с системой чпу через ком порт.Можно было бы и через 485,но лень делать провода.А на ком ест готовые.Один энкодер управляет движением одной из осей,второй управляет скоростью и напрввлением шпинделя,для удобного нарезания резьбы в ручную ,как на рукопашных станках ,а третий энкодер в составе графического экрана от ардуинки управляет скоростью движения g1 .Причем скорость можно легко добавить или уменьшить прямо на ходу.
При работе в ручном режиме можно вводить в выпадающее окно одну команду.Таких окон 10.после каждого ввода выпадает следующее окно .Но можно вернуться к предидущему.Ну а если перейти к другому экрану ,то здесь можно выполнить готовую программу.Так программы размером менее 2 мегабайтов можно редактировать в достаточно прстом,но редакторе.Он не посволяет копирование строк поиск ,только простые действия пролистнуть удалить,напечатать.
sidor094
Мастер
Сообщения: 826
Зарегистрирован: 20 фев 2014, 09:13
Репутация: 81
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение sidor094 »

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

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

Сообщение sidor094 »

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

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

Сообщение sidor094 »

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

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

Сообщение sidor094 »

Насчет переноса,мы пробовали отрабатывать движениие на компе с виртуальными координатами.Особых проблем не было.Но сейчас умер программист под виндоус.
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6192
Откуда: Казахстан.
Контактная информация:

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

Сообщение aftaev »

sidor094 писал(а): https://www.youtube.com/channel/UCDkJ3d ... kBMHlx2wiA
В Ютубе давно видел. Кроме вас кто нибудь вашу работу щупал руками? Так понимаю негде программу скачать и посмотреть.
sidor094 писал(а): У меня это сделано для ручного режима,Я не понимаю,зачем это нужно для программы чпу.Только для метчиков и плашек.Сделать вообще не проблема.Ввести пропорциональный коеффициент для шима шпинделя.Будет плавное трогание и остановка в зависимости от величины пропорционального к
Проблемка с оборотами шпинделя такая:
Режем резьбу резцом
M3 S500
G0 Z0 X20
G76 Z-50....
M30

Видим что стружка горит, меняем обороты, крутим ручку оборотов шпинделя. Резьба будет зализываться.
Или останавливаем обработку.
Снижаем обороты
M3 S300
G0 Z0 X20
G76 Z-50....
M30
Запускаем и в нитки не попадет. Если начали резать на оборотах 500, то обороты шпинделя менять нельзя на этой же резьбе.
Есть в Ютубе видео фирмы по продаже станков. Чел рассказывается что такая проблема есть на многих пром.стойках Фанук, Хендихайн. Работает правильно только На Сименсе.
На Lcnc(давно не обновлял) не работает.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
sidor094
Мастер
Сообщения: 826
Зарегистрирован: 20 фев 2014, 09:13
Репутация: 81
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение sidor094 »

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

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

Сообщение sidor094 »

В общем прикинул,для устранения этого явления надо линейное ускорение при нарезании резьбы надо заменить на пид регулятор.при линейном ускорении реальная координата всегда отстает от задания на время разгона так как скорость реальной координаты во время разгона никогда не превышает скорость задания.При пид регулировании реальная координата всегда догоняет задание в течении времени набора интеграла.То есть в какой-то моментеё скорость превысит скорость задания ,чтобы догнать его. Тогда отставание будет наблюдаться только на начальном- разгонном участке резьбы.Если уверенно вывести его за пределы детали,то интегральная составляющая всегда доведет положение координаты до положения задания при любой не запредельной скорости.если вначале и в конце резьбы притормаживать шпиндель ,то длина разгона и торможения (когда координата не соответствует положению шпинделя.
alex_sar
Мастер
Сообщения: 1718
Зарегистрирован: 28 авг 2018, 17:13
Репутация: 286
Настоящее имя: Алексей
Контактная информация:

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

Сообщение alex_sar »

sidor094 писал(а): 24 окт 2022, 20:39
alex_sar писал(а): если мы говорим об игрушечном станке, который стоит рядом с рабочим компом на столе, туда надо просто воткнуть контроллер с grbl и не делать себе мозг.
А почему grbl?Что в ней такого,что если автономка ,то только её?
Да я и не говорю что только её. Например её. Просто не вижу смысла в изобретании велосипеда с нуля.
Аватара пользователя
MX_Master
Мастер
Сообщения: 7478
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3099
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

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

Сообщение MX_Master »

alex_sar писал(а): Просто не вижу смысла в изобретании велосипеда с нуля.
Никто не утверждал, что надо с нуля. Если какой-то код/алгоритм/библиотеку можно подсмотреть в открытых проектах, почему бы и да. Кроме того, у каждого участника, я уверен, есть и свои наработки. Единственное и главное пожелание - копировать готовое надо так, чтобы код получился хорошо переносимым на разные платформы.

Мы, кстати, упустили момент о языках программирования. Я думаю, что для вычислений должен подойти простейший язык C. Он прекрасно портируется "как есть" под любую платформу благодаря имеющимся компиляторам. На нём и ядро Linux написано, и куча микроконтроллерного кода тоже. Что касается языков для графики, вопрос открытый. Я бы рекомендовал связку HTML/CSS/JS для настольных ПК и что-то вроде LVGL для микроконтроллеров. Но графикой можно заняться позже.

Для визуализации алгоритмов предлагаю использовать блок-схемы. Редактор, типа такого https://programforyou.ru/block-diagram-redactor вполне подойдёт. Пример
diagram.png
diagram.png (5.73 КБ) 508 просмотров
sidor094
Мастер
Сообщения: 826
Зарегистрирован: 20 фев 2014, 09:13
Репутация: 81
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение sidor094 »

MX_Master писал(а): Я думаю, что для вычислений должен подойти простейший язык C.
Да для вычислений наилучший вариант.По мне так наилучший вариант.Делать движение и интерфейс с пользователем на разных устройсвах.Тогда каждый мог бы создать наиболее удобное графическое приложение для различных платформ.При этом контроллер движения был бы один и тот же.Хотя и его тогда бы можно было легко портировать с одного контроллера на другой.Сейчас для работы системы мне требуется обязательно микроконтроллер с встроенным графическим интерфейсом.И при переходе на другой контроллер нужно разбираться с графикой.Единственная проблема связь между консолью и контроллером движения.Наиболее простой ком порт.Но тут проблема со скоростью.Для того,чтобы редактировть на консоли,а обрабатывать все на контроллере желательно,чтобы весь файл перекидывался с контроллера на консоль и обратно достаточно быстро.Ком порт для этого слишком медленный.Так что для начала можно простейший вариант-консоль только для отображения и все.Вся обработка в том числе и редактор на контроллере.Кроме того в микропроцессоре на данный момент ВГА контроллер жрет прилично памяти и времени.Так как текстового режима не существует,и весь текст рисованный.Поэтому на вывод текстовой информации требуется много процессорного времени,что ограничивает общее быстродействие системы чпу.На ком аорт же можно кидать только текстовую инвормациюю
Аватара пользователя
MX_Master
Мастер
Сообщения: 7478
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3099
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

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

Сообщение MX_Master »

Я предлагаю абстрагироваться от каких-либо платформ. Тратить время на обдумывание способов связи между компонентами тоже не стоит, это всё мелочи. Все эти транспортировочные компоненты можно накатать по мере необходимости. На данном этапе важно продумать архитектуру и составить список основных компонентов. Далее можно будет подобраться к каждому компоненту детально и, возможно, скопировать туда какой-то готовый код ;)

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

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

Сообщение sidor094 »

Согласен.Тогда наверно для начала тольку осеовные действия .Без редакторов,отрисовки графики,параметризации.Наверно только коррекцию на радиус надо оставить иначе потом много менять придется
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6192
Откуда: Казахстан.
Контактная информация:

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

Сообщение aftaev »

sidor094 писал(а): Программа на микроконтроллере.\\\\\\\\так что скачать и посмотреть без платы контроллера и платы куда она втыкается не получиться при всем желании.При покупке вами контроллера(около 4500 на али) и оплате платы чпу(около 1000 руб) плюс покупке прграмматора,без проблем скину код.
Я к тому что вы давно что то разрабатываете, сервопривода из асинхронников делаете. А толком нигде не рекламируете и не продаете.
sidor094 писал(а): Но суть более менее понятна.Ось синхронизируется со шпинделем.
Ось наверно синхронизируется по Z метке. Ось стартует по Z метке, потом разгон и синхронизация со шпинделм.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
AAN
Мастер
Сообщения: 297
Зарегистрирован: 14 апр 2015, 10:28
Репутация: 38
Настоящее имя: Антон
Откуда: Томск
Контактная информация:

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

Сообщение AAN »

MX_Master писал(а): 24 окт 2022, 14:29 разные части проекта надо делать так, чтобы код работал практически на любой платформе. Что-то на подобии простых библиотек, по возможности, без зависимостей.

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

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

Сообщение sidor094 »

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

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

Сообщение sidor094 »

aftaev писал(а): Я к тому что вы давно что то разрабатываете, сервопривода из асинхронников делаете. А толком нигде не рекламируете и не продаете.
Да не продаю.Потому ,что не выгодно.Выгодно производить мощные привода,а у меня не получается мощнее 0.5 квт.На слабых приводах весь гемор связанный с пайкой и сборкой не окупается.Поэтому я последнее время и сам использую покупные сервошаговые.Дешево,и более менее культурно собрано .
Аватара пользователя
MX_Master
Мастер
Сообщения: 7478
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3099
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

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

Сообщение MX_Master »

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

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

Сообщение sidor094 »

система чпу.jpg (328 просмотров) <a class='original' href='./download/file.php?id=205259&sid=73a1be4d5561dba8665c566a102e0704&mode=view' target=_blank>Загрузить оригинал (15.82 КБ)</a>
Может так?
Ответить

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