Пишу программу для управлением ЧПУ через ЮСБ

создание собственных программ управления станком, управление LPT

Модераторы: Ruz_and, Master-VRI, al-drw, Мастак

4ort
Сообщения: 21
Зарегистрирован: Чт июн 21, 2012 22:24

Пишу программу для управлением ЧПУ через ЮСБ

Сообщение 4ort » Ср июл 04, 2012 10:10

Делаю программу, сразу скажу программа будет коммерческой, но цену сделаю не большую. пока жрет форматы - hpgl, gerber, drl, plt corel, g-code правда без пока без круговой интерполяции, программа не будет работать с ЛПТ портом, для этого и так есть math3. Программа работает с внешним контроллером на pic18f4550(цена контроллера будет около 300 руб.), работает через Usb, интерфейс программы делаю в стиле спринт-лэйоут, но 3д, и вместо печати на принтер - выход на станок с нужными параметрами. Постораюсь сделать как можно интуитивно понятней.

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

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

Сергей_Михайлович
Сообщения: 534
Зарегистрирован: Вт июн 14, 2011 08:36
Откуда: Удмуртия

Re: Пишу программу для управлением ЧПУ через ЮСБ

Сообщение Сергей_Михайлович » Ср июл 04, 2012 11:11

Какие контроллеры тогда нужны?
Если есть контроллер с LPT портом как его подключить? переходники городить?
Энкодер это хорошо. Но лучше на оптопаре бы реализовать.
А впринципе у пурелоджика есть перехоник USB-LPT, нужно только патч установить и работать из Mach можно.
90% проблем со станком сидят в метре от него.
Можно бесконечно смотреть на три вещи:
- Как течет вода;
- Как горит огонь;
- И как работает ЧПУ станок

4ort
Сообщения: 21
Зарегистрирован: Чт июн 21, 2012 22:24

Re: Пишу программу для управлением ЧПУ через ЮСБ

Сообщение 4ort » Ср июл 04, 2012 11:28

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

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

Аватара пользователя
Horeen
Сообщения: 1905
Зарегистрирован: Сб янв 16, 2010 00:00

Re: Пишу программу для управлением ЧПУ через ЮСБ

Сообщение Horeen » Ср июл 04, 2012 11:38

Пурелоджик хочет денег (самый бюджетный вариант от 100USD). Но уже больше года есть некоммерческий проект контроллера USB-LPT для Мача на AVR с аппаратным USB на борту.

Кстати да. На форуме есть определённые правила по представлению сторонних коммерческих проектов. Пока дело на стадии разработки\доводки\тестирования и т.п. всё нормально, но с завершением работы над проектом и переходом к реализации ПО\железа, придётся на форуме обсуждение завершить. По крайней мере, на сколько помню, не допускается использование данного ресурса для рекламирования и ведения продаж своих разработок на коммерческой основе. Но всё это будет потом. Пока с интересом будем следить за продвижением проекта.
Последний раз редактировалось Horeen Ср июл 04, 2012 12:00, всего редактировалось 2 раза.

4ort
Сообщения: 21
Зарегистрирован: Чт июн 21, 2012 22:24

Re: Пишу программу для управлением ЧПУ через ЮСБ

Сообщение 4ort » Ср июл 04, 2012 11:54

То что вы пишите - это переходники USB - LPT, для тех у кого в компах нет ЛПТ выхода. Просто у вас появится виртуальный ЛПТ порт и поверьте, это система ещё хуже чем родной ЛПТ порт в матери, потому, что любой переходник добавляет нестабильности. У меня комп не вырабатывает степ дир с кривой частотой, как это происходит в масн3, он скидывает ваш G-code в контроллер и всё, комп свободен, дальше работает контроллер.
Да еще может до коммерции и не дойдет, мне просто интересно, нужно ли дальше работать над программой, потому что и так вроде софта много, поэтому хочется узнать есть ли интерес у людей, потом многие на форумах пишут что им нужен определенный алгоритм работы станка, вот можно будет и реализовать, время есть впринципе.

По поводу энкодеров на вэб камерах, я на самом деле их использовал с серводвигателями, но плюнул, так и не получилось у меня выжать достойной работы с серво, но саму идею с абсолютными энкодерами очень оценил, удобства много, так вот сами распечатанные линейки а заламинировал обычным скотчем, плюс там еще программная защита есть, т.е. чтобы сбить его, маленькой стружки будет недостаточно, но у меня одна линейка стояля под столом вторая сверху, поэтому стружки не долетали, хотя если что можно сделать щетку рядом с камерой, как это сделано в струйных принтерах, там с двух сторон энкодера стоят щетки
Последний раз редактировалось 4ort Ср июл 04, 2012 12:08, всего редактировалось 1 раз.

Аватара пользователя
Horeen
Сообщения: 1905
Зарегистрирован: Сб янв 16, 2010 00:00

Re: Пишу программу для управлением ЧПУ через ЮСБ

Сообщение Horeen » Ср июл 04, 2012 12:00

Нет. USBtoLPT даже никогда в серъёз не рассматривался. Речь шла именно о контроллерах, реализующих генерацию Step\Dir собственными силами (аппаратно), и они не появляются в системе как виртуальный LPT и не эмулируют его. По-сути, вы делаете как-раз ещё один вариант того же, но под своё ПО.

Сколько осей планируется поддерживать?
По поводу веб-камер. Пыль\масло\стружка на поверхности с отметками и оптике камеры не станут проблемой? Работа станков не самое чистое занятие (особенно фрезерных).
Что до "определённых алгоритмов работы станка", то интерес могло бы подстегнуть наличие поддержки нестандартных кинематических схем станков, т.к. такого ПО под винду пока почти нет.

4ort
Сообщения: 21
Зарегистрирован: Чт июн 21, 2012 22:24

Re: Пишу программу для управлением ЧПУ через ЮСБ

Сообщение 4ort » Ср июл 04, 2012 12:15

Вот прочитал мануал пурлоджиковский, где написано русских языком, то что в пурлолоджике - это тупо переходник + драйвер, просто переходник качественный, и работает не только с мач3 но и с турбо снс по протоколам ЛПТ порта.
По поводу осей, пока три т.к. сам не обладаю 4-ой и 5-ой осью, но в будущем можно сделать хоть 10, это не проблема

Аватара пользователя
Horeen
Сообщения: 1905
Зарегистрирован: Сб янв 16, 2010 00:00

Re: Пишу программу для управлением ЧПУ через ЮСБ

Сообщение Horeen » Ср июл 04, 2012 12:49

мануал пурлоджиковский, где написано русских языком, то что в пурлолоджике - это тупо переходник + драйвер, просто переходник качественный, и работает не только с мач3 но и с турбо снс по протоколам ЛПТ порта.
Укажите, пожалуйста, ссылку на данный мануал и номер страницы. Интересно почитать. В мануалах на серии контроллеров PLCM-ххх не заметил подобного (про эмуляцию LPT и, как следствие, совместимость с другим ПО). Максимум, это предоставление библиотеки поддержки контроллера для встраивания в самописное ПО (но это другая история). Ссыль на офф-форум конкретно по данному вопросу.

4ort
Сообщения: 21
Зарегистрирован: Чт июн 21, 2012 22:24

Re: Пишу программу для управлением ЧПУ через ЮСБ

Сообщение 4ort » Ср июл 04, 2012 13:12

Открываем файл PLCM-LPT.pdf и на заглавной странице большими буквами написано - "ВИРТУАЛЬНЫЙ ЛПТ ПОРТ", далее

PLCM-LPT — модуль-переходник, позволяющий подключить станок ЧПУ к ПК (программа
управления MACH3) через USB-порт (а не через LPT-порт).

После установки фирменного ПО и подключения модуля PLCM-LPT, в MACH3 появляется
возможность использования виртуального LPT-порта. Порт аналогичен стандартному LPT-порту и
физически выглядит также (разъем DB-25F, расположение и нумерация контактов стандартная),
он имеет 12 выходов и 5 входов.

Короче ни мач3 ни турбо СНС кроме как в режиме реального времени работать не умеют иначе весь функционал программы не будет работать, ну эт надо быть программистом чтобы понять.

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

Аватара пользователя
Horeen
Сообщения: 1905
Зарегистрирован: Сб янв 16, 2010 00:00

Re: Пишу программу для управлением ЧПУ через ЮСБ

Сообщение Horeen » Ср июл 04, 2012 13:32

А это уже не более чем игра слов и запутывание покупателей со стороны продавца (даже Вы повелись).
модуль-переходник - производитель как хочет, так и называет свою продукцию. Хоть ведром. Не забывайте, что продавцы сплошь и рядом называют, например, платы опторазвязки контроллерами и т.п.
использования виртуального LPT-порта - имелось ввиду соответствие габаритным и электрическим параметрам реального LPT-порта, т.е. пользователи имеют возможность без переделки подключать к плате свои контроллеры, которые они ранее втыкали в реальный LPT-порт ПК.

Никакого дополнительного\виртуального LPT-порта в системе не появляется, соответственно, драйвер железяки ничего не перехватывает по адресам LPT, и как следствие, управление сторонним ПО просто так не представляется возможным (о чём сами авторы и говорят на официальном форуме поддержки).
Откуда взялся TurboCNC вообще не понятно, т.к. он ещё и под ДОС есть (в чём его и прелесть).
По поводу управляющего ПО и реалтайма тоже не всё так однозначно. Да, TurboCNC и другие ПО, которые поддерживают исключительно "живые" LPT так и работают, но часть ПО при расширении плагинами способна отходить от этого правила, т.к. ждёт ответа от своего контроллера, что "всё обработано", "давайте данные дальше". К этим ПО относятся Mach, KCam, DeskCNC, PlanetCNC и ещё были менее известные.

Если Вы подумали, что я не вижу разницы между этими проектами и Вашим, то это не так. Понятно, что в вашем случае ПО всего лишь довесок, который нужен для отправки G-кода в память контроллера (вместо ПО можно было бы просто прикрутить к контроллеру SD-карточку), а контроллер уже сам выполняет перевод целевых координат в шаги и производит линейное интерполирование внутри себя. Те же контроллеры вместо g-кода принимают уже сразу число шагов и нужные направления + скорость и ускорения, а контроллер генерирует по ним сигналы (по сути, тоже производит некое подобие интерполяции). Там нет прямопотоковой передачи тонн уже проинтерполированных данных от ПК к контроллеру.
Последний раз редактировалось Horeen Ср июл 04, 2012 14:05, всего редактировалось 6 раз.

Сергей_Михайлович
Сообщения: 534
Зарегистрирован: Вт июн 14, 2011 08:36
Откуда: Удмуртия

Re: Пишу программу для управлением ЧПУ через ЮСБ

Сообщение Сергей_Михайлович » Ср июл 04, 2012 13:45

Таких цен на камеры у нас в городе нигде нет, дешевле пара излучатель-приемник, лента энкодера из тех же струйников, только размер маловат.
Значит использование покупных контроллеров от ЛПТ порта не пойдет. А ведь куча народу их использует. Как правило если станок подключен к компу, то никаких игрушек, проигрывателей и всякой заразы на компе не должно быть, я приспособил старенький комп. Новые компы уже идут без ЛПТ.
90% проблем со станком сидят в метре от него.
Можно бесконечно смотреть на три вещи:
- Как течет вода;
- Как горит огонь;
- И как работает ЧПУ станок

Аватара пользователя
Horeen
Сообщения: 1905
Зарегистрирован: Сб янв 16, 2010 00:00

Re: Пишу программу для управлением ЧПУ через ЮСБ

Сообщение Horeen » Ср июл 04, 2012 13:52

В новый комп (не ноут) LPT тривиально втыкается посредством платы PCI-LPT, цена которых на сегодня в среднем 3-7 USD. Можно даже два запихнуть и задействовать дополнительные возможности того же Мача. Правда, с таким портом не работает VRI-CNC (и ещё кое-какие), но это уже всё от лени автора ^^.

4ort
Сообщения: 21
Зарегистрирован: Чт июн 21, 2012 22:24

Re: Пишу программу для управлением ЧПУ через ЮСБ

Сообщение 4ort » Ср июл 04, 2012 15:28

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

Сергей_Михайлович
Сообщения: 534
Зарегистрирован: Вт июн 14, 2011 08:36
Откуда: Удмуртия

Re: Пишу программу для управлением ЧПУ через ЮСБ

Сообщение Сергей_Михайлович » Ср июл 04, 2012 16:11

Такие компы сейчас стоят 3-4 тыщи деревянных, это я к тому что всем посилам такой калькулятор. Думаю никто из любителей Mach не покупал.
Как таким энкодером десятки ловить? Шаг черненького квадратика 3-5мм или это решается программно?
Лет через 5-7 компы с ЛПТ портом отживут свое и тогда повально будут необходимы USB контроллеры, они уже и сейчас нужны. Это переходник или все же контроллер, стыковка с покупными (ТВ6560) возможна?
90% проблем со станком сидят в метре от него.
Можно бесконечно смотреть на три вещи:
- Как течет вода;
- Как горит огонь;
- И как работает ЧПУ станок

4ort
Сообщения: 21
Зарегистрирован: Чт июн 21, 2012 22:24

Re: Пишу программу для управлением ЧПУ через ЮСБ

Сообщение 4ort » Ср июл 04, 2012 16:23

шаг 4 мм, десятки ловятся при подсчете пикселей между рисками. Ну и программно я как смог, разными алгоритмами защитил от помех, разрешение например, в режиме сьемки 640 на 480, шаг был где то 0.02мм, если разрешение на камере больше поставить, то и разрешение энкодера естественно вырастит, но и скорость у камеры падает. Я это уже все пару месяцев тестил, все работает стабильно, единственное линейку желательно печатать на струйном принтере, например мой лазерник немного искажает её при печати. Да и камеру непросто конечно пристроить, особенно на ось Z.

На фото контроллер, я специально адаптирую его под китайский TB, чтобы если что можно и мачем было пользоваться, просто переткнул в комп в ЛПТ и все.


Вернуться в «програмирование»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость

cron