Может и я попробую чего добавить... Сначала про ЕМС2. Т.к. изначально речь шла о шаговиках, то начнем с них. Лично не пробовал работу шаговика с энкодером, не вижу смысла. Но из своих скудных познаний по поводу LPT порта.... По порядку. Его пропускная способность 25кГц. Допустим, на уровне софта мы можем заставить программно умножать тайминги процессора и плевать в порт х2, х3, х4 ит.п. Т.е мы можем на выходе получить 100кГц, более с корректной работой компа вряд ли. Но со входными пинами порта мы ничего сделать не можем. Они как были на частоте 25кГц, так и остались. Не знаю, насколько грамотно там реализована функция коррекции шагов в соответствие с данными энкодера, но даже если допустить, что там все сделано безупречно, то можно просто посчитать в цифрах. Допустим, у нас есть стандартный энкодер на 2500 линий, это 10000 имп на оборот. Учитывая скорость нашего входа 25000Гц, получаем 2,5об/сек. Даже стандартный шаговик, работая без сбоев с макс. скоростью 500об/мин крутит 8,3об/сек. Короче, подключив энкодеры, мы будем сидеть над станком часами и втыкать, как он ползает. Насчет корректности работы в плане корректировки шагов в соответствии с данными энкодера тоже есть большие сомнения. Есть такое понятие, как сервоцикл, грубо говоря единица времени за которую управляющий импульс будет послан системой и принят обратный сигнал энкодера.. Для того, чтобы его реализовать, нужно учитывать такие факторы, как разгон-торможение, длительнсть прохождения сигнала, предпросмотр программы, настройки цифровых фильтров, ко всему должна быть многопотоковость данных для обработки каждой оси. Ну чисто физически не может обычный компьютерный процессор обсчитать все эти данные корректно и своевременно. Еще один момент. Из той информации, что удалось перелопатить. Наверное двух рук хватит с избытком, чтоб по пальцам пересчитать фирмы, сумевшие на деле реализовать алгоритм работы шаговика (или сервы), управляемый по степ/дир в паре с энкодером в составе ЧПУ системы. Хотя в теории алгоритм прост как угол дома. Задается только количество импульсов энкодера на единицу измерения, количество шагов игнорируется. Система просто выплевывает поток импульсов, а счетчики принимают данные энкодеров. Импульсы летят до достижения нужной позиции энкодера.
dedo, вот был тут выше вопрос такой
Цитата
Мы говорим не о драйвере, мы говорим о сервоприводе.
Именно сервопривод дает сигналы стойке.
Я не знаю ни одной системы ЧПУ, которая бы выполняла функции сервопривода.
Да и зачем?
Если кто либо приведет пример, буду очень признателен.
Так, чтоб далеко не ходить... Из полухоббийных и в то же время полупрофессиональных систем. Вот контора
http://dynomotion.com/. Связка KFLOP+SnapAmp. Усилитель имеет на борту лишь силовую часть для двух бесщеточных или трех щеточных моторов. В то же время контроллер берет на себя коммутации, слежение за энкодером, фазировку и даже обработку данных резольверов. Есть фирмы посерьезней. Например, тот же Galil, Aerotech, Parker. Усилителей без мозгов, имеющих в себе только силовую часть, хватает. Например, среди недорогих AMC, Copley , много усилков попадаются для пьездвигателей. Что самое интересное, при отсутствии мозгов, у некоторыхусилков присутстсвует даже двухфазное управление Dual Phase +/-10в - от системы ЧПУ откусывается одна ось и конфигурируется на другую ось. В итоге две оси подключены на один двигатель и оба управления заведены в один усилок. Такое управление применяется для сверхплавных и высокоточных перемещений.Все остальные функции усилителя берет на себя контроллер ЧПУ
И еще про сервы хотел добавить. Имею ввиду с аналоговым управлением +/-10в. Многие думают, что система ЧПУ просто берет и корректирует нужную ось. Так, но не совсем. Корректирует за период сервоцикла. Если отклонение от лимита ошибки небольшое, то продолжает корректировать при переходе на следующий сервоцикл. При этом основная задача - синхронизировать движение всех осей в соответствие с графиком движения в период сервоцикла. Задача довольно сложная. Данные обрабатывает процессор и сопроцессор операций с плавающей точкой. Чем качественней система, тем выше разрядность ЦАП. Средний уровень - 12бит, высокий уровень 16бит. Например, мой 12битный Кфлоп выдает 4 знака после запятой для управления аналоговым синалом, 16битный Паркер - 6 знаков после запятой. Не зная деталей можно сказать, фигня - 4 знака тоже немало. А вот мотор с энкодером 3,2млн имп/об штормило в разные стороны, не мог нужную точку поймать именно по причине недостаточного деления сигнала. Это я пишу к тому, чтоб те кто не в курсе, могли представить, какие вообще нужны вычислительные возможности системы, включая многопоточность данных.
И еще по поводу следящего сервопривода - серводрайвера, управляемого по степ/дир.. Когда-то на другом форуме писал, но повторюсь.. Делал эксперимент - в драйвере Яскава отключил ошибку и затем подал на вход управляющие сигналы степ/дир. В процессе движения кратковременно отключал сигнал Энэйбл. При отключении мотор останавливался, тем временем поток управляющих сигналов поступал в драйвер. При включении Энейбл мотор срывался, догонял потерянне шаги, которые буферизовались в логике, затем резко сбрасывал скорость и продолжал движение по управляющим сигналам. А если посмотреть на практике. Допустим, отстроили мы драйвер и он работает как часы. Задавать большой предел ошибки смысла нет. Задавать слишком маленький - как ни крути, периодически все-равно серва будет вылетать в ошибку (подклинивание ШВП или направляющих, чрезмерная нагрузка и т.д.). Если все хорошо, то ошибку можно смело отключить, на возможные погрешности закрыть глаза, - все ж лучше, чем шаговики. А теперь представим ситуацию, что нам попался некачественный разъем или где-то скрутка, или периодические помехи, отсутствие заземления , в общем, причин случайного пропадания сигнала может быть много. Представляете, что может быть со станком или инструментом, или заготовкой в момент такого сбоя? Поэтому я все же склоняюсь к тому, что правильней управлять станком через аналоговое управление +/-10в, когда управление и слежение за всеми осями исходит от одного контроллера.
dedo, как там проект токарника? В последний раз помнится, остановились на чертеже шпиндельного зажима. Есть, что показать?