|
|
  |
Разработка комплекса программа+железо LPT/USB для станков, Рабочее название "Конь В Вакууме" |
|
|
|
Feb 7 2017, 18:40
|
Участник

Группа: Участник
Сообщений: 40
Регистрация: 10-10-16
Пользователь №: 93 698

|
Новая тема называется "Управление станком по шине PCI" Вводные: мы имеем платформу 4 ядра по 4 ГГц AMD. Компьютер моделирует процесс работы станка в соответствии с программой, в G-кодах. Для каждой из задействованных в работе осей высчитывается положение, с частотой 1 МГц, ни больше ни меньше. На плате имеется выход ШИМ для 20 Н-мостов и последовательная шина, совместимая с rs485, а также входы на 10 TTL датчиков. На шаговый двигатель ставится датчик обратной связи TTL. Обмотки управляются через 2 Н-моста. По последовательной шине идёт зацикленный сигнал с частотой 1 МГц следующего вида: стартовый байт 11111111, два байта адреса, два байта данных, 4 бит пауза - резерв для запроса прерывания ведомым устройством, два байта обратной связи, 4 бит пауза, затем по кругу. Цена вопроса полсотни тысяч рублей. sayt1000@ya.ru
|
|
|
|
|
Feb 7 2017, 19:34
|
Местный
  
Группа: Участник
Сообщений: 356
Регистрация: 24-02-09
Пользователь №: 45 309

|
Цитата(Леонид Григорьевич @ Feb 7 2017, 21:40)  Новая тема называется "Управление станком по шине PCI" Хм. Но там тоже нужна FPGA  По другому к той шине не подключиться (насколько мне известно). Только затраты на такое применение FPGA будут ещё бОльшие. А чем вариант с LPT вдруг не понравился? Мне кажется, там можно рулить движками с большой точностью. Или нужна совместимость с программами типа Mach 3 и т.д.?
|
|
|
|
|
Feb 7 2017, 19:47
|
Знающий
   
Группа: Свой
Сообщений: 608
Регистрация: 10-07-09
Из: Дубна, Московская область
Пользователь №: 51 111

|
Цитата(controller_m30 @ Feb 7 2017, 22:34)  Хм. Но там тоже нужна FPGA  По другому к той шине не подключиться (насколько мне известно). Только затраты на такое применение FPGA будут ещё бОльшие. Есть и DSP с шиной и мосты отдельно. Цитата(controller_m30 @ Feb 7 2017, 22:34)  А чем вариант с LPT вдруг не понравился? Мне кажется, там можно рулить движками с большой точностью. Или нужна совместимость с программами типа Mach 3 и т.д.? Да дело не в том какой порт взять. Заводит "наивность" : возьмем и будемуправлять из ПК без всяких причиндал и будет вселенское счастье. ТС возжелал практически в реальном времени управлять работой станка из ПК, не учитывая что интерфейсы (RS232, LPT, да и тот же PCI-e) работают под управлением операционки, а в ней еще крутится его эфемерная программка. Рулить с большой точностью, можно, но не всегда в реальном масштабе времени. И опять же, есть подозрение, что у ТС в качестве исполнительного узла шаговый мотор (или группа) не охваченный(ные) обратной связью. Вот он и делает "четкий" формирователь управления с наблюдением на экране осциллографа, вместо того что бы отладить "механику" и имеющийся блок внешнего управления.
|
|
|
|
|
Feb 7 2017, 20:19
|
Местный
  
Группа: Участник
Сообщений: 356
Регистрация: 24-02-09
Пользователь №: 45 309

|
У меня уточняющий вопрос к автору темы. Вот есть станок, там есть механика и шаговые двигатели в N-ом количестве. А драйвера к этим двигателям есть? Блок питания, который обеспечивает энергией все эти движки? Или предполагается разработка вообще всей электрической части: БП, драйверов шаговых движков, точных концевых, сопряжение с компьютером, и в итоге программы на комп? Я например полагал, что шаговики уже укомплектованы драйверами и блоками питания для них. Что автор может через LPT хотя бы зажечь светодиод - из какой-нить тестовой программки (к примеру на Visual Basic). Возможно даже через LPT, в тестовом режиме, был включен\выключен хотя бы один движок. И на основании подобного успешного опыта было принято решение использовать LPT. А как на самом деле?
|
|
|
|
|
Feb 7 2017, 21:13
|
Знающий
   
Группа: Свой
Сообщений: 608
Регистрация: 10-07-09
Из: Дубна, Московская область
Пользователь №: 51 111

|
Цитата(controller_m30 @ Feb 7 2017, 23:19)  А как на самом деле?  Подозреваю что драйвера и источники есть. И даже некий контроллер, который управляет есть. С программкой для управления - беда. Будь исходники на контроллер - наверное решили бы в них поковыряться (что более правильно).
|
|
|
|
|
Feb 7 2017, 21:22
|
Местный
  
Группа: Участник
Сообщений: 356
Регистрация: 24-02-09
Пользователь №: 45 309

|
Цитата(Александр77 @ Feb 7 2017, 22:47)  И опять же, есть подозрение, что у ТС в качестве исполнительного узла шаговый мотор (или группа) не охваченный(ные) обратной связью. Вот он и делает "четкий" формирователь управления с наблюдением на экране осциллографа, вместо того что бы отладить "механику" и имеющийся блок внешнего управления. Мне это тоже не совсем понятно. Вот есть задача резать резьбу. Если всё управляется шаговыми двигателями, то вероятно замысел такой: один движок вращает заготовку, а другой в это время двигает суппорт с резцом, нарезая резьбу... Но при этом могут быть разные ситуации! Движок вращающий заготовку может "забуксовать", пропустить несколько шагов из-за нагрузки создаваемой резцом... Или "суппорт" может пропустить свои шаги из-за нагрузки. Могут пробуксовать и оба двигателя. Как избежать пропуска шагов под нагрузкой? Добавлять понижающую передачу, наверное. А какая тогда будет скорость резки, если движок даже напрямую, не может больше 6 оборотов в секунду выдать (если 100 импульсов на оборот)?
Сообщение отредактировал controller_m30 - Feb 7 2017, 21:25
|
|
|
|
|
Feb 8 2017, 11:25
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(Леонид Григорьевич @ Feb 7 2017, 20:40)  Новая тема называется "Управление станком по шине PCI" Вводные: мы имеем платформу 4 ядра по 4 ГГц AMD. Компьютер моделирует процесс работы станка в соответствии с программой, в G-кодах. Для каждой из задействованных в работе осей высчитывается положение, с частотой 1 МГц, ни больше ни меньше. На плате имеется выход ШИМ для 20 Н-мостов и последовательная шина, совместимая с rs485, а также входы на 10 TTL датчиков. На шаговый двигатель ставится датчик обратной связи TTL. Обмотки управляются через 2 Н-моста. По последовательной шине идёт зацикленный сигнал с частотой 1 МГц следующего вида: стартовый байт 11111111, два байта адреса, два байта данных, 4 бит пауза - резерв для запроса прерывания ведомым устройством, два байта обратной связи, 4 бит пауза, затем по кругу. Цена вопроса полсотни тысяч рублей. sayt1000@ya.ru Я бы предложил сделать скромно, но со вкусом. Сделать несколько одинаковых плат с драйверми моторов. На чипах MK58 от NXP. Каждая плата работает с однм мотором и всеми типами энкодеров и конечников при нем. Платы вроде таких -
На тех же платах поставить чипы EtherCAT от Beckhoff Таким образом все платы соединяются в жестком реалтайме по шине EtherCAT. А мастер шины сделать на индустриальном BeagleBone Black Industrial c Add-On платой на том же ET1100. Соединение мастера с компьютером через HS USB На первых порах можно вместо EterCAT использовать CAN. Он, кстати, есть на показаной выше плате и USB HS есть.
|
|
|
|
|
Feb 8 2017, 19:53
|

Иногдящий
   
Группа: Свой
Сообщений: 691
Регистрация: 28-02-05
Пользователь №: 2 931

|
Цитата(Леонид Григорьевич @ Feb 7 2017, 21:40)  Новая тема называется "Управление станком по шине PCI" Вводные: мы имеем платформу 4 ядра по 4 ГГц AMD. Компьютер моделирует процесс работы станка в соответствии с программой, в G-кодах. Для каждой из задействованных в работе осей высчитывается положение, с частотой 1 МГц, ни больше ни меньше. На плате имеется выход ШИМ для 20 Н-мостов и последовательная шина, совместимая с rs485, а также входы на 10 TTL датчиков. На шаговый двигатель ставится датчик обратной связи TTL. Обмотки управляются через 2 Н-моста. По последовательной шине идёт зацикленный сигнал с частотой 1 МГц следующего вида: стартовый байт 11111111, два байта адреса, два байта данных, 4 бит пауза - резерв для запроса прерывания ведомым устройством, два байта обратной связи, 4 бит пауза, затем по кругу. Цена вопроса полсотни тысяч рублей. sayt1000@ya.ru То есть дополнительно к управляющему софту и плате PCI добавляются еще и самопальные драйвера? И все за полтинник? Серьезно?  ЗЫ: Не буду спрашивать какому станку нужно столько шаговых двигателей  Автор действительно очень наивен. Цитата(controller_m30 @ Feb 7 2017, 22:34)  А чем вариант с LPT вдруг не понравился? Мне кажется, там можно рулить движками с большой точностью. Нельзя, к сожалению. Вернее, можно, но для этого нужна RTOS, коей ни винда ни линукс не являются. У меня буквально на днях управление станком по LPT (под виндой) начало прерываться на какие-то миллисекунды раз в 15-40 секунд, что-то в системе начало периодически занимать ресурсы в эти моменты. Восстановление системы до состояния недельной давности помогло. А в прошлый раз, когда комп начал так выделываться, восстановление системы не помогло, пришлось полностью переустанавливать винду  Хорошо, что я за несколько дней до этого заказал-таки внешний контроллер, подключаемый по Ethernet, ему затыки операционки и до 0.5 сек не страшны  Вчера получил, подключил - доволен как слон. Цитата(Эдди @ Feb 8 2017, 00:24)  Единственный вариант, позволяющий избежать пропуска шагов — обратная связь. Без хотя бы инкрементального энкодера придется очень часто выполнять операции координатной инициализации. Цитата(AlexandrY @ Feb 8 2017, 14:25)  Я бы предложил сделать скромно, но со вкусом.
Сделать несколько одинаковых плат с драйверми моторов. На чипах MK58 от NXP. Каждая плата работает с однм мотором и всеми типами энкодеров и конечников при нем. Энкодеры нужны очень хорошие. В промышленных сервомоторах на станках ставят энкодеры на несколько тысяч/десятков тысяч линий на оборот. Другой используемый в станках вариант контроля - измерительные линейки непосредственно на осях, попросту линейные энкодеры с разрешением в единицы-десятки микрон. И тут мы опять приходим к тому, что все уже придумано до нас - есть и сервокомплекты (драйвер плюс двигатель) с высокоточными энкодерами, которые сами внутри себя следят за правильностью перемещений, есть и контроллеры движений, к которым можно подключать линейки на осях  ТС действительно наивен. Один только качественный алгоритм управления шаговым двигателем съест не один месяц упорного труда и не один авторский бюджет.
|
|
|
|
|
Feb 8 2017, 21:02
|

Иногдящий
   
Группа: Свой
Сообщений: 691
Регистрация: 28-02-05
Пользователь №: 2 931

|
Цитата(AlexandrY @ Feb 8 2017, 23:19)  Шаговые то зачем? Нынче кругом BLDC. Вон тот движок на моей фотке дает 1800 импульсов на оборот. Без всяких энкодеров. Они банально дешевле и проще в управлении и настройке, а обратная связь по положению не везде требуется. Ну и ТС на них настаивает  Современные сервоприводы - да, почти все на бесколлекторниках, имеют несколько преимуществ и один большой недостаток - цена  Кстати, а какое усилие удержания на валу у движка с Вашей фотки? Цитата(AlexandrY @ Feb 8 2017, 23:19)  Качественный алгоритм нынче в матлабе делается за спасибо. Технологии знаете ли меняются. Вы лучше объясните это китайцам. А то они отстают от технологий, похоже, - только одна их контора делает приличные драйвера для ШД. Видимо, никто больше в Китае не владеет матлабом, или не хочет говорить спасибо тому кто им владеет
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|