Jump to content

    

Разработка комплекса программа+железо LPT/USB для станков

Тут только по верхнему софту задача далеко не на пару недель.

ТС похоже уже сдался и наши измышления ему не интересны. :bb-offtopic:

Share this post


Link to post
Share on other sites
ТС похоже уже сдался и наши измышления ему не интересны. :bb-offtopic:

Нет, я думаю он паяет проводки на PCI-E. Их там ох как много... :biggrin:

Share this post


Link to post
Share on other sites

Новая тема называется "Управление станком по шине PCI"

Вводные: мы имеем платформу 4 ядра по 4 ГГц AMD.

Компьютер моделирует процесс работы станка в соответствии с программой, в G-кодах. Для каждой из задействованных в работе осей высчитывается положение, с частотой 1 МГц, ни больше ни меньше.

На плате имеется выход ШИМ для 20 Н-мостов и последовательная шина, совместимая с rs485, а также входы на 10 TTL датчиков. На шаговый двигатель ставится датчик обратной связи TTL. Обмотки управляются через 2 Н-моста. По последовательной шине идёт зацикленный сигнал с частотой 1 МГц следующего вида: стартовый байт 11111111, два байта адреса, два байта данных, 4 бит пауза - резерв для запроса прерывания ведомым устройством, два байта обратной связи, 4 бит пауза, затем по кругу.

Цена вопроса полсотни тысяч рублей. sayt1000@ya.ru

Share this post


Link to post
Share on other sites
Новая тема называется "Управление станком по шине PCI"

Хм. Но там тоже нужна FPGA :laughing: По другому к той шине не подключиться (насколько мне известно). Только затраты на такое применение FPGA будут ещё бОльшие.

 

А чем вариант с LPT вдруг не понравился? Мне кажется, там можно рулить движками с большой точностью.

Или нужна совместимость с программами типа Mach 3 и т.д.?

Share this post


Link to post
Share on other sites
Хм. Но там тоже нужна FPGA :laughing: По другому к той шине не подключиться (насколько мне известно). Только затраты на такое применение FPGA будут ещё бОльшие.

Есть и DSP с шиной и мосты отдельно.

А чем вариант с LPT вдруг не понравился? Мне кажется, там можно рулить движками с большой точностью.

Или нужна совместимость с программами типа Mach 3 и т.д.?

Да дело не в том какой порт взять. Заводит "наивность" : возьмем и будемуправлять из ПК без всяких причиндал и будет вселенское счастье.

ТС возжелал практически в реальном времени управлять работой станка из ПК, не учитывая что интерфейсы (RS232, LPT, да и тот же PCI-e) работают под управлением операционки, а в ней еще крутится его эфемерная программка.

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

Share this post


Link to post
Share on other sites

У меня уточняющий вопрос к автору темы.

Вот есть станок, там есть механика и шаговые двигатели в N-ом количестве. А драйвера к этим двигателям есть? Блок питания, который обеспечивает энергией все эти движки?

Или предполагается разработка вообще всей электрической части: БП, драйверов шаговых движков, точных концевых, сопряжение с компьютером, и в итоге программы на комп?

 

Я например полагал, что шаговики уже укомплектованы драйверами и блоками питания для них. Что автор может через LPT хотя бы зажечь светодиод - из какой-нить тестовой программки (к примеру на Visual Basic). Возможно даже через LPT, в тестовом режиме, был включен\выключен хотя бы один движок. И на основании подобного успешного опыта было принято решение использовать LPT. А как на самом деле? :rolleyes:

Share this post


Link to post
Share on other sites
А как на самом деле? :rolleyes:

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

С программкой для управления - беда.

Будь исходники на контроллер - наверное решили бы в них поковыряться (что более правильно).

Share this post


Link to post
Share on other sites
И опять же, есть подозрение, что у ТС в качестве исполнительного узла шаговый мотор (или группа) не охваченный(ные) обратной связью. Вот он и делает "четкий" формирователь управления с наблюдением на экране осциллографа, вместо того что бы отладить "механику" и имеющийся блок внешнего управления.

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

Но при этом могут быть разные ситуации! Движок вращающий заготовку может "забуксовать", пропустить несколько шагов из-за нагрузки создаваемой резцом... Или "суппорт" может пропустить свои шаги из-за нагрузки. Могут пробуксовать и оба двигателя.

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

Edited by controller_m30

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
Подозреваю что драйвера и источники есть. И даже некий контроллер, который управляет есть.

Все что есть автор показал: https://electronix.ru/forum/index.php?s=&am...t&p=1479018

Share this post


Link to post
Share on other sites
Цена вопроса полсотни тысяч рублей. sayt1000@ya.ru

Сначала почудилось 500, даже мысль мелькнула - it's a deal!

а так - купите лучше у китайцев готовый контроллер

 

Share this post


Link to post
Share on other sites
Новая тема называется "Управление станком по шине PCI"

Вводные: мы имеем платформу 4 ядра по 4 ГГц AMD.

Компьютер моделирует процесс работы станка в соответствии с программой, в G-кодах. Для каждой из задействованных в работе осей высчитывается положение, с частотой 1 МГц, ни больше ни меньше.

На плате имеется выход ШИМ для 20 Н-мостов и последовательная шина, совместимая с rs485, а также входы на 10 TTL датчиков. На шаговый двигатель ставится датчик обратной связи TTL. Обмотки управляются через 2 Н-моста. По последовательной шине идёт зацикленный сигнал с частотой 1 МГц следующего вида: стартовый байт 11111111, два байта адреса, два байта данных, 4 бит пауза - резерв для запроса прерывания ведомым устройством, два байта обратной связи, 4 бит пауза, затем по кругу.

Цена вопроса полсотни тысяч рублей. sayt1000@ya.ru

 

Я бы предложил сделать скромно, но со вкусом.

 

Сделать несколько одинаковых плат с драйверми моторов. На чипах MK58 от NXP. Каждая плата работает с однм мотором и всеми типами энкодеров и конечников при нем.

Платы вроде таких -

post-2050-1486553979_thumb.jpg

На тех же платах поставить чипы EtherCAT от Beckhoff

Таким образом все платы соединяются в жестком реалтайме по шине EtherCAT.

А мастер шины сделать на индустриальном BeagleBone Black Industrial c Add-On платой на том же ET1100.

Соединение мастера с компьютером через HS USB

 

На первых порах можно вместо EterCAT использовать CAN. Он, кстати, есть на показаной выше плате и USB HS есть.

Share this post


Link to post
Share on other sites
Новая тема называется "Управление станком по шине PCI"

Вводные: мы имеем платформу 4 ядра по 4 ГГц AMD.

Компьютер моделирует процесс работы станка в соответствии с программой, в G-кодах. Для каждой из задействованных в работе осей высчитывается положение, с частотой 1 МГц, ни больше ни меньше.

На плате имеется выход ШИМ для 20 Н-мостов и последовательная шина, совместимая с rs485, а также входы на 10 TTL датчиков. На шаговый двигатель ставится датчик обратной связи TTL. Обмотки управляются через 2 Н-моста. По последовательной шине идёт зацикленный сигнал с частотой 1 МГц следующего вида: стартовый байт 11111111, два байта адреса, два байта данных, 4 бит пауза - резерв для запроса прерывания ведомым устройством, два байта обратной связи, 4 бит пауза, затем по кругу.

Цена вопроса полсотни тысяч рублей. sayt1000@ya.ru

То есть дополнительно к управляющему софту и плате PCI добавляются еще и самопальные драйвера? И все за полтинник? Серьезно? :lol:

ЗЫ: Не буду спрашивать какому станку нужно столько шаговых двигателей :)

 

Автор действительно очень наивен.

А чем вариант с LPT вдруг не понравился? Мне кажется, там можно рулить движками с большой точностью.

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

Хорошо, что я за несколько дней до этого заказал-таки внешний контроллер, подключаемый по Ethernet, ему затыки операционки и до 0.5 сек не страшны :) Вчера получил, подключил - доволен как слон.

 

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

 

Я бы предложил сделать скромно, но со вкусом.

 

Сделать несколько одинаковых плат с драйверми моторов. На чипах MK58 от NXP. Каждая плата работает с однм мотором и всеми типами энкодеров и конечников при нем.

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

ТС действительно наивен. Один только качественный алгоритм управления шаговым двигателем съест не один месяц упорного труда и не один авторский бюджет.

Share this post


Link to post
Share on other sites
Энкодеры нужны очень хорошие. В промышленных сервомоторах на станках ставят энкодеры на несколько тысяч/десятков тысяч линий на оборот.

...не один месяц упорного труда и не один авторский бюджет.

 

Шаговые то зачем? Нынче кругом BLDC. Вон тот движок на моей фотке дает 1800 импульсов на оборот. Без всяких энкодеров.

Качественный алгоритм нынче в матлабе делается за спасибо.

Технологии знаете ли меняются.

Share this post


Link to post
Share on other sites
Шаговые то зачем? Нынче кругом BLDC. Вон тот движок на моей фотке дает 1800 импульсов на оборот. Без всяких энкодеров.

Они банально дешевле и проще в управлении и настройке, а обратная связь по положению не везде требуется. Ну и ТС на них настаивает :) Современные сервоприводы - да, почти все на бесколлекторниках, имеют несколько преимуществ и один большой недостаток - цена :)

Кстати, а какое усилие удержания на валу у движка с Вашей фотки?

Качественный алгоритм нынче в матлабе делается за спасибо.

Технологии знаете ли меняются.

Вы лучше объясните это китайцам. А то они отстают от технологий, похоже, - только одна их контора делает приличные драйвера для ШД. Видимо, никто больше в Китае не владеет матлабом, или не хочет говорить спасибо тому кто им владеет :)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this