TurboCNC & TM7 рулит

Хорошая новость! Вышла виндоус версия turboCNC5 поддерживающая работу с контроллером VRI-cnc на 555тм7 автор UR3VCD (Данил Авраменко)
Скачать в формате lay (Sprint Layout 5.0) http://vri-cnc.ru/load/platy/UR3VCD_V2.0.rar

Старая DOS версия тоже поддерживала этот контроллер но не многие знали это.

Попробую обобщить собственный опыт работы с этой программой с инфой из инета.
Эта программа может составить конкукренцию программе Романа. В чём-то она превосходит её, а в чём-то проигрывает.

+ плюсы

  • при работе из доса можно более точно установить значения таймеров и сделать их короче. От этого ход будет более равномерным.
  • дос версия программы полностью бесплатна. 60 уе стоят исходники (не знаю, кому это нужно)
  • поддерживает контроллер степ-дир и контроллер на ТМ7
  • весь интерфейс LPT полностью настраивается. в смысле на любую команду можно выбрать пин порта.
  • поддерживает работу с концевиками (говорят очень удобно - сам не пробовал пока)
    Скачать можно тут - http://www.dakeng.com/tcnc_lt.zip
    мануал на английском - http://www.dakeng.com/man/turbocnc.html
  • !!! использует настраиваемый ускорение-разгон. (просто заглядение !)
  • наверное единственная в инете программа кот может работать с контроллером на тм7 (кроме программы Романа Ветрова VRI-CNC.ru)

появилась новая виндоус-версия - 5 (TurboCNC5 демка ограничена 200 строк кода)
Скачать можно тут - http://www.turbocnc.com.br/index.php?content=download&lang=EN

- минусы-

  • TurboCNC5 демка ограничена 200 строк кода.
  • Интерфейс и мануал только на аглицком. Инфы на русском по настройке почти нет.
  • нет внутреннего 3D просмотра.
  • понимает только готовый Г-код.
  • нет графического интерфейса управления осями в наладке. (нужно привыкнуть)

Ниже я опишу как настроить программу для работы с контроллером на ТМ7.

...но сначало несколько отступлений.
Свой станок я собрал недавно просто для тренировки и что б научиться работать с программами и подобрать свой "комплект".
Шпинделя пока нет, но тренироваться уже можно. Направляющие - от пишущих машинок - хлипкие. Движкии - от кассовых аппаратов. Рисовать и сверлить платы пойдёт.
так что опыта работы со станком у меня нет.
-- надеюсь на вашу помощь и поправте меня, если я где-то буду не прав.

ДОС версия запускается из доса : )
из винды он тоже запускается, но не факт что порт будет работать.
Измените ваш CONFIG.SYS файл, чтобы включить в начальной загрузке EMM386.EXE, HIMEM.SYS, RAMDRIVE.SYS, драйвер мыши. Программы кэширующие диск не нужны(smartDrive.com).
надеюсь не нужно учить вас работе в досе.

Вход в меню в dos версии - F10
1) Выберем количество осей - F10 => Configure => Number of Axes - 3

(у меня их пока три).

2) нужно установить систему измерения в миллиметрах (а не в дюймах).

То же в винде...

3) сконфигурируем порт для работы с осями через ТМ7.
F10 => Configure => Configure Axes

Ось Х

Ось Y

Ось Z

То же в винде:

поясню для тех кто не в курсе.

Тип драйвера-Drive Type- в нашем случае это не степ-дир (step-dir), а фаза (Phase).
Порт- 0х378
последняя фаза (Last Phase) - 8 (если исползовать полушаг); - 4 для полного шага.

Pin state: Х Х Х Х X X X X X X X X (from Phase definition 1)
Pin ID: 2 3 4 5 6 7 8 9 1 14 16 17 - соответствие позиции знака Х номеру пин порта (ноги LPT)
2, 3. 4, 5 пин - это номера обмотки каждого двигатееля
6 - ШД_Х
7 - ШД_Y
8 - ШД_Z
(9 - зарезервирован для включения шпинделя, тут не используем)

для шага очерёдность включения обмоток будет такой:
- 1000 - 0100 - 0010 - 0001 - (всего используем 4 фазы)
за каждый шаг работает только одна обмотка
- снижено потребление тока но и мощность двигателя снижена тоже.

  • для полного шага -
    - 1100 - 0110 - 0011 - 1001.
    за каждый шаг работает одновременно две обмотки.
    Повышенно потребление тока и повышена мощность двигателя.
  • для полушага -
    1000 - 1100 - 0100 - 0110 - 0010 - 0011 - 0001 - 1001 - (всего 8 фаз - комбинаций)
    поочерёдно включены то одна - то две обмотки.
    Каждый нечётный шаг мощность снижена, каждый чётный - увеличена.

при полушаге получается за один оборот вала - точность в два раза выше, но и максимальная частота вращения двигателя будет ниже чем при полном шаге - будут пропуски.
Всего допускается 16 фаз. можно сделать четверть-шаг. (Но по-моему это лишнее).

  • итак включением обмоток занимаются левые 4 пина (2, 3, 4, 5)
  • для оси Х во всех фазах должен быть включен пин 6=1, а пины 7 и 8=0 - отключены ( 100 )
  • для оси Y - 7=1, 6 и 8 =0 ( 010 )
  • для Z 6 и 7=0, 8=1 (001)
    логика должна быть уже понятна.

Этот рисунок поможет вам правильно назначить пины LPT порта для программы TurboCNC.

нажатием F2 вызывается монитор порта. но если вы тупо настроите фазы как на скриншотах то он не понадобится.

На этой же вкладке нстройки оси настраиваются параметры перемещения для каждой оси. (Motion Parametrs)

  • Масштаб (Scale) - на сколько милиметров перемещается ось при одном шаге двигателя.
    (шаг резьбы ходового винта делить на количество шагов на один оборот двигателя )
    напр у меня шпильки M6. Шаг резобы - 1 мм. при полушаге - 200 шагов на оборот. получаем 1 / 200 = 0,005 мм.
    в ДОС версии для этого сложного расчёта в этой же строке есть калькулятор (Calc).
  • Ускорение (accel) . вроде ясно.
  • Стартовая скорость (Start vel)
  • Максимальная скорость (Max vel)
  • Люфт (Backlash) - если знаете, сколько люфт - выставляете здесь.
    Лучше по микрометру - при одиночных шагах туда-сюда ось должна двигаться на величину шага.
  • Медленный толчок (Slow Jog) - на этой скорости едет в наладке по F8 в режиме Continuo.
    (режим меняется кнопкой < Tab > на Discrete). Движется пока держите кнопку.

  • Быстрый толчок (Slow Jog) - на этой скорости в наладке по F8 в режиме Descrete .
    (режим меняется кнопкой < Tab > на Continuo).

  • В виндоус версии для настройки ускорений и скоростей есть кнопка < Test >

4) настроим величину толчкового перемещения для работы в наладке. На столько мм ось проедет в наладке при однократном
нажатии на кнопку влево-вправо, вверх-вниз, Page Up-Page down. (F8, режим - Descrete)
F10 => Configure => Jog Incriments

Лучше всего нажать сначала на < AutoLoad >, а потом на < Copy mm -> in > .

В режиме наладки (F8) выше установленные дескретные перемещения выбираются цифрами 0 - 9.
(в данном случае на циферке 1 - будет 0,005 мм, на циферке 0 - 200 мм).
Величина установится для активной оси или для всех осей в том случае, если эта опция отмечена на вкладке
General Config => ( Sync Axis Increments ) - синхронизировать приращения осей.
Активная ось выбирается кнопками Alt+1, Alt+2 и т.д.

5) F10 => General Config

  • Home Switch is Limit - в мануале написано что-то вроде "отметьте, если концевики начала координат будут использоваться как ограничители."
  • Start Inhibit - хм.. переводится как "Начало торможения" и на него можно назначить пин лпт порта.
    вроде как по этому концевику можно переходить на рабочий ход ?
  • Sync Units Incriment - синхронизирует количество цифр после запятой при переключении работы между дюймами и миллиметрами.
  • Sync Axis Inrements - описывалось выше - синхронно переключает в наладке приращения всех осей, а не только активной.
  • Imperial Precision - количество знаков после запятой для дюймов.
  • Metric Precision - количество знаков после запятой для миллиметров.
  • Defaut Feed Rate - скорость подачи по умолчанию.
  • Home Rate - скорость при движении в начала координат ( в нули ).
  • Reverse Axis Delay - время на реверсирование осей.

Default Directory: тут указываются пути к файлам. Можно указать относительные пути, если начать строу с точки и левой косой - это будет папка где лежит turdocnc.exe.

  • CNC Part File
  • Fixtures and Tooling
  • Point Cloud File

Если по ходу выполнения программы встречаются коды с круговой интерполяцией (типа G02 X23.983 Y61.926 I27.702 J37.232), то на вкладке настроек < Configure > => < RS_274_Dialect > нужно включить (Arc_IJK_Offsets) = ABS абсолютные приращения.

Arc_IJK_Offsets - включить

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

Итак продолжение.

Давно не пользовался станочком и вот снова взялся за него и обнаружил такие глюки программы TurboCNC (пока проверил ДОС версию, но похоже что они же есть и в вин версии).
Сразу оговорюсь что всё сказанное проверялось в комплекте с контроллером VRI-cnc на ТМ7. Соответственно программа сконфигурирована для работы в режиме управления фазами (двигателей). Возможно этих глюков не будет при управлении степ-дир контроллерами.

1) на вкладке настроек < Configure > если во всех трёх осях установлена одинаковая величина
Стартовой_скорости_оси (Start_Vel), например =1, то при выполнении кода, когда приращения
всех трёх осей равны (напр G00 X10 Y10 Z10 ) либо (напр G00 X10 Y10 ) - то перемещения по оси [ X ] не происходит.

В то же время если (Start_Vel) = напр [ X ]=3, [ Y ]=1, [ Z ]=2 всё ОК

- ВЫВОД !!! в настройках осей указывать РАЗЛИЧНУЮ стартовую скорость (параметр Start_Vel)

2) если на вкладке настроек < Configure > => < RS_274_Dialect > задействовать [ х ] G00_Linear_rapids,
то при выполнении кода
- напр [ G00 X10 Y10 Z10 ] (приращения всех осей ровны) то на самом деле
перемещение происходит только по оси Z=10 !!!
- или [ G00 X10 Y10 ] (приращения осей Х и Y ровны) то на самом деле
перемещение происходит только по оси Y=10 !!!

Назначение этого параметра в том чтобы при быстром перемещении осей ( код G00 ) = Холостой_Ход
траектория движения инструмента
- будет происходить либо по кратчайшей прямой (при ОТмеченном параметре ),
- либо .. каждая ось в отдельности будет двигаться с максимально
разрешённой для себя скоростью и траектория уже не будет образовывать прямую
(при НЕотмеченном параметре).

- ВЫВОД !!! снять птичку в параметре < Configure > => < RS_274_Dialect > [ _ ] G00_Linear_rapids.

G00_Linear_Rapids - снять галку

3) если на вкладке настроек < General > параметр [ Reverse Axis Dealay ] >0
( время реверсирования осей больлше нуля ), то "проглатываются" шаги
во время задержки ( напр ось [ Z ] при сверлении заглюбляется всё ниже и ниже).
Соответственно чем больше установлено время задержки, тем больше заметно
рассогласование по всем трём осям.

- ВЫВОД !!! установить на вкладке настроек < General > параметр [ Reverse Axis Dealay ] =0.

Reverse_Axis_Delay установить = 0

Пока вроде всё. Буду испытывать вин версию.

Статья будет дополняться и исправляться по вашим замечаниям. Я сам со многим ещё не разобрался. Пишите замечания на форуме или на мыло CrowScout@tut.by. в инете я ,правда, пока бываю довольно редко.


Давно не пользовался станочком и вот снова взялся за него и обнаружил такие глюки программы TurboCNC (пока проверил ДОС версию, но похоже что они же есть и в вин версии).
Сразу оговорюсь что всё сказанное проверялось в комплекте с контроллером VRI-cnc на ТМ7. Соответственно программа сконфигурирована для работы в режиме управления фазами (двигателей). Возможно этих глюков не будет при управлении степ-дир контроллерами.

1) на вкладке настроек <Configure> если во всех трёх осях установлена одинаковая величина
Стартовой_скорости_оси (Start_Vel), например =1, то при выполнении кода, когда приращения
всех трёх осей равны (напр G00 X10 Y10 Z10 ) либо (напр G00 X10 Y10 ) - перемещения по оси [ X ] не происходит.

В то же время если <Start> = напр [ X ]=3, [ Y ]=1, [ Z ]=2 всё ОК
    - ВЫВОД !!! в настройках осей указывать РАЗЛИЧНУЮ стартовую скорость (параметр  Start_Vel)

2) если на вкладке настроек <Configure> => <RS_274_Dialect> задействовать [ х ] G00_Linear_rapids,
то при выполнении кода
      - напр [ G00 X10 Y10 Z10 ] (приращения всех осей ровны) то на самом деле
        перемещение происходит только по оси Z=10 !!!
    - или   [ G00 X10 Y10 ] (приращения осей Х и Y ровны) то на самом деле
        перемещение происходит только по оси Y=10 !!!

Назначение этого параметра в том чтобы при быстром перемещении осей ( код G00 ) = Холостой_Ход
траектория движения инструмента
    - будет происходить либо по кратчайшей прямой (при ОТмеченном параметре ),
    - либо .. каждая ось в отдельности будет двигаться с максимально
разрешённой для себя скоростью и траектория уже не будет образовывать прямую
(при НЕотмеченном параметре).

    - ВЫВОД !!! снять птичку в параметре <Configure> => <RS_274_Dialect> [ _ ] G00_Linear_rapids.

3) если на вкладке настроек <General> параметр [ Reverse Axis Dealay ] >0
( время реверсирования осей больлше нуля ), то "проглатываются" шаги
во время задержки ( напр ось [ Z ] при сверлении заглюбляется всё ниже и ниже).
Соответственно чем больше установлено время задержки, тем больше заметно
рассогласование по всем трём осям.

- ВЫВОД !!!  установить на вкладке настроек <General> параметр [ Reverse Axis Dealay ] =0.

Пока вроде всё. Буду испытывать вин версию.