"Мозги" cnc-контроллеров, драйверы, совместимость

Художник

Насчёт красивого решения. Пожалуй самое красивое - это как раз прямое управление с компьютера через параллельный порт. Никаких дополнительных контроллеров не надо, частота порядка 30 КГц без проблем. Под DOS без проблем. Под виндой генерить частоту по LPT это фокус. Захват по таймеру с высшим приоритетом, под виндой, реализуемый в Mach2, нестабилен. Поэтому она и виснет. Вот как обеспечить прямое управление программно или аппаратно, чтобы корректно и стабильно, это и есть красивое решение.

Vitaly

Вот для того, чтобы его обдумать, я и задаю вопросы. Обсуждать считаю несколько преждевременным, так как ничего именно “красивого”, с моей точки зрения, пока в голове не сформировалось.

monkeypaw

Художник
есть пару вопросов, если можно.
максимальная частота на lpt официально известна?
ато недавно задался вопросом, перекопал поисковики и ничего не нашел в спецификациях. там единственно чтото было про параметры кабеля и фронты импульсов. из этого заключение о частоте сделать тяжеловато.

и вопрос как к практику. встеки, так ли важна стабильность частоты на порту?
ну, будет инструмент подтормаживать. вызовет ли это хоть сколь нибудь существенные проблемы при реальной работе?
если быстрее - понятно - перегрузка на инструмент, потеря шагов или поломка. но этого, как я понимаю, не случится. возможно только замедление.
и что если медленнее? на качестве обработки хоть както сказывается?
чтобы упростить ответ: в увеличении времени обработки на несколько процентов, даже на 10, серьезной проблемы не видится.

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

toxa
monkeypaw

зы. навскидку придумал еще проблему. если двигатели работают на пределе приемистости и происходит разгон, то в этот момент прекращение подачи имульсов на некоторое время пожет привести к потере шагов.

Если компьютер для станка не отдельный, то проблем может быть множество, самое простое - из-за черезчур “умных” драйверов принтера.

Художник

monkeypaw,

“максимальная частота на lpt официально известна?
ато недавно задался вопросом, перекопал поисковики и ничего не нашел в спецификациях. там единственно чтото было про параметры кабеля и фронты импульсов. из этого заключение о частоте сделать тяжеловато.”

Проблемка в том, что порты PC не предназначены частоту генерить, они предназначены данные передавать. Поэтому в данном случае корректно говорить о передаче данных. Но для прямого управления станком интересна частота. Короче, из практики, по LPT 20 КГц из под DOS без проблем, выше зависит от софта, материнки и портов, в теории до 100 Кгц возможно.

" и вопрос как к практику. встеки, так ли важна стабильность частоты на порту?
ну, будет инструмент подтормаживать. вызовет ли это хоть сколь нибудь существенные проблемы при реальной работе?
если быстрее - понятно - перегрузка на инструмент, потеря шагов или поломка. но этого, как я понимаю, не случится. возможно только замедление."

Да если бы только замедление 😃

Вы правильно написали:

“если двигатели работают на пределе приемистости … то в этот момент прекращение подачи имульсов на некоторое время пожет привести к потере шагов.”

Не только к потере, а к зарезу детали и накапливающейся погрешности.

Также toxa правильно пишет, что проблем много, например, при интерполяции мы просто в координату не попадём. И соответственно, вместо круга овал получим, со ступенькой на конце, а вместо Ливерпуль Манхеттен нарисуем. 😉

«что если медленнее? на качестве обработки хоть как то сказывается?
чтобы упростить ответ: в увеличении времени обработки на несколько процентов, даже на 10, серьезной проблемы не видится.»

А вот это другой вопрос. Точнее два.

Как правило, снижение скорости повышает качество обработки.

Увеличение времени обработки единичного элементарного отрезка на единицы процента при обработке детали по сложной программе линейной интерполяции может привести к увеличению времени обработки в десятки раз.

Sergei-md

Вот читаю я всё это и смешно мне 😂 😂 😂

Чего Вы так прилипли к высоким частотам и высокой скорости обработки?

Да ни один хобийный станок не будет никогда на практике обрабатывать что либо на таких скоростях, и никогда вы не будете посылать по LPT даже те 20 КГц.

У меня, к примеру, мах скорость прохода над деталью достигает 5м\мин. на практике 3м\мин мне выше крыше хватает.
А для качественой обработке дерева, мдф и другова мягкого материала, скорость 0.8м\мин.

При таких скоростях , у меня ни разу небыло потери шагов в ШД.

Вот и вопрос, кому нужны эти высокие скорости? Опять ищите гиморой на жо…

Художник

Хохотун какой.

5 м/мин высокая скорость, выше чем у многих «Роландов», практически как у «Чили». Расскажите какие у Вас двигатели, привод (винты, рейки, драйверы, микрошаг, полушаг) и единичный шаг машины.

Sergei-md
Художник:

5 м/мин высокая скорость, выше чем у многих «Роландов», практически как у «Чили». Расскажите какие у Вас двигатели, привод (винты, рейки, драйверы, микрошаг, полушаг) и единичный шаг машины.

Секретов нету 😉

Двигатели FL86ST134 stepmotor.ru/stfl86st.htm
Редуктор 1\10.
Зубчатая рейка.
Униполярный драйвер- 17А, 100В.
Полушаговый режим.
Единичный шаг - 0.018мм

При разгоне движков до ~650об\мин и получается скорость движения портала около 5м\мин.
На практике, для движении G0, мне вполне хватает 2,5м\мин. 😃
При G1 и то меньше, от 0,5 до 0,8м\мин.

В таком деле особо спешить некуда. Для меня главное не скорость , а мощьность

Художник

Sergei-md,

Что то с арифметикой не понятно, при шаге 0,018, на скорости 5м/мин получается частота 4630 Гц. С редуктором 1/10 частота управления должна быть 46 300 Гц. По характеристикам этого мотора, предельная частота порядка 4800 Гц, и то крутящий момент к нулю приближается. Разтолкуйте плиз.

REVERS

По рейке бегает шестерня ф11мм ?
При 650 об/мин получается 2.2 м/мин,
или шаг должен быть больше, чтобы было 5м/мин?!

REVERS
Sergei-md:

Арифметика простая

Ну да, простая, я пол ночи этих “ежиков” складывал 😁
При ф25мм шаг получится 0.038, а не 0.018 😉

Sergei-md
REVERS:

Ну да, простая, я пол ночи этих “ежиков” складывал  😁
При ф25мм шаг получится 0.038, а не 0.018 😉

Наверно на трезвую голову складывал, вот Ёжики и разбегались 😁
77мм делить на 4000 шагов (редуктор ведь 1\10 и полушаговый режим на ШД).
Вот и пощитай сколько мм получиться на один шаг?
У меня почему то получается 0.01925мм. Ну ошибся я на 0,0012мм 😉 , извините за неточность.

REVERS

Да, полушаг я выпустил из виду 😊

А выход драйвера на ключах?

Художник

“Наверно на трезвую голову складывал, вот Ёжики и разбегались”

Ладно, махнул 150 водки, считаю:

5 м : 0,01925 = 259740 имп/мин, делим на 60, умножаем на 10 (коэффициент редуктора), получим 43290 Гц.

Может хронометраж сделаете? Положите метровую линейку, щёлкните секундомером и поехали, через 1м - стоп. Получим 0.5 м в мин. наврное. Так?

Единичный шаг машины замеряли? Каким образом?

Вы скажите, какой модуль шестерни? А мы дальше ёжиков сами посчитаем…

😃

Добавлено

А вообще, зачем резиновый ремень? Для точности наверное. Без обид… Ещё бы пассик от презерватива натянули…

REVERS

Да, модуль можно вычислить, померяв растояние
меж зубами у рейки и поделив на 3.14.
А потом умножив полученное на количество зубов
у шестерни, получим ее делительный диаметр.

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

Sergei-md

Да… И чего я на этом форуме делаю 😕
Пытался помочь людям, даю конкретные данные, фото выкладываю.
Так нет, обязательно найдётся “спец”, которого импульсы по ночам мучают и не знает куда свой презерватив натинуть.

Всем удачи!

Sergey_Murzinov

А в форуме “mach2 и всё что с ним связано!” будешь поялятся или нет? 😈

horse

нда, поражают люди…
вам показывают реально работающий станок, а не теоретизируют про люфты швп. Работающий! И, видимо, устраивающий автора по параметрам. И ему не лень здесь публиковать фотографии с подробностями конструкции - бляха, да скажите спасибо!
Хрен там - начинают искать блох и вычислять погрешности, да еще и в оскорбительном тоне. Вы видели хотя бы размер рабочего поля этого станка?
А свой презерватив наденьте себе на голову, для точности.

DrEl
horse:

нда, поражают люди…
вам показывают реально работающий станок, а не теоретизируют про люфты швп. Работающий! И, видимо, устраивающий автора по параметрам. И ему не лень здесь публиковать фотографии с подробностями конструкции - бляха, да скажите спасибо!
Хрен там - начинают искать блох  и вычислять погрешности, да еще и в оскорбительном тоне. Вы видели хотя бы размер рабочего поля этого станка?
А свой презерватив наденьте себе на голову, для точности.

Ув. horse!!!

Несмотря на то, что я не модератор форума прошу Вас поменьше нецензурно выражаться!!! Новичок, а уже дерзит.

А то этот призерватив я тебе сам на голову надену, для точности.

Не превращай тему в базар. Мы здесь занимаемся делом, а не страдаем от нечего делать.

Художник

Ребята, давайте не будем ругаться, извините, если кого метафора задела. Это эмоции, к делу не относится. Зато весело интеллектуально размялись 😃

Пару слов по шестерням и ременным передачам. Можно конечно ремень использовать, но шестерня пожалуй получше для станочных приложений, люфт можно выбрать третьей подпружиненной шестерней или конструкцией ведомой шестерни, составленной из двух одинаковых вместе сложенных шестерен. Их в
противоположные направления толкает мощная пружина, убирая люфт в паре.

Немножко от темы ушли, вообще здесь про системы управления хоббийным CNC.

Предлагалось обсудить простые красивые решения кроме управления по LPT.

Вот такое есть:

Управление с шины программируемым счётчиком-таймером работающим в режиме генератора частоты.

Схема рабочая, давно паял, тогда хороших микроконтроллеров не было.

Стоит копейки, но работает под DOS.

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

horse

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

Наиболее оптимальным же вариантом является ком, как трудносжигаемый, буферизированный, плюс существует миллион библиотечных функций для работы с ним, плюс копеечные микросхемы интерфейса типа макс232 и их аналоги на все вкусы (а кабель - 3 жилы, просто песня : ))
недаром на комах работает очень много пром оборудования.

Да, и для вящей совместимости и понижения сложности шелезяки было бы неплохо чтобы протокол был максимально прост - степ\дир\концевики…

Но все-таки основная проблема, имхо, не в железе, а в качественном интерпретаторе G кодов, который должен с ним, конкретно, работать.
Хотя бы нечто вроде Ккам. Кстати, там есть возможность работы через ком, но не публиковалось никаких подробностей протокола.

если кто имеет данные по COM протоколу КCам - отзовитеса! 😃

toxa
horse

если кто имеет данные по COM протоколу КCам - отзовитеса! 😃

Аналогичная просьба относительно USB Mode в Mach.

Практик
monkeypaw:

toxa, ну сорри, но я в любом случае не вижу в упор проблемы.

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

успевают шаговые двигатели за тем, что выдает компьютер в lpt или нет

  • контроллер плюсов тут не даст. это, вообщето, забота компьютера и здравого смысла. без обратной связи с декодером все равно придется тот же контроллер настраивать под тип и экземпляр шд. а то еще смазочка просохнет или пара винтовая засорится, скользить хуже начнет…
    а вот то, что тормознется все немножко - ну скажите, кто видит в этом серьезную проблему, если на обработку потратится времени на пару процентов больше чем (ээ… ктото чтото планировал? 😉) )? минута туда - минута сюда…
    насчет небольших отклонений в параметре реза при изменении скорости - будет ли это играть роль при хоббийных то точности, люфтах, шпинделе и жесткости конструкции.

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

кстати , вопрос. какие идеи есть на предмет необходимости ручного управления с пульта кроме кнопок направлений? ну и еще парочки, скажем, задать скорость перемещения. для таких элементарных вещей собственно и схему почти не нужно усложнять, все делается на коммутаторе из кнопок.
в каких случаях может потребоваться чтото более сложное?

вобщем каждый, ессно, делает как ему нравится, пока я для себя решил так. вначале делается все максимально просто. главное чтоб работало.
если что-то вдруг по каким-то причинам не будет устраивать, тогда уже можно и переделать или собрать новый контроллер. хотя буржуи давно понаделали себе станков на L29x, режут всякую галантерею и не жужжат. 😉

sergios, а что, ни один готовый не устроил? даже пару лет назад в интеренете их вроде как десятки лежали…

😅 Смазочка засохнет,пара винтовая подзаржавеет,напряжение в сети до 10
вольт упадет-ну чуть медленнее обработка пойдет,всего-то и делов.Да 😈
лысого.Двигателям практически наплевать на изменение тока(можно уменьшить ток в 3! раза)и никакого уменьшения частоты не наблюдается(попробуйте хотя-бы теоретически показать,почему это должно быть-система-то цифровая)
А потом (по мере уменьшения тока)рывком раз,и встала,Именно рывком,никакого плавного уменьшения частоты.

monkeypaw

😅 Смазочка засохнет,пара винтовая подзаржавеет,напряжение в сети до 10
вольт упадет-ну чуть медленнее обработка пойдет,всего-то и делов.Да  😈
лысого.Двигателям практически наплевать на изменение тока(можно уменьшить ток в 3! раза)и никакого уменьшения частоты не наблюдается(попробуйте хотя-бы  теоретически показать,почему это должно быть-система-то цифровая)

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

А потом (по мере уменьшения тока)рывком раз,и встала,Именно рывком,никакого плавного уменьшения частоты.

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

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