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

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, чтобы не получилось так, что сделали офигенно крутую железяку, но ее ни одна приличная софтина не понимает.

toxa
Vitaly

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

Можно подключить HID устройство как устройство ВВОДА. То есть клавиатуру хитрую специфическую и прочее. Через утилитку KeyGrabber. Концевые выключатели, всякие лампочки статуса, чтение координат…

Для управления же станком там есть “USB MODE”. Но что именно туда пишется документация умалчивает.

Добавлено

Сходил на CNCzone, там вычитал вот это:

You can’t use a USB breakout board with Mach2. Mach2 I *think* supports usb joysticks. Art’s also adding support for some other type of I/O boards, possibly USB, not sure.
Mach2 has a USB mode for running the Gecko G2002 pulse generator. But you can’t send your step and direction signals through USB. Parallel port only.

В общем, сдается мне, что пока что самое действенное решение - эмулятор последовательного или параллельного порта.

И с последовательным портом у mach2 тоже не все гладко. Можно через макросы туда что-то писать, либо считывать и эту информацию использовать, но вот так, чтобы управлять шаговыми двигателями…

RID

И еще есть вопросик, в каком “месте” производится “привязка” к станку?
(Или калибровка шаги- мм.)
Где и как происходит учет формы фрезы (оли хотя-бы ее диаметра)?

Vitaly

Вот в этом софте и происходит, как и в других “нарезалках”. Насчет формы не знаю, а диаметр там точно задать можно. Параметры двигателей - тоже. Ну и соответственно скорость, иногда через тип материала.

toxa

Вау! Как мне это нравится. Скачал доку по mach3, ищу про USB. Ну, ввел “USB” ищу вхождения. Смотрю - глава про подключение. Думаю, ага (!!!) подключается! Читаю. Далее - мой вольный перевод:

LPT был в самом первом PC от IBM, он использовался для множества функций, помимо, естественно, подключения принтера. По LPT можно передавать данные между компьютерами, подключать накопители типа ZIP, электронные ключи для защиты программ и прочее и прочее… USB - клевая штука - так же позволяет делать все это и еще многое другое… 😃😃 😃 … ТЕМ САМЫМ ОСВОБОЖДАЯ LPT ПОРТ ДЛЯ ПРОГРАММЫ MACH. 😈 😦 😦

Vitaly

Млин… юмористы…

Уточню вопрос. Может, какие-нибудь продвинутые софтины имеют API для написание собственных драйверов, взамен LPT?

toxa
Vitaly

Может, какие-нибудь продвинутые софтины имеют API для написание собственных драйверов, взамен LPT?

Про API тут обсуждение. Искал про gecko, вот наткнулся на это: emc.sourceforge.net/NIST-archive/msg06233.html
Там еще есть несколько веток по схожей теме: emc.sourceforge.net/NIST-archive/threads.html

Про Mach2. Как я понял, управлять станком по USB все же можно. Для этого, нужно чтобы станок прикидывался этим G2002 (надо бы узнать его Vendor и Product ID). Затем в диалоге Port Setup выставляем USB Mode и указываем, сколько байт содержится в Input Report’е девайса, сколько в Output Report’е. Затем в закладке Output Pins вместо номера пина lpt порта нужно указать номер байта в соответствующем Report’е. С Input Pins’ами то же самое. Вот только я не уверен, байта или hid control’а, ведь мы можем задавать длинну полей в дескрипторе в битах. Но это легко проверить.

Художник

Vitaly,

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

Пойдём по порядку. Платы могут быть разные. Например, можно управлять посредством платы ввода-вывода на управляемом таймере, плата управления движением может быть на контроллере, на плиске, с различным прграммным обеспечением, она может стоять на шине ISA или PCI, может быть подключена через порты, наконец можно управлять приводами ШД непосредственно с портов.

Под словом “мозги” вероятно имеются ввиду программы управления. Сразу уточню, под Windows прямое управление с LPT и простыми платами ввода-вывода или ключами с портов не получится, потому что Windows не является операционной системой реального времени (ОСРВ). Можно сделать под DOS, можно например под QNX, или другими ОСРВ.

Если хотим из под виндов, у нас два варианта:

  1. Заваливаем реалтайм на контроллер и подаём на контроллер сигналы управления через COM порт.
  2. Пререносим программу управления в контроллер, передаём с компьютера данные кадров движения через COM или LPT.

"Соответственно, если рулить напрямую через LPT, то имеем ряд проблем:

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

Если центральный процессор компьютера используется для управления движением, никакие другие приложения запускать нельзя. Правда это не страшно, т.к. для управления станком подойдёт любой, даже самый дешёвый компьютер. Кроме того, параллельная работа с другими приложениями может например “завесить” компьютер и вы получите аварийную ситуацию.

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

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

Максимальная скорость передачи данных по RS 232 114 Кбод/с, что для побайтной передачи сигналов управления по первому варианту позволит перемещаться в пошаговом режиме со скоростью порядка 14 000 шагов в секунду. В режиме непрерывного движения - с максимально возможной скоростью.

USB намного шустреее, USB2 ещё шустрее.

Если плата на шине - с максимально возможной скоростью.

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

Первый вариант дешевле, поскольку позволяет использовать дешёвые контроллеры, второй красивее, но дороже. Красота требует жертв.

“Насколько я понимаю, самый “низкоуровневый” стандарт для управления станками - это G-Code.”

Не обязательно G-Code, можно что-нибудь попроще применить, например HPGL, можно к какому-нибудь популярному корректному драйверу подвязаться.

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

Это ещё вопрос, что дешевле получится…

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

Да есть. Классический пример - DeskCNC. Неплохая программа для несложных приложений. Устроит многих пользователей с машинами на ШД. Стоит 350$+доставка www.deskcnc.com

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

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

Вообще софта много всякого, например KCam4, DeskART, JalaCNC, Easy NC Drill, Master5, Ninos.

Следует учитывать такие нюансы как точность и корректность работы, удобство интерфейса и возможности настройки, наличие важных функций, например Look ahead.

“сделали офигенно крутую железяку, но ее ни одна приличная софтина не понимает”

Нужно привязываться к стандартам и к хорошим драйверам, при необходимости всегда можно постпрцессор написать. Например, у моей программы входные форматы G-CODE DIN 66025/ISO 6983 и Roland CAMM - 3 PNC 3000. Раньше пользовался ещё HPGL, но потом отказался.

Sergei-md

Уважаемый Художник!

Чесно говоря, у меня такое впечетление, что здесь на форуме, и не только в этой теме, у тебя одна задача:
ПОКАЗАТЬ КАКОЙ ТЫ УМНЫЙ И ЗАПУДРИТЬ ВСЕМ МОЗГИ СВОЕЙ ОБРАЗОВАНОСТЬЮ.

Как ты думаешь, кому надо всё то, что ты здесь написал?

Здесь стараються многие на практике собрать HOBBY CNC, Подчёркиваю “HOBBY”!!!

И кому нужны все эти USB и RS 232 114 Кбод/с и другая мозготрёпка с быстродействием, когда уже свё отлично работает на LPT порту.

За бугром многие проф контролеры делают на LPT и не собираются переходить на другой стандарт, а ты грузишь всёх разной х…й.

LPT - Просто, надёжно, доступно а главное дёшего!!!

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

Без обид, просто надоело читать этот трёп.

Сразу уточню, под Windows прямое управление с LPT и простыми платами ввода-вывода или ключами с портов не получится, потому что Windows не является операционной системой реального времени (ОСРВ).

А здесь ты очень сильно ошибаешся. Не только получиться, а реально работает и очень качественно.

Vitaly

Не надо выяснять отношения.

to Художник:

  1. Научитесь пользоваться цитатами. В форуме есть хелп, ваши сообщения читать неудобно.

  2. Давайте предполагать, что здесь собрались не идиоты, а разработчики, поэтому базовые представления у всех есть. Я не просил комментировать мои отдельные фразы, тем более информацией, которой навалом в свободном доступе, и которую я и так знаю. Перед тем как задавать вопросы, я вообще-то что-то почитал, и спрашиваю не просто так. Не хочется, чтобы данная тема перемежалась огромным количеством воды, как на sapr-овском сайте. Пожалуйста, если у вас есть идеи по другим направлениям, создайте отдельную тему.

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

Суть вопросов сводится к тому, чтобы узнать, есть ли какие-нибудь широко поддерживаемые СТАНТАРТЫ обмена, которые ПОДДЕРЖИВАЮТСЯ большинством производителей софта. Или к которым хотя-бы несложно дописать драйверы, обеспечив необходимую совместимость.

Стандарты интересуют более “низкоуровневые”, чем G-Code, чтобы можно было сделать относительно простой и недорогой контроллер для hobby-CNC. Зачем вообще делать если есть LPT - чтобы в виндах было меньше требований к железу.

Я особо подчеркиваю, что меня не интересует создание целиком законченного ни с чем не совместимого комплекса, и разглагольствования на эту тему. Надо дешево, сердито, но СОВМЕСТИМО хотя бы с некоторым количеством имеющегося хорошего софта.

Художник
Sergei-md:

Как ты думаешь, кому надо всё то, что ты здесь написал?

Тебе точно не надо.

Добавлено

Vitaly,

«Научитесь пользоваться цитатами. В форуме есть хелп, ваши сообщения читать неудобно.»

Цитатами я пользоваться умею. (См. предыдущий топик) но они много места занимают, и мне с ними работать неудобно.

«Давайте предполагать, что здесь собрались не идиоты, а разработчики, поэтому базовые представления у всех есть. Я не просил комментировать мои отдельные фразы, тем более информацией, которой навалом в свободном доступе, и которую я и так знаю.»

Извините, если задела форма подачи информации. Я искренне пытался поделиться своим личным опытом, по мере возможности ответить на вопросы. Если знаешь ответ, зачем задавать вопрос?

«Надо дешево, сердито, но СОВМЕСТИМО хотя бы с некоторым количеством имеющегося хорошего софта.»

Удачи.

Добавлено

Sergei-md:

Без обид, просто надоело читать этот трёп.
А здесь ты очень сильно ошибаешся. Не только получиться, а реально работает и очень качественно.

Интересно, поделитесь опытом, как у вас под виндой с LPT управление непосредственно приводами по нескольким координатам получается. Покажите, расскажите, как сие удалось?

monkeypaw
Художник

Интересно, поделитесь опытом, как у вас под виндой с LPT управление непосредственно приводами по нескольким координатам  получается. Покажите, расскажите, как сие удалось?

а в чем тут проблема?
нормальная простейшая связка l297-l298 на входе хотит направление и шаг, тобишь два бита. одновременно получить на порту их 6 для 3 координат соответсвенно - непроблема. даже еще немножко остается для прочих более других действий.
проблемы могут быть лишь только со скоростью и задержками при перемещении инструмента в целом, сразу по всем координатам.
но насколько я понимаю, медленно - не быстро. инструмент вне опасности. замедление может быть действительно вредным лишь тогда, когда нужно четко соблюсти параметры реза, например, материал попадется какой хитрый, который вдруг наплавляться начнет или еще там чего…
тем более, что это будет существенно, если компьютер не замедлится на пару шагов из-за какого-нить стандартного прерывания, а тормознет по полной, на секунду - другую, что случается нечасто и в исключиетельных ситуациях.
этого можно легко избежать, правильно настроив систему и отключив ненужные программы. что сделать гораздо проще, нежели городить шибко интеллектуальные контроллеры с usb или даже rs.
даже если проблема или влом постоянно менять профили загрузки , то цена подержанного компьютера все одно приближается цене контроллера, (ну или времени потраченного на его разработку и т.п.).
т.о. основной практический смысл контроллера для хобби cnc - удовольствие от его мастерения.
если неправ - бейте подсвечниками, все на пользу пойдет 😉

toxa
monkeypaw

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

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

sergios
Sergei-md:

Уважаемый Художник!

Чесно говоря, у меня такое впечетление, что здесь на форуме, и не только в этой теме, у тебя одна задача:
ПОКАЗАТЬ КАКОЙ ТЫ УМНЫЙ И ЗАПУДРИТЬ ВСЕМ МОЗГИ СВОЕЙ ОБРАЗОВАНОСТЬЮ.

Как ты думаешь, кому надо всё то, что ты здесь написал?

Здесь стараються многие на практике собрать HOBBY CNC, Подчёркиваю “HOBBY”!!!

И кому нужны все эти USB и RS 232 114 Кбод/с и другая мозготрёпка с быстродействием,  когда уже свё отлично работает на LPT порту.

За бугром многие проф контролеры делают на LPT и не собираются переходить на другой стандарт, а ты грузишь всёх разной х…й.

LPT - Просто, надёжно, доступно а главное дёшего!!!

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

Без обид, просто надоело читать этот трёп.
А здесь ты очень сильно ошибаешся. Не только получиться, а реально работает и очень качественно.

ПОДДЕРЖИВАЮ!!! НЕ НАДО УСЛОЖНЯТЬ ТО, ЧТО ВСЕ ПЫТАЮТСЯ СДЕЛАТЬ ПРОЩЕ
😈

Добавлено

всётаки решил взяться и разработать "человеческий " вариант на l297-298. но хотел бы убрать ненужные перемычки, что бы не усложнять pcb. 😃
поэтому кто может поделиться опытом (реальным) эксплуатации подобного драйвера прошу ответить на пару вопросов.

  1. в каком режиме эксплуатируете: полно - или полушаговом? почему?

  2. на вход “CONTROL” l297 подаёте высокий или низкий уровень сигнала? и вообще изменяется ли что-то в работе при том или ином уровне сигнала. (этот вход определяет как проходит шим модуляция по фазам или разрешающим сигналам самих мостов.)
    буду очень признателен, хотя бы за частичную информацию. разведённую pcb и схему выложу потом на форуме. 😎

monkeypaw

toxa, ну сорри, но я в любом случае не вижу в упор проблемы.

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

успевают шаговые двигатели за тем, что выдает компьютер в lpt или нет

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

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

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

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

sergios, а что, ни один готовый не устроил? даже пару лет назад в интеренете их вроде как десятки лежали…

sergios
monkeypaw:

toxa, ну сорри, но я в любом случае не вижу в упор проблемы.

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

успевают шаговые двигатели за тем, что выдает компьютер в lpt или нет

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

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

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

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

sergios, а что, ни один готовый не устроил? даже пару лет назад в интеренете их вроде как десятки лежали…

нет, не устроил 😃 , я привык , что бы всё было красиво, а платы с кучей перемычек мне не нравятся, уже собирал, только до железа станка не дошёл, потому и спрашиваю какие в реале лучше режимы заранее задать, что бы перемычки не ставить… 😃

toxa
monkeypaw

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

А пример такой: запустить в фоне резку а самому сидеть чертить в механикле или инвенторе. Можно не запускать никаких программ, но режет иногда очень долго, что, к компу не подходить теперь?

А вообще это напоминает старый анекдот:

  • Папа, покажи мне самую прогрессивную многозадачную операционную систему windows!
  • Сейчас, сынок, дискетку отформатирую…
monkeypaw

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

Ну… Относительно. Можно ради станка сменить операционку на win95 и работать в ней, но это не всегда выход. Можно и отдельный ноутбук для станка выделить… Только это не всегда проще и не всегда дешевле.

monkeypaw

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

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

monkeypaw

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

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

monkeypaw

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

Согласен. Конечно. И излишне усложнать тоже не стоит. Просто интересно понизить требования к связке компьютер-станок. У LPT (в том режиме, в котором он используется в станках) только одно преимущество - простота. Остальное - недостатки.

Добавлено

Когда первые писалки дисков cd-r только появились, запись диска была целым ритуалом: нужно было вырубить все программы, возможно, даже перезагрузиться в другой профиль. Исключить большое количество мелких файлов, и так далее, и так далее… Запустить и ждать несколько часов, когда на 2 скорости зальется 640М, при этом желательно до этого выполнить симуляцию, чтобы все прогнать и не попортить заранее болванку.

А сейчас я когда пишу dvd даже не задумываюсь о том, что и как у меня запущено и какая загрузка процессора: burn-proof все вытянет.

С хоббийным CNC ситуация очень похожая.

monkeypaw

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

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

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

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

написание профиля - дело минут 20 максимиум 1 раз. затем просто при загрузке выбирается нужный пункт меню или входим под нужным пользователем. делов то. 😉

а если именно интересно поразрабатывать и именно конроллер - то дело уважаемое и благое. никто не говорил что он вообще не нужен. 😃

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

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

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

Vitaly

monkeypaw, не надо уводить вопрос в сторону. Перечитайте первое сообщение. Есть вопрос, спрашивается, можно ли сделать красивае решение. Если вы красивого решения не знаете, зачем тему прописными истинами заваливать? Не вы один в курсе, сколько железки стоят, как LPT работает, что такое Windows и т.д.

toxa

Вот NINOS, например, понимает COM ISEL. Кто-нибудь видел спецификацию, где ее можно нарыть? Что это вообще такое, и насколько это проще или сложнее (или это совсем другое) чем g-код? NINOS 3.0 вышел, кстати.

monkeypaw

Vitaly, сорри, я думал что тут также обсуждаются и вопросы целесообразности, а из прописных истин все делют разные выводы.
но раз нет - значит нет.

Vitaly

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

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

sergios
Vitaly:

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

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

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

Художник

Vitaly,

"Немного другая постановка вопроса. Вопрос целесообразности зависит от возможности наличия красивого решения. Вот пока пытаюсь понять, может оно быть или нет.

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

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

Vitaly
Художник

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

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