Как сохранить Step/Dir в файл?

Antarius

Здравствуйте.
Извините, если было, но поиск не зарулил.
Я пытаюсь изобрести жалкое подобие станка из очень дешевых подручных материалов.
Для того, чтобы попробовать что это такое и имеет ли смысл городить настоящий огород из промышленных компонентов. Пока будет всего две оси - два наидешевейших шаговых моторчика. Управлять ими планирую с помощью Arduino и кучки ULN2004, т.к. моторчики слабенькие всего по 0.4 А каждый.
Т.к. написать драйвер, понимающий Gкоды ума не хватает, есть мысль передавать на ардуину обычный step/dir, а она уже будет раскидывать по фазам моторчиков, что элементарно. И все бы хорошо, но нетбуке нет лпт порта.

Вопрос. Есть ли какая-нибудь программа, которая может импортировать dxf файл, преобразовать его в G коды (необязательно), а вместо дергания ножек лпт порта, записать эти сигналы в текстовый файл?

Если такой программы нет, то можно ли как-то по другому получить простые сигналы ste/dir не только на лпт порту?

SerjIZUM

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

Antarius

Да какое серьезное, просто прикрутить к суппорту маркер и попытаться нарисовать картинку на картонке из автокада 😃
А как в Kcam сохранить step/dir в файл?

SerjIZUM

Я точно не помню, забросил эту прогу очень давно, или через “открыть” или через “импорт” KCam открвает чертёж и автоматом выдаёт G-код который можно сохранить, расширение - по моему .tab просмотреть можно в любом текстовом редакторе - “отккрыть с помощью”, на этом все прелести KCam заканчиваються, во время работы KCam движки могут постукивать с частотой гдето 1 гц. такое впечатление что идут провалы в импульсах Step, чтоб избавиться нужно отключить в настройках “визуализацию прорисовки проектории”, а вообще для создания УП мне очень понравился SurfCam на будущее просто советую освоить, прога полностью руссифицирована, очень простая в освоении (в папку с прогой устанавливаются много видеотуториалов), может создать УП для любого вида обраотки вплоть до 5ти осевой, понимает очень много форматов.

Марат
Antarius:

А как в Kcam сохранить step/dir в файл?

Вообще-то упрощённо рассуждая - G-коды это и есть степ/дир в текстовом формате. А из DXF любая CAM прога это делает. И даже у оригинальной МACH есть ассистент который это делает.

Antarius
Марат:

Вообще-то упрощённо рассуждая - G-коды это и есть степ/дир в текстовом формате. А из DXF любая CAM прога это делает. И даже у оригинальной МACH есть ассистент который это делает.

Ну это наверное, очень упрощенно. Ведь может же быть команда в Gкоде как например - “проехать 150 мм по оси х и 35 мм по оси y”, если я правильно понимаю что такое G коды вообще.
А мне бы в файл записать что-то типа шаг влево, шаг вправо, шаг туда, шаг сюда.
Чтобы просто через USB скормить ардуине и пусть дергается.
Если бы в G кодах были бы просто линейные перемещения, то написать программу для них на ардуине в принципе можно. Но есть дуги, окружности, кривые всякие… вот для них я точно не напишу программу.

Впрочем, выход я нашел. В виде допотопного ноутбука с лпт портом и программой TurboCNC, как раз для моих ULN2004. Вообще ничего не надо - тупо втыкаешь микросхемы в порт, а к микросхемам моторы. И все должно работать. Теоретически.

Марат
Antarius:

"проехать 150 мм по оси х и 35 мм по оси y

Так это и будет сигнал Х ДИР + СТЕП 150 Y ДИР + СТЕП 35 - ну понятно в соответствующих попугаях.
В G - Kode X150 Y35 (координата конечной точки перемещения).
Что касается дуг - то тоже всё не так сложно - через координаты сентра окружюностей и смещение по осям.

Но если нашли то нет вопросов.

Antarius:

Теоретически.

Ну да…

Antarius

… А практически, не работает. Ибо доса у меня нет. Вернее дос-то найти не проблема, засунуть его некуда, ибо в допотопном ноутбуке нету ни дисковода, ни загрузки с флешки, ни сидирома (сломался)… и как сделать дос - хз.

Вопрос - есть ли какая-нибудь программа под винду xp, в которой можно сделать вывод на двигатели не степ/дир на пинах лпт порта, а фазы обмоток двигателя на пинах лпт, как это сделано в турбоснс?

mura
Antarius:

Вопрос - есть ли какая-нибудь программа под винду xp, в которой можно сделать вывод на двигатели не степ/дир на пинах лпт порта,

У тя-ж нет лпт, или это теоретически?

Antarius

Есть лпт на допотопном ноутбуке, но на нем стоит хр, поэтому turbocnc не работает.
А поставить дос никак, ибо не дисковода, не сидирома, не загрузки с usb у этого чудо-ноутбука нету. Разве что вытаскивать жесткий, делать переходник 2,5 - 3,5" и ставить дос на работе, но это уж совсем изврат.
Поэтому и спрашиваю, есть ли программа под виндовс, способная дергать лпт порт не как степ/дир, а как фазы шагового двигателя. Что интересно, в турбоснс 5 под винду уже нету возможности настроить лпт на фазы двигателя.

А, еще вопрос. Видимо придется писать для ардуины, как наиболее красивый на мой взгляд путь.
Но есть непонятка - программы, которые делают из модели G коды для инструмента, имеют ли возможность выбора разрешенных для станка G кодов? Ну т.е. допустим в моей модели куча кривых линий. Программа сделает G коды для окружностей. Но мне сложно научить ардуину раскодировать этот код. Можно ли сказать той программе, чтобы она использовала для кривых линий - апроксимацию из прямых, кусочками так сказать. Чтобы всегда получалась программа только из прямых линий? Наверное, сумбурно вопрашаю…

mura

Если можешь написать для ардуины, то сделай USB контроллер из соседней ветки и работай как все в MACH

Antarius

Спасибо, Mura, ваша помощь неоценима.

SKorch

ДОС можно загнать по COM порту через Xmodem кабель

barnaul
Antarius:

Вопрос - есть ли какая-нибудь программа под винду xp, в которой можно сделать вывод на двигатели не степ/дир на пинах лпт порта, а фазы обмоток двигателя на пинах лпт, как это сделано в турбоснс?

может этот софт пойдёт

engraving.majosoft.com/index.html?menunr=3&sub=1

Antarius

Barnaul, спасибо, интересная ссылка.

Тем временем научил ардуину крутить моторами.
Сделал прием и распознавание кодов G00 и G01.
Алгоритм линейного перемещения сделал как википедии - Брезенхема. Насколько оно работает - пока не знаю, станок еще только в процессе 😃

Теперь пытаюсь понять как сделать окружности и дуги.
Объясните новичку как задается в G-кодах дуга?
Окружность понятно, центр x и y и радиус, с ней я думаю проблем быть не должно.
А дуга как?