Написание проги для упраления чпу

Alex_CNC
toxa:

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

Я согласен с Вами, НО для тех систем где имеется обратная связь по углу поворота вала двигателя. Вот только тогда и будет заметна эта неравномерность. А например при использовании скажем A3770 не о какой неравномерности не может быть и речи! Все крутится ровно. проверено! Важно иметь шустрый компьютер.

Граф
Alex_CNC:

А неужели можно сделать CNC, я имею ввиду готовый результат (софт и хард) бесплатно или дешево? Да еще и работало чтоб!

Да я про существование DOSа уже давно забыл, как о кошмарном сне!

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

Вот по этому и ставят вместе с контроллером для шаговых моторов плату простенького компьютера, который только и умеет что принять по сети G-код и подать в контроллер шаговых двигателей нужные последовательности импульсов. И все это железнобетонно-стабильно, в ДОС-е!

Городить сложную программу и занимать шустрый компьютер выпиливанием – путь тупиковый.

aleks_shap

Под винду писать не серьезно.
Пробовал выдавать импульсы на LTP под XP, неравномерность была дикая, написал драйвер под нулевое кольцо, стало получше, но не намного. Поставил защелку (Lock, функция есть в DriverStudio от Numega), стало хорошо 😃 4мкс минимальная ширина импульса которую я достиг, может можно и меньше, мне хватало. Но при использовании этой защелки система не реагирует ни на какие раздражители. 😃 Т.е. экран остается в том же состоянии, мышка и клава не работают, как и все остальное - проц выполняет только одну задачу - вашего драйвера.
В принципе почти как под ДОСом.

Andrey12

Думаю об ЛПТ лучше даже не думать. www.modbus.org давно уже существует. Правильно разработать драйвер ШД с встроенным modbus сервером(клиентом) с Ethernet интерфейсом.

toxa
Andrey12:

Правильно разработать драйвер ШД с встроенным modbus сервером(клиентом) с Ethernet интерфейсом.

Ага. Только полноценный компьютер pc/104 со всей периферией и rtlinux+emc будет дешевле и универсальнее. С ethernet, tcp/ip, и еще фиг знает чем. Мало ли какие спутники летают… Хотелось бы что-то более приближенное к жизни. Промышленные системы немеряной стоимости как-то совсем малоинтересны.

Alex_CNC:

Я согласен с Вами, НО для тех систем где имеется обратная связь по углу поворота вала двигателя. Вот только тогда и будет заметна эта неравномерность.

Обратная связь не имеется в хобби-станках. Она не нужна совершенно. А неравномерность будет хорошо заметна на детали.

amb2000

Мож пора на USB переходить с последующим дешифратором на микроконтроллере(с USB-)?
А там уж хоть на 3 мотора хоть на 20.
toxa! С днём варенья!

Andrey12

2 toxa

Не обязательно делать PC104 или ему подобный. Вы же не на улице в -30 будете им пользоваться.
Стоимость комплектующих (железо) под ведомое устройство будет в районе 50уе. Но нужно писать программу для MCU, что бы поддерживала modbus протокол. Именно здесь и будут проблемы 😃

Кстати существуют и другие варианты - программная реализация “ведомого” выполняет функции моста с любым железом. Запускается на том же компе где modbus сервер.

toxa
amb2000:

Мож пора на USB переходить с последующим дешифратором на микроконтроллере(с USB-)?

Вопрос в адаптации софта. Прошивка микроконтроллера будет не так уж проста. Фактически, в нем надо будет реализовать половину управляющей программы. Самую ответственную и трудоемкую: передвижение по вектору по всем осям одновременно, разгон-торможение, линейная и круговая интерполяция и так далее. Если у большинства проблемы с тем, чтобы просто фазы двигателя переключать в зависимости от двух пинов, то уж такой софт…

Есть программа mach и в ней есть USB mode. Но там он достаточно тупой. Фактически, там реализован LPT по USB. И все проблемы с задержками как были так и есть, потому что интервалы все равно измеряются mach.

Andrey12:

Не обязательно делать PC104 или ему подобный. Вы же не на улице в -30 будете им пользоваться.

Как это… “Размер имеет значение”. 😃 У меня все вместе с компьютером собрано в корпус 15x30x6 см. Вместе с дисководом.

Andrey12:

Стоимость комплектующих (железо) под ведомое устройство будет в районе 50уе. Но нужно писать программу для MCU, что бы поддерживала modbus протокол. Именно здесь и будут проблемы 😃

Вот-вот. А тут поставил emc, turbocnc или еще лучше step-four и радуйся.

11 days later
DCat

Сколько интересных мыслей. Я уже сорок раз запутался. Так ктонибудь скажет на чем писать програмулину-то для 2D станка, чтоб рулила из под ДОСа? Пожааааалуйста 😵

toxa
DCat:

Сколько интересных мыслей. Я уже сорок раз запутался. Так ктонибудь скажет на чем писать програмулину-то для 2D станка, чтоб рулила из под ДОСа? Пожааааалуйста 😵

На си:
watcom c/c++
borland c++ 4.5

На паскале:
freepascal
virtual pascal 2.1
borland pascal 7

STEPMOTOR
toxa:

На си:
watcom c/c++
borland c++ 4.5

На паскале:
freepascal
virtual pascal 2.1
borland pascal 7

или Qbasic 4.5, Tasm
но лучше на вышеуказанном

amb2000

На TAsm c плавающей запятой какие нибудь кривые пересчитывать пожалуй сложновато будет.

DCat:

Сколько интересных мыслей. Я уже сорок раз запутался.

А каких не поделитесь?

toxa
amb2000:

На TAsm c плавающей запятой какие нибудь кривые пересчитывать пожалуй сложновато будет.

Глупо писать на ассемблере то, что можно написаь на си или паскале. Просто бессмысленная трата времени. Если необходимо реализовать какой-то критичный кусок (что врядли понадобится, можно обойтись чистым языком), пишем именно то что надо на ассемблере, потом линкуем к программе на си или паскале. Никаких проблем. Но, извините, возиться с интерфейсом пользователя, когда есть turbovision/graphicsvision или разбором строк, когда есть lexx/yacc и regexp’ы - просто бессмысленно.

amb2000:

А каких не поделитесь?

На мой взгляд, самая интересная мысль - взять за основу turbocnc или для любителей linux и gcc - emc и на основе этого делать то, что необходимо.

STEPMOTOR

Я в свое время начинал писать на VisualBasic. + dll-ки на сишке. Потом забросил . Скачал Масh2 и до сих пор в ней работаю , мне нравится что под матч есть куча постпроцессоров практически для любой популярной САМ программы.