|
Максимальная частота сервоконтроллера |
|
|
|
Feb 27 2009, 20:16
|
Частый гость
 
Группа: Свой
Сообщений: 157
Регистрация: 17-02-07
Из: Ульяновск
Пользователь №: 25 455

|
Как определить максимальную частоту импульсов на входе сервоконтроллера при позиционировании? Хочу попробовать собрать подобный стенд (см. рис.). Допустим я буду «подавать» постепенно увеличивая частоту на Step. Как определить момент начала пропуска входных импульсов? Я предполагаю, что измеряя сигнал на двигателе (ШИМ) в момент когда ширина импульса будет максимальной (максимальные обороты) – это и будет той самой «точкой максимума». Или в подпрограмме обработки прерывания от Step «выдавать» сигнал (на светодиод) и измерять частоту до её прекращения роста? Как вообще это измеряют? Нет ли специальной программы, которая «выдаёт» на LPT порт сигналы Step/Dir, A, B?
Эскизы прикрепленных изображений
|
|
|
|
|
Feb 27 2009, 20:30
|

чукчхэшаражогрмонтажник
    
Группа: Участник
Сообщений: 1 852
Регистрация: 13-07-07
Из: Minsk
Пользователь №: 29 094

|
Цитата(arisov @ Feb 27 2009, 23:16)  Как определить максимальную частоту импульсов на входе сервоконтроллера при позиционировании? ... Нужно сначала определиться с терминологией. Сервоконтроллер это управляющее устройство с обратной связью от объекта управления. Имеет смысл говорить о времени реакции на управляющее воздействие. Применительно к шаговому приводу понятие сервоконтроллер не используют, хотелось бы знать, какой у вас двигатель, а также по какому параметру (скорость, положение) осуществляется ОС.
Сообщение отредактировал evgeny_ch - Feb 27 2009, 20:33
--------------------
Quo vadis?
|
|
|
|
|
Feb 27 2009, 20:51
|
;
     
Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509

|
Цитата(arisov @ Feb 27 2009, 23:16)  Как определить максимальную частоту импульсов на входе сервоконтроллера при позиционировании? == максимальная частота обновления командного регистра положения, а на это, в свою очередь, управляющим алгоритмом накладываются ограничения по скорости и току. Это когда обновление идет быстрее периода сервоцикла. Такшта, есть опасения, что Вы померяете нечто вроде погоды на Сатурне Цитата(arisov @ Feb 27 2009, 23:16)  Нет ли специальной программы, которая «выдаёт» на LPT порт сигналы Step/Dir, A, B? Программу и написАть недолго. Если она окажется полезной. Что она должна делать, как Вы считаете - как свип-генератор или просто задание скорости?
|
|
|
|
|
Feb 27 2009, 21:18
|
Частый гость
 
Группа: Свой
Сообщений: 157
Регистрация: 17-02-07
Из: Ульяновск
Пользователь №: 25 455

|
Цитата(evgeny_ch @ Feb 27 2009, 23:30)  Нужно сначала определиться с терминологией. Сервоконтроллер это управляющее устройство с обратной связью от объекта управления. Имеет смысл говорить о времени реакции на управляющее воздействие. Применительно к шаговому приводу понятие сервоконтроллер не используют, хотелось бы знать, какой у вас двигатель, а также по какому параметру (скорость, положение) осуществляется ОС. Может не правильно нарисовал, но у меня сервоконтроллер, а не шаговый привод. На рисунке предполагаемого стенда я вместо сигналов с энкодера связанного с двигателем «подаю» от отдельного реверсивного счётчика. У Gecko ServoDrive G320 этот параметр Step Pulse Frequency = 0 – 250 kHz, у UHU ServoController этот параметр Speed = up to 250 000 steps/s (хотя реально на форумах пишут, что около 130кГц). Мне скорее всего надо знать максимальную частоту которую может «захватить» сервоконтроллер (микроконтроллер) обрабатывая 2 прерывания - по Step и энкодера. Чтобы гарантированно знать, что ни один импульс не пропадёт, все запомнятся (в счетчиках заданного и фактического положения). А догонит это двигатель (ограничение по частоте вращения) или нет – это другой вопрос. Цитата(_Pasha @ Feb 27 2009, 23:51)  ..Что она должна делать, как Вы считаете - как свип-генератор или просто задание скорости? Готовых генераторов много. Надо чтобы с каждым (регулируемым по частоте) импульсом на Step синхронно, а лучше с небольшой задержкой (1мкс) менялось состояние на выходах А и В: 00->01->11->10 и так по кругу. При реверсе соответственно: 10->11->01->00….
|
|
|
|
|
Feb 27 2009, 21:46
|

чукчхэшаражогрмонтажник
    
Группа: Участник
Сообщений: 1 852
Регистрация: 13-07-07
Из: Minsk
Пользователь №: 29 094

|
Цитата(arisov @ Feb 28 2009, 00:18)  Может не правильно нарисовал, но у меня сервоконтроллер, а не шаговый привод. На рисунке предполагаемого стенда я вместо сигналов с энкодера связанного с двигателем «подаю» от отдельного реверсивного счётчика. У Gecko ServoDrive G320 этот параметр Step Pulse Frequency = 0 – 250 kHz, у UHU ServoController этот параметр Speed = up to 250 000 steps/s (хотя реально на форумах пишут, что около 130кГц).
Мне скорее всего надо знать максимальную частоту которую может «захватить» сервоконтроллер (микроконтроллер) обрабатывая 2 прерывания - по Step и энкодера. Чтобы гарантированно знать, что ни один импульс не пропадёт, все запомнятся (в счетчиках заданного и фактического положения). А догонит это двигатель (ограничение по частоте вращения) или нет – это другой вопрос. ... Понял, вас интересует алгоритм программной реализации "быстрого" сервоцикла. Точнее, возможность езды на деревянном велосипеде. Эмулируя сервоцикл, вам нужно иметь программную модель электродвигателя, иначе мне не понятен смысл выражения - Цитата А догонит это двигатель (ограничение по частоте вращения) или нет – это другой вопрос. Если двигатель не отработал, как вы выражаетесь "степ", то у вас не сервопривод.
Сообщение отредактировал evgeny_ch - Feb 27 2009, 21:46
--------------------
Quo vadis?
|
|
|
|
|
Feb 27 2009, 22:08
|
Частый гость
 
Группа: Свой
Сообщений: 157
Регистрация: 17-02-07
Из: Ульяновск
Пользователь №: 25 455

|
Цитата(_Pasha @ Feb 28 2009, 00:42)  Падажжите! Вы для тиньки можете написАть дрыгалку? ….Если согласны, сверим завтра схемы - и вперед. Написать дрыгалку могу, но ночью я лучше с женою «подрыгаюсь»…  Этот параметр необходим для расчёта максимального разрешения энкодера при максимальной частоте вращения двигателя. Например энкодер с разрешением 2000 имп/об при частоте вращения 3 000об/мин «даст» частоту 100кГц. Как же правильно измерить эту частоту? Не подбирать же вручную разрешение энкодера и ждать когда настанет большое рассогласование? Вариант, предложеный Огурцовым, я думаю неплох. Цитата(evgeny_ch @ Feb 28 2009, 00:46)  Если двигатель не отработал, как вы выражаетесь "степ", то у вас не сервопривод. Я и написал, что это другой вопрос.
|
|
|
|
|
Feb 28 2009, 09:05
|
Частый гость
 
Группа: Свой
Сообщений: 157
Регистрация: 17-02-07
Из: Ульяновск
Пользователь №: 25 455

|
Мы наверное всё таки не понимаем друг друга. Как же тогда производители сервоконтроллеров указывают этот параметров, без учёта параметров двигателя. Ведь они не знают какой двигатель и энкодер потребитель будет применять. Я уже писал, мне надо просто узнать какую максимальную частоту может «захватить» в счетчики позиций МК. Двигатель можно даже не подключать. Представьте, что это не сервоконтроллер, а например частотомер, измеряющий одновременно 2 канала. А разгонится или не разгонится двигатель – я это буду потом решать. Цитата(slog @ Feb 28 2009, 11:33)  Разрешение энкодера выбирают не по максимальной частоте вращения двигателя, а по необходимой точности позиционирования. Да но, вдруг потребитель захочет при заданной точности позиционирования ещё максимально быстро перемещаться на «быстрых» переездах. А сервоконтроллер не успеет «переварить» такую скорость, а движок, допустим будет очень "шустрым".
|
|
|
|
|
Feb 28 2009, 09:53
|

чукчхэшаражогрмонтажник
    
Группа: Участник
Сообщений: 1 852
Регистрация: 13-07-07
Из: Minsk
Пользователь №: 29 094

|
Цитата(slog @ Feb 28 2009, 11:33)  Прочитал. Не понял, а в чем проблема - то? Разрешение энкодера выбирают не по максимальной частоте вращения двигателя, а по необходимой точности позиционирования. А уж счётчик импульсов в сервоконтроллере естественно должен успевать считать их без пропуска. А чтобы импульсы с Mach или откуда там, не пропускались, так это надо правильно задавать скорость разгона-торможения исходя из инерционности всей системы двигатель-редуктор-и-что-там-двигается. Где-то так. Нынче инкрементальные энкодеры применяют там, где не нужна высокая точность и динамика перемещений. Если нужно быстро перемещаться, то применяют аналоговую обработку сигнала энкодера, с дискретизацией зависящей от скорости премещения и ошибки положения. Точно также поступают и с двигателем, изменяя дискрету шага. Т. е. на старте дискретность велика, при максимуме скорости её можно снизить. Рыбки поесть и на лодке покататься, просто не получается.  Такшта.
Сообщение отредактировал evgeny_ch - Feb 28 2009, 09:55
--------------------
Quo vadis?
|
|
|
|
|
Feb 28 2009, 10:29
|
Частый гость
 
Группа: Свой
Сообщений: 157
Регистрация: 17-02-07
Из: Ульяновск
Пользователь №: 25 455

|
Разговор, как обычно, «вильнул» в другую сторону. Тема называется максимальная частота сервоконтроллера, а не сервопривода в целом. Инерция портала, характер нагрузки, параметры двигателей и энкодера мне кажется никак не должны влиять на способность сервоконтроллера «захватить» сигналы управления и в промежутке между этими сигналами успеть их обработать. Потребитель должен знать на что он может рассчитывать и исходя из своего применения он выберет скорость всей своей системы в целом. Какой, например будет толк от его супер быстрого двигателя, высокоточного энкодера, высокоскоростной программы управления ЧПУ, если сервоконтроллер всё ограничит из-за своей «медлительности»?
|
|
|
|
|
Apr 8 2009, 05:31
|
Частый гость
 
Группа: Свой
Сообщений: 157
Регистрация: 17-02-07
Из: Ульяновск
Пользователь №: 25 455

|
Тут у меня «мыслишка» мелькнула. А что если вместо двигателя на выходе сервоконтроллера установить ГУН. Сглаживающей RC-цепочкой по входу ГУН можно в небольших пределах имитировать инерцию системы. «Крутизной» ГУНа - разрешение энкодера. Светодиод горит когда нет рассогласования, при превышении +/-1 Step –гаснет, но можно и наоборот. Прибавляя постепенно частоту на входе Step находим максимум. Что насчёт этого думают профессионалы электропривода?
Эскизы прикрепленных изображений
|
|
|
|
|
Apr 8 2009, 08:48
|
Профессионал
    
Группа: Свой
Сообщений: 1 613
Регистрация: 2-09-08
Из: г.Набережные Челны
Пользователь №: 39 936

|
Цитата(arisov @ Feb 28 2009, 00:16)  Как определить максимальную частоту импульсов на входе сервоконтроллера при позиционировании? Хочу попробовать собрать подобный стенд (см. рис.). Допустим я буду «подавать» постепенно увеличивая частоту на Step. Как определить момент начала пропуска входных импульсов? Я предполагаю, что измеряя сигнал на двигателе (ШИМ) в момент когда ширина импульса будет максимальной (максимальные обороты) – это и будет той самой «точкой максимума». Или в подпрограмме обработки прерывания от Step «выдавать» сигнал (на светодиод) и измерять частоту до её прекращения роста?
Как вообще это измеряют? Нет ли специальной программы, которая «выдаёт» на LPT порт сигналы Step/Dir, A, B? У меня такая мысля, конечно не проверенная. Если у вас обратная связь энкодер, то можно попробывать завести допустим SIN энкодера на Step т.е. создать положительную обратную связь, соответсвенно у вас двигатель раскрутится до какого-то значения и соответственно частота сигнала энкодера и будет максимальной входной частотой Step, но это наверное не точно будет, но для визуального представления пойдет.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|