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

DrEl

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

  1. использованием устройства что-то типа радара, т.е. оно посылает сигнал, он отражается, обрабатывается контроллером и преобразуется в кол-во шагов.
  2. использовать линейный резистор, протянутый по всей длине станка
    и т.д.
    Можете все хором над этим похохотать 😅, т.к. я это все не всерьез. Хотя может это натолкнет кого-нибудь на умную мысль.
maxvovk
DrEl:

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

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

Да все просто, как в аптеке. Сначала нужно поставить задачу, потом внести ограничения, и все станет просто и понятно 😃.

Задача - определить реальное положение инструмента.
Ограничения - отсутствие механических частей.

Ответ - оптика, магнитное поле.

Оптика - енкодеры или линейки. И то и другое вполне реально сделать на коленке.

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

Что забыл?

=DS=
maxvovk

Ограничения - отсутствие механических частей…
Оптика - енкодеры или линейки…

Как-то не согласуются эти два утверждения…

maxvovk

…И то и другое вполне реально сделать на коленке.

Сомнительно. В общем случае разрешение датчика должно в разы превосходить разрешение станка, а если у Вас настолько прецизионные “коленки”, то зачем тогда станок? 😃

[snapback]166617[/snapback]

Добавлено
2DrEl

DrEl

…много бредовых идей, например…
… посылает сигнал, он отражается, обрабатывается контроллером …

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

DrEl
  1. использовать линейный резистор, протянутый по всей длине станка…

Точность, повторяемость и стабильность будут отвратительные.

Если Вас устроит точность 0,03-0,05 (1/800 дюйма) и не очень высокие скорости движения, то лучшее решение - прикрепить оптическую мышь к каретке. Простой интерфейс, снятие сразу двух координат. Более того, некоторые из них могут работать в режиме эмуляции энкодера, но плату надо будет перепаять - эти ножки в стандартной плате не задействованы.

[snapback]166612[/snapback]

Художник

Мышь для ОС успешно используют самодельщики-телескопщики. Для станка CNC скорость низковата.

У микросхемы низковата. У оптопары точно не знаю, надо затестировать.

И ещё раз:

Для дешёвого хобби CNC станка с ШД обратная связь нафиг не нужна.

maxvovk
Художник:

И ещё раз:

Для дешёвого хобби CNC станка с ШД обратная связь нафиг не нужна.

Обратная связь НУЖНА для ЛЮБОГО станка, будь то любительский или еще какой. Только она дает гарантию качества, то есть того, что инструмент прошел именно по заданной траектории. Смею это утверждать, делая свой станок, причем больших габаритов. Сначала играл без всяких ОС, потом поставил индикацию, и сразу понял, что все совсем не так сладко. И только установка ОС позволяет играть с настройками по-максимуму, играть скоростью шпинделя - то есть в действительности понять все возможности станка, скорости резания, прочее.

=DS=

2Художник

Вообще-то я имел в виду оптическую мышь (с камерой), а не оптомеханическую. У нее максимальная скорость 0,8-1,1 м/с (во всяком случае у современных, для геймеров). Для самоделки вроде должно хватить. В целом же Вы правы, ставить ОС на любительский станок особого смысла не имеет, если иметь в виду повышение точности. Но в случае ШД ОС имеет и вторую функцию - отследить резонанс и пропуск шага и соответственно скорректировать режим работы двигателя. Только для этого нужны более сложные контроллеры ШД, чем связка L297-298.

DrEl
Художник:

И ещё раз:

Для дешёвого хобби CNC станка с ШД обратная связь нафиг не нужна.

Ну вот нагло врешь. Я тут недавно принтер разобрал (раньше он назывался Robotron), так и то там стояла ОС. Там на валу ШД стоял диск с прорезями (по моему где то выше мне даже картинка встречалась).

Я, пока лежу в больнице, думаю по реализации ОС в станке. И на ум мне пришла такая мысль. Что есть растояние - это произведение скорости на время. Так почему бы это не применить в станке в качестве ОС? Правда для этого придется точно измерять скорость, но для этого уже существуют оптические датчики, например которые применены в качестве PWM на сайте hans-w.com. Скажите что-нибудь про такую мысль.

=DS=

2 DrEl
" … точно измерять скорость оптическими датчиками, которые применены в качестве PWM… " -это как? 😃

" почему это (скорость) не применить в станке в качестве ОС?" - потому что если мерять расстояние, то ошибки с течением времени будут оставаться в одних и тех же пределах, а если переводить скорость(а также ускорение и все прочие производные) в расстояние, то ошибка будет с течением времени нарастать.

на валу ШД стоял диск с прорезями” - это локальная петля ОС в драйвере двигателя, просто чтобы быть уверенным, что шаг сделан.

2maxvovk
Только она (обратная связь) дает гарантию качества, то есть того, что инструмент прошел именно по заданной траектории.” - На самом деле такую гарантию дает грамотная конструкция станка, которая может включать в себя ОС, а может и не включать. На плохо рассчитаном и сконструированном станке включение ОС скорее всего приведет к тому, что контроллер просто спятит, пытаясь скомпенсировать все ошибки, которые он не в силах скомпенсировать. В результате прямая, которая с некоторой погрешностью воспроизводилась в варианте без ОС, при использовании ОС превратится в загадочную кривую, каждый раз новую при новом проходе. И еше одно соображение. Вообще-то ШД были разработаны специально для применения без ОС, и ее использование с ними практически ничего не даст. Просто представьте, что произойдет, если сенсор выдаст целевую координату между двумя полушагами. Другое дело, если использовать микрошаговое управление, а еще лучше сервомоторы, но это уже другой класс станков.

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

Художник

=DS=,

“Вообще-то я имел в виду оптическую мышь”

У неё разрешение маловато, 400 DPI у хороших моделей, частота сьёмки поверхности порядка 1500 Гц, а для корректной работы прикреплять придётся не к каретке, а к оптической линейке…

“Но в случае ШД ОС имеет и вторую функцию - отследить резонанс и пропуск шага и соответственно скорректировать режим работы двигателя.”

Что то в этом есть, но в грамотной системе резонанса быть не должно, а пропуск шага это аварийный режим, такого тоже быть не должно.
Режим работы двигателя подбирается при пусконаладке машины. Двигатель имеет граничные моменты на валу, и если они превышены, ОС не поможет.

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

Это верно, это пожалуй то, что многие считают собственно ОС.

“На самом деле такую гарантию дает грамотная конструкция станка, которая может включать в себя ОС, а может и не включать.”

Сто пудов правильно.

Я уже писал здесь на форуме, что эксплуатировал много промышленных машин с ШД, приводил примеры машин, и ни в одной из них ОС не применялась. Участник форума из Америки писал, что ОС нужна, но на просьбу привести хотя бы один пример, ответа не последовало.

Ещё добавлю, что введение ОС в станок, например с большим люфтом заставляет ЧПУ дёргать машину на полном ходу, что приводит с динамическим ударам, и как следствие вылету из координаты, резонансу, снижению чистоты реза, быстрому износу машины и инструмента. Поэтому не рекомендую пытаться компенсировать люфт линейкой ОС.

Практик
Художник:

“Но в случае ШД ОС имеет и вторую функцию - отследить резонанс и пропуск шага и соответственно скорректировать режим работы двигателя.”
Что то в этом есть, но в грамотной системе резонанса быть не должно, а пропуск шага это аварийный режим, такого тоже быть не должно.
Режим работы двигателя подбирается при пусконаладке машины. Двигатель имеет граничные моменты на валу, и если они превышены, ОС не поможет.
“локальная петля ОС в драйвере двигателя, просто чтобы быть уверенным, что шаг сделан.”
“На самом деле такую гарантию дает грамотная конструкция станка, которая может включать в себя ОС, а может и не включать.”

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

=DS=
Практик:

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

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

Samson
Vitaly:

В продолжение темы rcopen.com/forum/f111/topic19608
Собственно, хочется тут устаканить некоторые вопрося для железяк хоббийных CNC-контроллеров.

Особо подчеркиваю, ХОББИЙНЫХ. Это значит, что хочется пока отбросить линейные приводы, оставив только шаговые. Иначе мы до конечного результата в жизни не договоримся, пока будем всю вселеную обсуждать.

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

Остается, собственно, вопрос о мозгах. Как известно, пипл хочет, шоб было красиво, а именно, рулить станком (хоббийным) из под виндов. Соответственно, если рулить напрямую через LPT, то имеем ряд проблем:

  1. Нет буферизации. Если тачку параллельно чем-то загрузить, то на процессе управления это скажется самым фиговым образом. Тормознется, как минимум.

  2. Быстродействие под вопросом. Не вообще, а конкретно под виндами. Непонятно, критично ли это для хобби-приложений, но гложит, как говорится.

Вот собственно, хочется понять, можно ли решить эти проблемы “красиво”, и чтобы при тиражировании/повторении не накладно было.

Насколько я понимаю,  самый “низкоуровневый” стандарт для управления станками - это G-Code. Его поддерживает любой софт, отвещающий за импорт моделей из 3D-редакторов. Стандарта на управления шаговиками не сделали (хотя я могу ошибаться), LPT с прямым педальным приводом не считается.

Итак, если хотим красиво жить под виндами, то вариантов 2:

  • либо сделать контроллер со встроеннным интерпретаторов G-Code
  • либо сделать железяку с большим буфером примитивных команд, которая шарит только как движки шевелить, а процессинг G-Code делать в виндах.

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

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

  1. Есть ли какие-то стандартные “умные” контроллеры для hobby CNC, которые реализуют хотя бы часть из описанных функций? Если есть, то какие, и где можно почитать набор их команд?

  2. А чего поддерживает имеющийся софт, кроме LPT? Вроде некоторые по COM еще могут. Если правда, то там стандартный набор команд или нет? И, кстати, список софтин дайте пожалуйста заодно, если не сложно. Которые могут чего-то помимо LPT разруливать.

Тут еще кто-то упоминал, что Match2 поддерживает USB. В каком виде?

Суть моих разглагольствований - понять, какие более низкоуровневые СТАНДАРТНЫЕ форматы управления существуют, помимо G-Code, чтобы не получилось так, что сделали офигенно крутую железяку, но ее ни одна приличная софтина не понимает.

Купите станок Rolland, там все есть. Цена 2 года назад - около 3000 у.е.

horse

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

Добавлено

2 Самсон - очень информативный пост, от себя добавлю, что в греции ваще все есть

DrEl

И снова об ОС в станке. Я тут недавно натолкнулся на интересный жернал, под названем СХЕМОТЕХНИКА 2003 №11. И в нем на страницах 10-12 описывается не менее интересное устройство, которое называется “Высокоскоростной лазерный дальномер”. Советую почитать, может подойдет для ОС. Данные передает он по COM-порту.

Если кому интересно и он не найдет эту статью, то могу выложить в форум или выслать на майл.

maxvovk
DrEl:

И снова об ОС в станке. Я тут недавно натолкнулся на интересный жернал, под названем СХЕМОТЕХНИКА 2003 №11. И в нем на страницах 10-12 описывается не менее интересное устройство, которое называется “Высокоскоростной лазерный дальномер”. Советую почитать, может подойдет для ОС. Данные передает он по COM-порту.

Если кому интересно и он не найдет эту статью, то могу выложить в форум или выслать на майл.

В слове “высокоскоростной” вся суть. Представим себе скорость перемещения 50мм/сек. Это при желаемой точности в сотку 5.000 измерений в секунду. А если у нас быстрые перемещения в 10 раз быстрее?

Я не далее как вчера, изучая макросхемы датчиков от оптических мышей, сам с этим столкнулся. Они могут 400 или 800 cps при скорости перемещения от 12" до 14" - считайте сами. Хотя при малых скоростях идеально подходят для линейных датчиков перемещений.

Художник

maxvovk,

“Они могут 400 или 800 cps при скорости перемещения от 12” до 14" - считайте сами. Хотя при малых скоростях идеально подходят для линейных датчиков перемещений."

Я же писал, до 1500 могут. Всё равно мало. А главное, разрешение не более 400 dpi, это примерно 0,06 мм…

=DS=
Художник:

Я же писал, до 1500 могут. Всё равно мало. А главное, разрешение не более 400 dpi, это примерно 0,06 мм…

Это старое поколение. Современные в разы лучше
Например Agilent ADNS 6010
Максимальная скорость до 1м/с, ускорение до 20g
разрешение до 2000 cpi ~ 0.013 мм
до 7000 изм/сек
Поскольку скорость там с большим запасом, можно поставить оптику и еще поднять разрешение за счет снижения максимальной скорости.

maxvovk
=DS=:

Это старое поколение. Современные в разы лучше
Например Agilent  ADNS 6010
Максимальная скорость до 1м/с, ускорение до 20g
разрешение до 2000 cpi ~  0.013 мм
до 7000 изм/сек
Поскольку скорость там с большим запасом, можно поставить оптику и еще поднять разрешение за счет снижения максимальной скорости.

Да, параметры очень даже. Но использование не так и просто - нужно на лету разбирать картинки, одну за другой. Микруха заточена несколько для других целей.
Если тема интересна - пообсуждаем? Хочу сделать для начала DRO для своих маленьких фрезерного и токарного станочков.

=DS=
maxvovk:

Но использование не так и просто - нужно на лету разбирать картинки, одну за другой. Микруха заточена несколько для других целей
нтересна - пообсуждаем? Хочу сделать для начала DRO для своих маленьких фрезерного и токарного станочков.

Да нет, она сама это делает и выдает наружу данные по мышиному протоколу - т.е. delta X, delta Y с момента предыдущего отсчета. Картинку она тоже может выдавать, но это нештатный режим, для тестовых целей.

maxvovk

Хочу сделать для начала DRO для своих маленьких фрезерного и токарного станочков.

То же самое, но на этом, наверно, и остановлюсь - ЧПУ мне без особой надобности. Лучше для этого, по моему, все таки штангенциркули - вся технология хорошо отлажена и очень даже приличный блок индикации можно купить хоть в сборе, хоть плату, хоть конструктором. Ссылку я давал где-то выше, посмотрите.
РS. Какие у Вас станки?

maxvovk
=DS=:

Да нет, она сама это делает и выдает наружу данные по мышиному протоколу - т.е.  delta X, delta Y с момента предыдущего отсчета. Картинку она тоже может выдавать, но это нештатный режим, для тестовых целей.
То же самое, но на этом, наверно,  и остановлюсь  - ЧПУ мне без особой надобности. Лучше для этого, по моему, все таки штангенциркули - вся технология хорошо отлажена и очень даже приличный блок индикации можно купить хоть в сборе, хоть плату, хоть конструктором. Ссылку я давал где-то выше, посмотрите.
РS. Какие у Вас станки?

Станки у меня токарка Универсал-В (ТШ-3), хочу его заменить на ТВ-7М. Фрезер - НГФ-110 с ВГФ. Для небольшой мастерской считаю это оптимумом.

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

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

Вы правы, часто ЧПУ (в чистом виде) не нужно вообще. А вот автоподача с задаваемой скоростью - вещь крайне полезная.

=DS=
maxvovk:

…Есть готовые линейки, типа вот этой…
… а я хочу единое табло…

О них я и говорю. просто цифорвой штанген отличается от линейки только наличием губок (когорые легко отпилить), меньшей ценой и легкой доставаемостью. По поводу сведения о показаний в одно место - посммотрите все-таки ссылку, там именно то что надо. Есть схема, бесплатная прошивка, а если лень собирать, то можно купить любой промежуточный вариант - от просто печатной платы до готового изделия. Просто в одиночку лень заморачиваться с оплатой и доставкой, а если заинтересует несколько человек, то можно и заняться. Мне, например нужны 2 штуки - на фрезер и токарный.