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

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

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

Хлопци ! Вы че ? Включать-не включать ? Поставте любимую картинку на гравировку и режте.Как картинка поплыла и ось 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 штуки - на фрезер и токарный.

maxvovk
=DS=:

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

Я подумаю. Но есть пара вопросов. Где это дают недорого и доступно цифровые, пусть китайские, штангены?

Jager
maxvovk:

Я подумаю. Но есть пара вопросов. Где это дают недорого и доступно цифровые, пусть китайские, штангены?

Вот здесь konatools.ru в разделе “Инструменты” цена было в районе 700 рублей.

maxvovk
Jager:

Вот здесь konatools.ru в разделе “Инструменты” цена было в районе 700 рублей.

150мм - 25-30 = 735руб
200мм - 36-50 = 1060руб
300мм - 65-00 = 1890руб

Соверщенно несерьёзные цены. Да ладно цены - еще и пилить нужно 😃.

Вот пример - DRO . 300мм стоит 50 уёв, со всеми крепилками. Причем это магазинная цена.

А если мне нужно 1000мм? Такая линейка кстати стоит 120 уёв.

stakan

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

25 days later
Sergei-md

Такой вопрос возник
В чем отличие работы драйвера между 1\2 шага и микрошага( к примеру 1\10), кроме точности? Влияет ли микрошаг на скорость, динамику и главное на мощность двигателя?

maxvovk
Sergei-md:

Такой вопрос возник
В чем отличие работы драйвера между 1\2 шага и микрошага( к примеру 1\10), кроме точности? Влияет ли микрошаг на скорость, динамику и главное на  мощность двигателя?

ШД в микрошаге работает плавно и тихо 😃. При потере микрошага-двух-пяти никаких эксцессов не происходит - движок продолжает шагать. Никаких резонансов. Максимальная мощность. Динамика выше, но явно не сильно, скорость (наверное имелась ввиду максимальная) та же.

Художник

“В чем отличие работы драйвера между 1\2 шага и микрошага( к примеру 1\10), кроме точности? Влияет ли микрошаг на скорость, динамику и главное на мощность двигателя?”

Точность ухудшает.

Процитирую Ридико Л. И. :

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

Подробно см. :
user.telesys.ru/projects/proj077/index.shtml

horse

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

Добавлено

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