Цитата(Леонид Григорьевич @ 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. Каждая плата работает с однм мотором и всеми типами энкодеров и конечников при нем.
Энкодеры нужны очень хорошие. В промышленных сервомоторах на станках ставят энкодеры на несколько тысяч/десятков тысяч линий на оборот. Другой используемый в станках вариант контроля - измерительные линейки непосредственно на осях, попросту линейные энкодеры с разрешением в единицы-десятки микрон. И тут мы опять приходим к тому, что все уже придумано до нас - есть и сервокомплекты (драйвер плюс двигатель) с высокоточными энкодерами, которые сами внутри себя следят за правильностью перемещений, есть и контроллеры движений, к которым можно подключать линейки на осях

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