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

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

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

Ну например,что такое.Правда это из запатентованного в США 😅

Художник

Практик,

Я написал конструкций, а не фотографий внешнего вида.

Есть конструкции, которые весьма просты в изготовлении и эффективны в работе. Сделано в СССР 😉

DrEl

Вот то, что мне кто-то рассказывал. Я - оборжался 😂
Короче, взял мужичок обычную аудиокасету, каким-то образом записал там какие-то данные, разматал ее по длине станка, соорудил устройство, которое читало вроде как координаты с этой ленты, оно их как-то преобразовывало и выдавало координаты уже в цифровом виде. Можете тоже посмеяться 😂

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

Практик,

Я написал конструкций, а не фотографий внешнего вида.

Есть конструкции, которые весьма просты в изготовлении и эффективны в работе. Сделано в СССР 😉

Художник, да не обижайтесь Вы. Просто мы тут не глупее 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 мм…