Как уйти от медленного lpt-порта?

Zarko
ACB:

Тут соверешенно неправильно описан так называемый Look-a-head, в конце каждого кадра ни одна из современных программ (и даже устаревших) не тормозит до нулевой скорости…

Вы уверены? Почитайте последний абзац 😉

bolt

LPT давно умер за ненадобностью, а его скорость тормозит операционка. На плаву его держит только халявный Mach.
Скорость обработки, как уже говорилось, зависит от механики. Станок с ШД – это уже движение рывками, компенсирует которые как раз не 100% жесткость конструкции. ‘Look a head’ в данном случае штука практически бесполезная, как и плавный разгон/торможение шаговика. Такой алгоритм хорош для больших станков с сервоприводом, которые имеют не только запас по скорости и моменту, но и ОС по положению.
В традиционной связке CNC-ШД-LPT-Mach-ОС, порт – не самое узкое место.

Zarko
bolt:

LPT давно умер за ненадобностью, а его скорость тормозит операционка. На плаву его держит только халявный Mach.
Скорость обработки, как уже говорилось, зависит от механики. Станок с ШД – это уже движение рывками, компенсирует которые как раз не 100% жесткость конструкции. ‘Look a head’ в данном случае штука практически бесполезная, как и плавный разгон/торможение шаговика. Такой алгоритм хорош для больших станков с сервоприводом, которые имеют не только запас по скорости и моменту, но и ОС по положению.
В традиционной связке CNC-ШД-LPT-Mach-ОС, порт – не самое узкое место.

Look a head применяется для увеличения скорости хода, что непосредственно влияет на плавность хода. Вы неправы, толк с него ОГРОМНЫЙ при работе с сложными объектами.

bolt

Эффект от «Look a head» будет, если используется сервопривод, т.е. двигатель имеет возможность плавно изменить скорость. У ШД скорость проворота на шаг/полушаг постоянна. Шпиндель такого станка уже движется рывками. Снижать скорость подачи при смене направления не имеет смысла. Это увеличит не плавность, а время обработки. И повысить скорость подачи для ШД мы уже не можем, что связано с прочностью конструкции/фрезы и пр.

AlexSpb

bolt
Вы безаппеляционный теоретик?
Если нет,то включите станок,попробуйте включить и выключить Look a head,а потом постите свои опусы.

bolt
AlexSpb:

Вы безаппеляционный теоретик?

Нет, просто пока писал любительскую альтернативу Mach под свой станок, имел возможность оценить места «затыков» и плюсы/минусы разных вариантов ускорить обработку.
Скорость ШД снижается до нуля после каждого шага, принцип работы у него такой. Если не трудно, то поясните, за счет чего у Вас Look a head дает выигрыш и какой 😮

Creolka
bolt:

Скорость ШД снижается до нуля после каждого шага, …

Интересно, а Ваша скорость тоже снижается до нуля после каждого шага, когда Вы гуляете по парку,
ну или в гамазин за водовкой? 😂

Baha
bolt:

Нет, просто пока писал любительскую альтернативу Mach под свой станок, имел возможность оценить места «затыков» и плюсы/минусы разных вариантов ускорить обработку.
Скорость ШД снижается до нуля после каждого шага, принцип работы у него такой. Если не трудно, то поясните, за счет чего у Вас Look a head дает выигрыш и какой 😮

bolt не будь БОЛТОМ, запусти Мач, сравни результаты со своими теоретическими измышлениями.

3D-BiG

Давайте, несколько приуменьшим пыл обсуждений, а то и до оскорблений можно дойти… А здесь Александр задал конкретный вопрос от которого ушли совершенно в сторону и реально больше с теоретическими рассуждениями…
Честно говоря, с Матчем (а также с Typbo CNC) не работал, т.к. занимаюсь обслуживанием и наладкой уже готовых фрезеров (в основном китайского производства и в основном на шаговых приводах), так вот те станки, у которых было торможение по исполнению каждого кадра программы вообще для быстрой обработки не пригодны (и уже давно не наблюдаю этой математики на современных комплектах электроники)… Те у которых есть прогнозирование (обычно это выполнено в дешевых станках через компиляцию G-кода, а не через интерпретацию) но с линейно заданным ускорением на 3D-обработках при подачах 10мм/сек дают 20-30% задержку по времени обработки от теоретически посчитанного, а на 20мм/сек - до 50-60% задержки, в то время как с ускорением заданным S-кривой при 10мм/сек дают 10-15% задержку, а при 20мм/сек - 20-30%… Это типовые данные для станков на шаговых двигателях с ШВП и близких по механике, но в первом случае построенных на комплектах электроники хоть с NC-Studio, хоть 0401, хоть 0501 и 0509, хоть со старой от PCUT, а вторые - работающих на DSP-комплектах электроники от VectorSoft (он быстрый, хотя и есть некоторые проблемы и у него, но при 3D-обработке обычно он дерет все пыше перечисленные)… По сервоприводным станкам что-нибудь подобное сказать не могу, т.к. хоть устанавливал их и работал с ними, но гораздо меньше, чем с шаговыми и статистики еще не набрал…

Soling
bolt:

Шпиндель такого станка уже движется рывками. Снижать скорость подачи при смене направления не имеет смысла. Это увеличит не плавность, а время обработки. И повысить скорость подачи для ШД мы уже не можем, что связано с прочностью конструкции/фрезы и пр.

Не в обиду, но прежде чем писать альтернативу чему то, стоило бы разобраться толком в вопросе.
Задачка для “обдумать”: Каков шаг фрезы за один шаг ШД, если дискрет станка = 0,005мм? ( Для пояснения - ШД - 200 шагов на оборот, шаг винта - 1мм. ) Реально, при использовании микрошагов и понижающей передачи, дискрет может быть и меньше.
Уверенности в правильности безапеляционного заявления о ненужности снижения скорости хватит не больше чем на минуту, проведенную рядом с Мультикамом работающем в жестком режиме. Поверьте на слово: 600 кг портала, рисующие дугу, с легкостью Вас переубедят.
На более мелких станках это на так страшно, хотя и заметно на глаз. Если нет возможности постоять у станка - попросите знакомого очень резко тормознуть разогнанную машину. А сами в этот момент посидите на месте пассажира. Хотя, думаю, Вам придеться самому вести авто. Не думаю что найдуться помошники - мазохисты.
😁
Повышение скорости ограничено одинаково как для ШД, так и для всех остальных приводов. И связано оно в основном с РЕЖИМАМИ РЕЗКИ. Экономия реально возможна только на холостых переходах и за счет их оптимизации.
Как пример с ходу: недавно была задача - отгравировать листы 600мм с шагом 5мм. Арткам, не мудрствуя, просчитал проходы в одну сторону. Начало линий слева, концы справа. Когда его заставили идти змейкой время работы существенно укоротилось.

bolt:

LPT давно умер за ненадобностью, а его скорость тормозит операционка.

Определимся с терминами: LPT - порт выдающий информацию словами в N бит. ВСЕ биты выдаются на линии в единый момент.
Теперь возьмите блок схему любого станка и найдите на ней место где информация о направлении и количестве шагов передается на драйвера двигателей и снимается с датчиков. Соберите эти линии на один разъем и расскажите чем он отличается от разъема LPT?
😃
Упражнение №2: Возьмите характеристики двигателя и сравните время его реакции и длительность импульса, необходимого для его срабатывания.
С нешаговыми дело не лучше. Они тоже инерционны. Так что придеться ждать сигналов от энкодера. Так кто кого тормозит?
Операционка может тормозить в том случае, если Вы за одно с обработкой погоняете на симуляторе, или фильмец от скуки закрутите. Нормальная операционка ДЛЯ СТАНКА очищена от всяких приблуд и красивостей и работает ТОЛЬКО на станок!

hanter

чем отличается спор мудреца с “теоретиком”… БОЛТ - учите матчасть… ничего личного…

maxvovk
bolt:

Нет, просто пока писал любительскую альтернативу Mach под свой станок, имел возможность оценить места «затыков» и плюсы/минусы разных вариантов ускорить обработку.
Скорость ШД снижается до нуля после каждого шага, принцип работы у него такой. Если не трудно, то поясните, за счет чего у Вас Look a head дает выигрыш и какой 😮

Бред пишете.
Даже у ротора ненагруженного ШД есть момент инерции. Не говоря уже о нагруженном на портал. У примитивных дешевых китайских станков ЛукАхеада нет - такой станок есть у меня на производстве. И когда я вижу, с какими звуками он меняет траекторию при ее изменении на 90 градусов… На это смотреть и это слушать нельзя. Его спасают только шаговики 110 размера длиной 205 и шестерня-рейка с предварительным редуктором (читать - большой запас по мощности). И все равно не смотря на все это, шаги он теряет, портал иногда клинит по Х.
Серво тоже не панацея. В вышеупомянутой статье все действительно очень доходчиво и главное - правильно - написано. И даже 2-х киловаттный серво не успевает затормозить портал и уходит - пусть в рамках заданного допуска - с траектории.
Так что путей три. Глупый - тупо повышать запас момента приводов до ХХ-крат. Простой, но не рациональный - понижать скорость. И правильный - как можно более глубокий анализ траектории с правильно заполненной таблицей ускорений-торможений по всем осям.
А по поводу вашей “альтернативы”… Не один десяток людей принимал участие в разработке всем известной LinuxCNC, и даже спустя 9 лет разработки в ней есть свои тонкости. И даже Мач профессионалы считают доморощенной поделкой, несмотря на то, что разработчик посвящает ей все свое время. И лично для меня много значит то, что вышеупомянутые системы уже претерпели полное переписывание ядра.
И здесь, на форуме, уже довольно много очень продвинутых людей, которые ваши посты воспринимают (понимать правильно - чисто с высоты своего многолетнего опыта) как очередные экзерсисы очередного новичка-дилетанта.
Уж извините за прямоту, но тяжелая рабочая неделя, пятница, коньяк… 😉

3D-BiG
maxvovk:

… У примитивных дешевых китайских станков ЛукАхеада нет - такой станок есть у меня на производстве. И когда я вижу, с какими звуками он меняет траекторию при ее изменении на 90 градусов… На это смотреть и это слушать нельзя. Его спасают только шаговики 110 размера длиной 205 и шестерня-рейка с предварительным редуктором (читать - большой запас по мощности). И все равно не смотря на все это, шаги он теряет, портал иногда клинит по Х.

Уж извините за прямоту, но тяжелая рабочая неделя, пятница, коньяк… 😉

maxvovk:
по поводу отсутствия прогнозирования в дешевых китайских станках вы заблуждаетесь - да и пример привели в корне некорректный - при повороте на 90 градусов предсказывай - непредсказывай скорость по одной из осей в момент поворота будет ноль по любому!!!А по поводу смотреть и слушать да и потери шага на поворотах и клининения по оси - это похоже не выставлены корректно ускорения на станке (задраны больше необходимого) или проблемы с механикой - могут быть местные перекосы и повышенное трение - решатся регулировкой и ТО…
А коньячок по пятницам - это хорошо - даже по доброму позавидовал, т.к. сам такое в эти выходные себе позволить не могу - рабочая неделя еще не кончилась - собираю сильно побитый при перевозке маленький “дешевый китайский станок”(убили в хлам малыша) к краснопресненской выставке - другой уже поздно везти, а выставлять надо, но рабочий, а не груду обломков… 😦

spike
3D-BiG:

maxvovk:
… при повороте на 90 градусов предсказывай - непредсказывай скорость по одной из осей в момент поворота будет ноль по любому!!!..

а если отрезки образующие угол 90° сами под углом к приводам? 😉

spike

3D-BiG, пожалуй Вы правильно написали - при угле 90°, в любом случае, станок должен замедлиться до скорости, при которой привод спокойно может изменить направление.

bolt

Спасибо, за пояснения! Если можно, то про S-кривую подробнее, pls.
Прогнозирование позволяет лишь СНИЗИТЬ скорость обработки, повышая плавность хода. Здесь, imho, возражений нет.
Управление каждым шагом – еще один способ снизить скорость. Но, по сравнению с ограничениями механики, особенно «кривой», – это мелочи.

Soling
spike:

3D-BiG, пожалуй Вы правильно написали - при угле 90°, в любом случае, станок должен замедлиться до скорости, при которой привод спокойно может изменить направление.

Зачем же так ограничиваться?
😁
Строго говоря, при любом изменении направления возникают моменты сил, которых иметь, по хорошему не хотелось бы. И прямая зависимость их возрастания - вплоть до 180 гадусов. Самый злобный случай - гравировка поверхности “змейкой”. Шаг такой гравировки, как правило, мал. И портал не успевает погасить инерцию. А двигун уже тащит его в другую сторону.
К стати… момент никак не зависит от угла по отношению к осям. Играет роль угол изменения направления.
😁 😁 😁

spike
Soling:

К стати… момент никак не зависит от угла по отношению к осям. Играет роль угол изменения направления.
😁 😁 😁

😒
Играет роль изменение скорости привода, т.е. ускорение привода. А обработка траектории с углом 90° (все равно как ориентированного по отношению к приводам), влечет за собой изменение знака скорости привода. При регулировании скорости с LookAhead разницы, между обработкой траектории с углом 90° или 180°, для приводов нет никакой - переход через 0 скорости осуществляется с допустимым ускорением. В этом и суть и задача алгоритма LookAhead.
А вот при обработке углов меньших 90° перехода через 0 скорости привода может не быть - соответственно скорости в конце кадра могут быть выше - за счет этого общее время обработки может быть существенно уменьшено. Особенно LookAhead помогает при криволинейной обработке, при задании кривой отрезками прямых.
З.Ы.: вышесказанное - о 2D-обработке, про 3D - надо подумать (об углах траектории, относительно скорости приводов - все то же)…

bolt

Особенно LookAhead помогает при криволинейной обработке, при задании кривой отрезками прямых.

Для ШД других вариантов просто нет. За счет использования LookAhead время обработки может быть только увеличено, поскольку это лишь торможение, полное или частичное. В самоделках с ШД огромных «летающих» масс мне пока наблюдать не приходилось. Что делает выигрыш от применения сложных алгоритмов разгона/торможения ЩД сомнительным.

Zarko
bolt:

Для ШД других вариантов просто нет. За счет использования LookAhead время обработки может быть только увеличено, поскольку это лишь торможение, полное или частичное. В самоделках с ШД огромных «летающих» масс мне пока наблюдать не приходилось. Что делает выигрыш от применения сложных алгоритмов разгона/торможения ЩД сомнительным.

Пацталом… 😂

spike
bolt:

Что делает выигрыш от применения сложных алгоритмов разгона/торможения ЩД сомнительным.

Дело в том что ШД стартовать сразу с больших частот шагов не могет - ему наращивать их желательно постепенно… в частности S-кривая - один из вариантов такого ускорения. При ускоренном движении без пропуска шагов можно добиться гораздо более высокой скорости.

Soling
Zarko:

Пацталом… 😂

Так… будте любезны подвинуться!

bolt:

\ Что делает выигрыш от применения сложных алгоритмов разгона/торможения ЩД сомнительным.

Весьма и весьма сомнительна польза дальнейших объяснений. Могу только пожелать успехов в разработке “альтернативного” обеспечения.
😃

spike:
  • ему наращивать их желательно постепенно…

Это относится ко всем приводам. Резкий старт приводит к перегрузкам двигателя. Правда для систем без обратной связи, к которым чаще всего относятся системы с ШД, такой старт чреват еще и потерей шагов.
К стати… сам принцип разгона - торможения был применен ещё в первых принтерах. Хотя, соотношение массы головки и момента на валу двигателей тогда было очень далеко от критического.

3D-BiG

Сейчас из-за подготовке к выставке “Реклама 2008” в инете бываю спорадически, а так-как влез сюда и несколько расшевелил эту ветку и получил кучу вопросов - попробую ответить сразу всем тем, кто задал вопросы:
прежде всего - алгоритм предсказания выгоден как на легких, так и на тяжелых станках, таблицы разгона - торможения на предлагаемых нашей фирмой станках почти одинаковые как на маленьких с полем 300мм на 250мм, так и на средних с полем 1200мм на 2500мм - просто на больших станках используются более мощные шаговые двигатели…
Теперь немного про зависимость момента вращения от скорости для шагового двигателя: наиболее информационно и доступно это описано в статьях Ридико Леонида Ивановича - в журнале “Схемотехника”, хотя есть чуть сокращенный вариант его статьи в инете, из которой я и привожу приблизительную эту зависимость (рис.1 зависимость момента от скорости)… Хотя есть и более фундаментальные труды по этому поводу, но более заумные и толстые по объему, а в ряде случаев и тяжелые для восприятия, а Ридико пишет с достаточно глубоким рассмотрение проблемы при хорошем изложении темы для разработчиков таких систем…
Из этого графика видно, что мы не можем сразу дать большой частоты для получения большой скорости, поэтому эту зависимость пытаются как-то смоделировать, притом в виде стартовой частоты, подаваемой на двигатель и линейного ускорения с ограничением максимальной скорости (рис.2 Задание разгонных характеристик в TurboCNC 4.0 и рис.3 Задание разгонных характеристик в NC-Studio версии 6.04) - такой вариант конечно имеет место жить, тем более математически его проще реализовать, но он сильно далек от реальной потребной разгонной характеристики, на которой можно максимально использовать все ресурсы имеющихся двигателей - для этого лучше использовать S-образную разгонную характеристику, например в виде ломаной у которой для каждого диапазона скоростей указываем свое ускорение, как например у нас это реализовано в комплекте электроники наших станков (рис.4 задание S-образной разгонной характеристики на примере китайского станка, который стоит у меня в гараже - притом эта кривая у меня минимизирована на зимний холод - летом ускорения стоят выше, т.к. смазка менее вязкая) - с такой характеристикой я на своем станке могу делать с небольшими прибавками времени 3D-гравировки с разрешением CNC-файла до 3-х знаков - вот хочу на Рекламе 2008 иконку из бука делать с чистовой обработкой на подачах никак не меньше 40мм/сек, да и есть задумка и по оргстеклу одну обработку по 3D-рельефу заделать по спирали с такой-же чистовой подачей…

spike
bolt:

Ну ошибается человек, из-за незнания своего, узнает - не будет так говорить, он-то не понторезит и пацталом не валяецо. Спрашивает и говорит как знает… - а то что свое утверждает - так можт еще и лучше…, знаете как:

“…по законам физики пчела лететь не может, но пчела этих законов не знает…”

Soling:

Весьма и весьма сомнительна польза дальнейших объяснений. Могу только пожелать успехов в разработке “альтернативного” обеспечения. 😃

При моем уважении, весьма и весьма сомнительно, что Ваше объяснение будет лучше, нежели в статье по ссылке выше… Хотя, чем черт не шутит - будьте любезны…

Zarko
spike:

Ну ошибается человек, из-за незнания своего, узнает - не будет так говорить, он-то не понторезит и пацталом не валяецо. Спрашивает и говорит как знает… - а то что свое утверждает - так можт еще и лучше…, знаете как:

А где этот человек спрашивал? Он только утверждает! Кому от этого лучше? Зачем людей вводить в заблуждение?