|
0 / 0 / 0
Регистрация: 15.02.2015
Сообщений: 444
|
|
Дискретные перемещения вдоль прямой27.04.2015, 14:07. Показов 25426. Ответов 26
Метки нет (Все метки)
Добрый день.
Ко мне на днях приедет заказанный ЧПУ станок, но без драйверов и контроллера. Как пояснили мне в компании, экспортные ЧПУ станки подпадают под европейские санкции и ввозить их нельзя. А вот станки, «подготовленные к ЧПУ», то есть с уже установленными шаговиками и концевыми выключателями, вполне себе можно. Короче, пришлось докупить драйвера, благо их предостаточно на рынке и заняться изготовлением котроллера. Думаю, возьму какую-нибудь stm-ку под него, хотя конкретно пока не решил. Однако пока больше всего непонятного остается с программированием станка: мне не хочется думать, как дружить уже существующие программы с моим оборудованием, поэтому я предполагаю написать базовый софт самостоятельно, благо мои потребности во фрезеровании пока минимальны: все детали можно разложить на простые геометрические фигуры, без кривых Безье и прочих заумностей. На данный момент я думаю над аппроксимацией прямых дискретными перемещениями вдоль двумерной координатной сетки. Итак, примерный алгоритм: Дины две точки детали, А и В, с координатами (х1, у1) и (х2, у2) соответственно (для простоты полагаем, что они лежат пересечениях координатной сетки), вдоль прямой на которых надо срезать материал с заготовки. По двум точкам строится уравнение прямой линии (не обязательно параллельной координатным прямым). Далее выбирается начальная точка и добавляется в список точек для прохождения. Положим, это точка А. Двигаясь вдоль линий координат, из этой точки можно попасть в соседние на сетке четыре точки с координатами (х1, у1 + 1), (х1 + 1, у1), (х1 – 1, у1) и (х1, у1 – 1). Задача состоит в том, чтобы выбрать такую точку, которая бы была наименее отдалена от заданной линии. Для этого, во-первых, исключим ту точку, из которой мы пришли (для всех точек, кроме начальной). Далее, посчитаем «манхэттенское» расстояние между оставшимися вариантами и конечной точкой (в данном случае это точка В). Это нужно для того, чтобы сразу исключить те точки, которые уведут нас в неправильном направлении. А «манхэттенское» расстояние считать проще и в данном случае именно оно нас и интересует. Отбрасываем те точки, которые уводят нас от точки В. Наконец, считаем наикратчайшее расстояние от оставшихся точек до заданной прямой и выбираем наименьшее значение. В том случае, если расстояния совпадают (например, когда прямая проведена под углом в 45 градусов) выбираем случайным образом. Далее повторяем действия до тех пор, пока не попадаем в точку В. Теперь у нас есть координаты всех точек, которые должна пройти фреза, остается только посчитать количество шагов и, соответственно, импульсов, которые должны быть поданы на обмотки мотора. Вроде бы все так и достаточно просто. Не вижу смысла усложнять простые вещи. Можно было бы перевести все это на язык линейной алгебры и многообразий, но проще вряд ли станет. В общем, хочу услышать ваши комментарии по алгоритму. Вдруг тут есть специалисты, хорошо знакомые с ПО ЧПУ станков. Да и просто любое мнение может оказаться полезным. В тех книгах, что я открыл, объясняется уже программирование в G-кодах, без низкоуровневых вещей. Не все мне здесь нравится (например, случайный выбор), но в целом, это лучшая из идей, что пока пришли мне в голову. С другой стороны, это «жадный» алгоритм, который может привести к неоптимальному решению. Если нужна картинка, то скажите, я могу вечером нарисовать.
0
|
|
| 27.04.2015, 14:07 | |
|
Ответы с готовыми решениями:
26
Изменение координат вдоль прямой Вычислить интеграл вдоль отрезка прямой |
|
1 / 1 / 0
Регистрация: 19.09.2012
Сообщений: 924
|
||
| 29.04.2015, 13:05 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 17.03.2010
Сообщений: 901
|
||||
| 29.04.2015, 17:10 | ||||
0
|
||||
|
0 / 0 / 0
Регистрация: 23.12.2012
Сообщений: 392
|
|
| 02.05.2015, 06:25 | |
|
Не, ну может я немного погорячился с категоричностью неправильного пути :) Просто с прямыми и окружностями по брезенхему я давно уже разобрался и как то более интересно попробовать что то новенькое.
А недавно я ради интереса потестил синусы и косинусы на авр-ке, и вроде получилось около нескольких тысяч синусов в секунду да еще с переводом из градусов в радианы и отрисовкой на дисплее. Да, а кроме окружностей и прямых надо ведь рисовать и дуги, рассчитывать их сопряжения, а это для станка с ЧПУ наверное основной контур будет. Т.е. я как то не вижу, на чем тут экономить вычислительную мощщ и для чего. А вот поэкономить человеческое время, быстро прикинуть необходимую точность и т.д. - это я понимаю. Тем более, что вроде автор рассматривал и STM32.
0
|
|
|
1 / 1 / 0
Регистрация: 19.09.2012
Сообщений: 924
|
|
| 04.05.2015, 13:02 | |
|
IMHO, в данном случае имеет смысл рассмотреть самый простой вариант - простейший адаптер на LPT + драйверы шаговиков. Этот вариант точно будет работать будет самым простым в установке и настройке. Дальше можно уже изголяться и пилить что-то более продвинутое. Тем более, что ничего не мешает сделать продвинутый контроллер так, что бы он управлял шаговиками ровно через тот же LPT. Заодно и конструкция в целом упростится. Вобщем, "есть слона по кусочку", вместо того, что бы пытаться проглотить его целиком за раз.
0
|
|
|
0 / 0 / 0
Регистрация: 17.03.2010
Сообщений: 901
|
||
| 04.05.2015, 16:17 | ||
в том смысле, чтоб кусочки были используемы в обоих версиях проекта, но при этом сделаны "так просто, как только возможно, но не проще этого"©
0
|
||
|
1 / 1 / 0
Регистрация: 19.09.2012
Сообщений: 924
|
||
| 04.05.2015, 17:12 | ||
в том смысле, чтоб кусочки были используемы в обоих версиях проекта, но при этом сделаны "так просто, как только возможно, но не проще этого"© Драйвера шаговиков понадобятся в любом случае. "Контроллер LPT" не более чем набор оптронов (что тоже не помешает) подключенных к пинам параллельного порта. Так что эта часть будет использована практически полностью как самостоятельно, так и в продвинутом контроллере. Если хочется "по богатому", то можно купить отдельные драйверы шаговиков (в отдельных драйверах типа, например, такого опторазвязка встроена) и отдельно купить (или сделать самому) плату "контроллера" (там будут только разъемы). В таком случае в продвинутой версии плату "контроллера" можно будет выбросить, а все остальное использовать без переделки.
0
|
||
|
0 / 0 / 0
Регистрация: 29.01.2014
Сообщений: 22
|
|
| 04.05.2015, 17:16 | |
|
Погуглите - "ЧПУ Метод оценочной функции"
0
|
|
| 04.05.2015, 17:16 | |
|
Движение машины снизу вверх вдоль прямой. Два космических корабля движутся вдоль одной прямой… Построить график зависимости напряженности суммарного электрического поля зарядов вдоль прямой Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Из невошедшего на форум (диалог с ИИ-гугла)
zorxor 29.07.2026
А вот, что интересно, сказал мне ИИ-гугла:
Этот текст — эмоциональный пост пользователя под ником zorxor на интернет-форуме (вероятно, посвященном мистике, непознанному или альтернативной науке). . . .
|
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет
Новости компьютерного мира и их обсуждение (4)
Салют, шампанское, овации!
:drink:
|
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр.
Дословно, отклонённая. . .
|
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы
Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
|
|
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
|
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2.
Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
|
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
|
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
|