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

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! раза)и никакого уменьшения частоты не наблюдается(попробуйте хотя-бы  теоретически показать,почему это должно быть-система-то цифровая)

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

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

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

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

karlson

Могу поделиться, как мы уходили от компьютера. 😃
Задача стояла простая. Во время отладки - связь через порт. Выполнение задачи - самостоятельно и независимо. Использовали флеш память и генератор. Генератор перебирает через счетчики адреса памяти. 8 выводов данных - 4 координаты. Частота гегератора - скорость выполнения задачи (переменный резистор). Перемещение по координатам без компа. Выехал в нужную точку - старт задачи. Задача закончилась - меняй деталь и по новой.
Комп свободен. Проблем гораздо меньше. Все на простой логике. Можно и на контроллере - но долго.

miklin

Народ есть микросхема фирмы Fujitsu MB90595,заточена на управление
4мя ШД и ещё кучя портов,управляется через COM и программируюется
через тоже,но есть особенность, своя оболочка,своё ядро.Но можно зделать
отличный контроллер,на все вкусы, уже есть готовый конструктор нужно
только определить задачи и подключить програмистов.

Художник

Vitaly,

Ещё одно красивое решение.

Управление драйверами ШД с LPT порта под DOS управляющим компьютером. Закачка УП может производится по COM порту с рабочей станции под Windows или любой другой средой.

Это пожалуй самое лучшее решение для хоббийных и простых промышленных приложениий на ШД. Материнская плата с сотым пнём сейчас 10$ стоит. Под DOS программа управления через LPT в реалтайме работает стабильно. 20 КГц без проблем.

Vitaly

Громоздко как-то, хотя, конечно, вполне рабочий вариант. Те, кто на линуксе контроллер делают, пошли примерно по этому пути. И потом, я бы поленился старую мамку в развалах отыскивать. Не люблю я старого хлама. Предпочел бы модный современный контроллер в пределах 50-100 баксов. Хотя, может я один такой.

Художник

monkeypaw,

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

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

Если винда будет тормозить машину когда захочет, машина будет “дробить” и делать ошибки.

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

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

Добавлено

Vitaly,

“Громоздко как-то”

Просто ставим какой-нибудь пень 166 за 100$ на управление, перегружаем под DOS и работаем. Отправлять на него УП можно по сети, можно флэшкой, а можно и на нём создавать в CAM-е в перерывах между работой станка.

“Предпочел бы модный современный контроллер в пределах 50-100 баксов.”

50 не знаю, 150 реально.

monkeypaw
Художник

monkeypaw,
В случае приостановки движения, необходимо  за определённое количество шагов перейти на пониженую скорость, остановиться и вновь начать разгон до рабочей. Иначе машина вылетает из координаты. Чем выше скорость движения и масса кареток, тем больше погрешность.
Если винда будет тормозить машину когда захочет, машина будет “дробить” и делать ошибки.
Либо мы должны ездить на ползучей, или скорости дотягивания. И даже в этом случае, механика не любит жёсткий старт-стоп.
Если управляющая частота не стабильна, машина вообще будет уезжать не туда, куда нужно.

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

9 days later
Практик
monkeypaw:

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

Именно так.Уменшение тока(в первую очередь из-за уменшения(пропадания на мгновение)напряжения сети.Из-за этих сбоев(пропуска шагов)деталь придется просто выбросить.Это есть брак.Сеть чихнула-Вы 2 часа работы станка на помойку.
Пока у меня таких случаев не было(станок только родился),но все-же хотелось-бы знать,как обойти эту проблему?
P.S. Про УПС я знаю.

horse

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

Андрей28

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

8 days later
DrEl

Мужики! Я склоняюсь уже к такой мысли, что все ваши разговоры так и ведут к появлению ОС (об. связь) в станке. Уже сколько предпосылок к этому была сказано, но, как кто-то писал, она там не нужна. Я с этим котегорично не согласен. Давай все-таки порассуждаем каким образом ее внедрить в станок.

Jager
DrEl:

Мужики! Я склоняюсь уже к такой мысли, что все ваши разговоры так и ведут к появлению ОС (об. связь) в станке. Уже сколько предпосылок к этому была сказано, но, как кто-то писал, она там не нужна. Я с этим котегорично не согласен. Давай все-таки порассуждаем каким образом ее внедрить в станок.

А что обсуждать, вот читайте www.skbis.ru/rotary.php?id=2 и вот www.skbis.ru/linear.php?id=1 отечественный производитель, все уже придумано, MACH2 поддерживает обратную связь легко, осталось дело за малым… деньги ну и желание само сабой 😃

DrEl
Jager:

А что обсуждать, вот читайте www.skbis.ru/rotary.php?id=2 и вот www.skbis.ru/linear.php?id=1 отечественный производитель, все уже придумано, MACH2 поддерживает обратную связь легко, осталось дело за малым… деньги ну и желание само сабой 😃

Ну с деньгами и дурак может, а ты попробуй без денег, сам изготовить. Я ж говорю о САМОСТОЯТЕЛЬНОМ изготовлении сего устройства. А если для хоббийного станка все покупать (направляющие, станину, ВП и т.д.), то по стоимости он будет сравним с готовым фирменным станком.

maxvovk
DrEl:

Ну с деньгами и дурак может, а ты попробуй без денег, сам изготовить. Я ж говорю о САМОСТОЯТЕЛЬНОМ изготовлении сего устройства. А если для хоббийного станка все покупать (направляющие, станину, ВП и т.д.), то по стоимости он будет сравним с готовым фирменным станком.

Я как-то уже писал на соседнем форуме. Станок можно сделать и за 100уе - но что это будет за прибор? Есть некая минимальная цифра, которую нужно истратить, чтобы получилось что-то приличное.

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

Jager
DrEl:

Ну с деньгами и дурак может, а ты попробуй без денег, сам изготовить. Я ж говорю о САМОСТОЯТЕЛЬНОМ изготовлении сего устройства. А если для хоббийного станка все покупать (направляющие, станину, ВП и т.д.), то по стоимости он будет сравним с готовым фирменным станком.

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

Художник

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

Могу посоветовать пару несложных конструкций оптических поворотных датчиков семидесятых годов прошлого века.

=DS=
Художник

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

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