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

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:

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

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

spike
Zarko:

Пацталом… 😂

А от этого кому лучше?

Zarko
spike:

А от этого кому лучше?

А почему Вас это так задело? Это реакция на разсуждения ув. bolt а и видимо не у одного меня она такая…

Soling
spike:

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

При чем тут статья? Она написана грамотно и в дополнениях не нуждается.
объяснение же реакции простое:
Во первых: тема ухода от LPT порта исчерпана. Она плавно перешла в многократно прожеванную песню о том, как выжать из одной лошади восемь лошадиных сил.
Во вторых: объяснять человеку, не желающему воспринимать неудобные ему аргументы, можно бесконечно. Таких тем по выжиманию с удивительно похожей аргументацией, типа “хочу что б так вот было!” - сотни. В реале достаточно часто встречал желающих выжать из станка в пять раз больше, чем он может. Аргументация технического характера на них не действует. Физика - не существует. Есть только желание - быстрее и больше.
Умные производители прячут фабричные настройки станка за пароли и уводят их в недоступные непосвященным модули прог. И делается это потому, что надоело им бодаться с умельцами не понимающими что у станка есть предел производительности. И проще убрать настройки подальше, чем потом доказывать, что пользователь просто изнасиловал железку, оттого она и не прожила гарантии. А гонять спецов в угоду таким для ремонта - накладно, однако. Немцы, может и еще кто, даже ввели файлы - отчеты. В них храниться все что станок делал, в каких режимах… хоть какой, но документ.
И обратите внимание - человек явно ставит себя выше идиотов, корпящих над хитрыми и навороченными режимами. Понять то их можно! Как еще зарплату оправдать. И не такого еще накрутят.
Mach - отстой от недоумков. Халявный, вот и вся прелесть. Правда, уверен, руководства по нему не читались. Некогда. надо писать прогу для виртуально - бесплотного супер скоростного станка.

Так что не стоит воспринимать мой топ, как нежелание делиться. Это нежелание в пустую щелкать по клавишам.
Специально обидеть никого не хочу… но, накипело как то.
😁 😁 😁

spike
Soling:

Так что не стоит воспринимать мой топ, как нежелание делиться. Это нежелание в пустую щелкать по клавишам.
Специально обидеть никого не хочу… но, накипело как то.
😁 😁 😁

Понял, зауважал… 😃 … и bolt, думаю, поймет…
Тоже как-то накипело… но немного другое - во всем рунете днем с огнем не сыскать описание LookAhead более глубокое чем в той статье. Зато у китайцев такие работы есть - похоже что курсовые или дипломные… в рунете-же сплошь и рядом натыкаешься на такое отношение - сначала тебе объяснят что ты дурак и не понимаешь ничего, а уж потом может быть соизволят дать свое не очень-то и толковое объяснение…
Сорри за оффтоп. 😃

Soling

Спасибо за понимание.
😁
Если же переводить тему в русло повышения производительности, то на мой взгляд подход нужен другой.
Стоит разобраться в том, где реально идут задержки.
ИМХО - картина примерно такая:
Материал - инструмент. Основной ограничивающий фактор. Работу любого станка в первую очередь определяют режимы резки.
Какой бы высокой не была скорость самого станка - зачем она нужна, если при “пролете” с этой скоростью он гробит деталь?
Значит нужно очень серьезно подходить к выбору параметров работы.

“холостые” переходы - беда программ трассировки. Например, популярный ArtCam, при просчете переходов по умолчанию руководствуется принципом - начало линии, конец линии. Данные о них он берет из файла источника. То есть он будет пилить в том порядке в котором создавалась модель.
В итоге - масса холостых проходов, на первый взгляд, никакой логике не поддающихся. Есть у него, правда, “оптимизация”. Но даже в этом режиме чудес хватает.
Выод: при подготовке файлов стоит обратить внимание на то, как просчитаны переходы. После этого нужно оценить соотношение потери времени на подготовку файла в ручном режиме разводки переходов и потери при работе. Может оказаться, что стоит смириться с чудесами автомата. На ручную коррекцию уйдет времени больше.
Не менее важен выбор стратегии обработки, а значит и выбор проги для просчета. Особенно это касается 3D обработки. Иногда можно воспользоваться тем, что прги “укладывают” деталь на стол так как она создана в редакторе. Это дает возможность в сложных случаях просчитывать обработку в разных программах, сочетая преимущества разных программ.

Что же касается разгона железа - на мой взгляд это нездоровое занятие. Готовые станки отлаживаются так, что бы было гарантировано отсутствие экстримальных и фатальных событий. Типа вибраций, резонансов, рывков. Изменение настроенных пределов возможно только в случае изменения конструкции самого станка. Самодельные же станки должны быть настроены по тому же принципу. Только тогда можно быть уверенным, что деталь не окажется вдруг меньше ожидаемой или поверхность после обработки не примет волнисто - зубчатый вид.

Электронная же часть в комплексе РС - станок - деталь вряд ли даст хоть какой то выигрыш. По времени она не сравнима со всеми другими “тормозами”. От нее требуется одно - надежность.

На мой взгляд положение такое. И, конечно, стоит принять за правило при оценках и выборах - станок это железка. Работать он будет так как может, а не так как кому то хочется. И по этому надо исходить из его РЕАЛЬНЫХ возможностей. Как ни странно, но об этом частенько забывают.

AlexSpb

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

Ну,я не писатель программ…
Look a head это предпросмотр,т.е. программа знает куда едет дальше и НЕ СНИЖАЕТ до 0 скорость мотора,поэтому и есть выигрыш в скорости обработки.
Александр.
А какую программу для управления используешь? Просто скорости порта явно достаточно,разве что ресурсов компа мало,но это не проблемы порта.

bolt

Извините, что взбаламутил, но «S-кривая» и «LookAhead» как раз попытка «выжать из одной лошади восемь». Первое – ОДИН из способов поднять МАКСИМАЛЬНЫЕ обороты ШД (с риском ухода с траектории), второе – повысить плавность за счет СНИЖЕНИЯ скорости. На коротких участках двигатель просто не успеет набрать скорость и перейдет к торможению. Навороченные режимы – другие вполне законные способы выжать из имеющегося все возможное. Производители принтеров давно уже перешли на сервопривод, не случайно.
Не хотел обидеть поклонников Mach и LPT, но под мои задачи проще оказалось набросать другую программу. Речь собственно о том, что есть разные способы поднять скорость обработки, и не все из них хороши для самоделки, особенно с ШД.

Soling
bolt:

но «S-кривая» и «LookAhead» как раз попытка «выжать из одной лошади восемь».

Отвлекитесь ненадолго от скорости и типов двигателя.
Задача программы управления станком - создание комфортных условий для работы инструмента. Ухищрения с кривыми разгона - вынужденная мера. Задача этого режима - по возможности сгладить рывки при изменении направления движения. И при просмотре вперед используется не полное торможение до нуля не потому, что надо выжать скорость. Просто потом придеться опять разгонять массу. А зачем это делать, если сила возникшая при этом укладывается в допустимую величину?
Говорить о рывках порожденных шагами двигателя просто не серьезно. Выше предлагал прикинуть величину этих рывков.
По сути кривые разгона призваны повторить модель разгона некоей массы с применением заданной мощности двигателя. При этом мощность не должна быть превышена. Вот и все, что они делают.

По принтерам… откройте принтер и посмотрите что там стоит. Сейчас принтеры с энкодерами пожалуй и не встретить. Дорого и не надежно.

Soling

Для bolt:
Ваше желание написать свою программу никакого протеста не вызывает, поймите правильно. Но, стоит ли тратить время и силы на продукт, который, уверен, у Вас самого вызовет только неудовлетворение? Судя по написанному Вами, в компанию Вам стоит поискать постановщика задачи, который сможет четко определить что надо от проги и как она должна работать. То есть это должен быть человек хорошо знакомый с физикой станка и процессом обработки материалов. Кто знает, может быть тогда Ваша прога будет интересна и полезна. Попробуйте поискать что написано по поводу станков и Вы наверняка поймете, что задача эта только с виду проста. Даже для хоббийных самоделок.

Zarko
bolt:

«LookAhead» … второе – повысить плавность за счет СНИЖЕНИЯ скорости.

Как раз всё наоборот! LookAhead снижает скорость ТОЛЬКО там где это надо, а не в конце каждого кадра. Поэтому и выходит больше суммарная скорость и плавность хода. Прочтите внимательно статью, там всё прекрасно и просто описано. А график вообще супер!

toxa

bolt, вы если что-то хотите сказать, то лучше помолчите.

lookahead нужен для того, чтобы проекции ускорений по каждой из осей в каждый момент времени были не выше заданных величин. если будут выше - то будет пропуск шагов и прочие приятные вещи - вибрация, раздалбывание механики… если же останавливаться в конце каждого вектора, то ускорения будут заведомо не выше заданных, но зато не будет достигаться заданная скорость подачи если у вас короткие вектора. а это не только потеря времени, но и, иногда, нарушение режима обработки, что сказывается на качестве. “правильный” lookahead смотрит на много кадров вперед, так как часто эти кадры по паре десятых миллиметра и нужно начать торможение за 50 кадров.

так вот. применение разгонных кривых и lookahead НИКАК не связано с типом двигателя. потому, что если портал весит полтонны и его надо остановить, то что шд, что сервопривод мгновенно остановить его не смогут.

bolt

LookAhead снижает скорость ТОЛЬКО там где это надо

Я с этим и не спорю, как и с повышением плавности хода. Для сервопривода, который имеет возможность быстро выйти на заданную скорость, выигрыш будет заметен. Для ШД произойдет даже некоторое снижение, чему есть подтверждение профи чуть выше.
Если у меня нет 500кг портала и скоростей 10мм/с, т.е. не стоит вопрос снижения нагрузок на механику, то НЕ используя LookAhead можно ускорить обработку.

Soling
bolt:

Если у меня нет 500кг портала и скоростей 10мм/с, т.е. не стоит вопрос снижения нагрузок на механику, то НЕ используя LookAhead можно ускорить обработку.

При условии, что по моменту на валу у Вас чудовищная избыточность. Это первое. Второе условие: очень серьезные меры для подавления вибраций порталов. Даже при небольших, относительно, их массах. Что, в свою очередь, противоречит необходимости увеличивать их массу. Опять же для подавления вибраций. Тут требования противоречивы и нужен поиск компромисса. С одной стороны большие массы подавляют вибрации возникающие при работе фрезы. С другой стороны - способствуют повышению низкочастотных колебаний при смене направления движения. По скольку бороться с первой бедой сложнее в цепочку и вводят хитрые режима движения, призванные максимально погасить вторую беду.
В качестве примера попробуйте такой эксперемент: положите на ладонь камень и резко ударьте по нему молотком. Если это не нефрит, камень разлетится. Так делают геологи. Успех операции зависит от резкости удара. Если он будет вялым - ничего не произойдет. При этом молоток весит всего 150 -200 грам.

toxa

представим, что нам надо выпилить в заготовке паз длинной 100мм затем еще 100мм под углом 90 градусов. предположим, что программа состоит из двух кадров 0, 100 потом 100, 0. в этом случае, что с lookahead, что без него, результат будет одинаков. теперь представим, что программа состоит из 2000 кадров: 1000 векторов по 0.1мм, потом поворот на 90 градусов и еще 1000 векторов по 0.1мм. предподожим, пилим дерево со скоростью 1500мм/мин (или 25мм/c). никакой серводвигатель за 0.1мм скорость полтора метра в минуту не разовьет, а нужно еще успеть остановиться. если мы забъем на разгон/торможение, то в момент поворота на 90 градусов мы потеряем шаги или зарежем заготовку.

так что, ни замена шд на серво, ни уход “от медленного lpt” не спасут отца русской демократии.

bolt

Запас по моменту, конечно, присутствует, что позволило даже ШИМ не использовать. А это более верный способ, чем по S-кривой обороты набирать.
Если говорить о промышленных станках и приближенных к ним, то там все уже настроено, просчитано и проверено. Готовое изделие, которое без нужды трогать не стоит. А в самоделках не всегда есть смысл точно следовать всем рекомендациям.
Вибрации у нас обусловлены самими ШД, которые могут двигать портал только рывками. При шпильке М6*1, рывки в 2,5мкм растворяются в люфтах. Стоит заменить шпильку на ремень и возникнет необходимость в плавности хода или снижении массы. Если станок не типовой, то подходящих вариантов больше. Хотя и за счет простого уменьшения safe Z можно прилично выиграть в скорости обработки.