реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Максимальная частота сервоконтроллера
arisov
сообщение Feb 27 2009, 20:16
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 157
Регистрация: 17-02-07
Из: Ульяновск
Пользователь №: 25 455



Как определить максимальную частоту импульсов на входе сервоконтроллера при позиционировании?
Хочу попробовать собрать подобный стенд (см. рис.). Допустим я буду «подавать» постепенно увеличивая частоту на Step. Как определить момент начала пропуска входных импульсов?
Я предполагаю, что измеряя сигнал на двигателе (ШИМ) в момент когда ширина импульса будет максимальной (максимальные обороты) – это и будет той самой «точкой максимума». Или в подпрограмме обработки прерывания от Step «выдавать» сигнал (на светодиод) и измерять частоту до её прекращения роста?

Как вообще это измеряют?
Нет ли специальной программы, которая «выдаёт» на LPT порт сигналы Step/Dir, A, B?
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
evgeny_ch
сообщение Feb 27 2009, 20:30
Сообщение #2


чукчхэшаражогрмонтажник
*****

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



Цитата(arisov @ Feb 27 2009, 23:16) *
Как определить максимальную частоту импульсов на входе сервоконтроллера при позиционировании?
...
Нужно сначала определиться с терминологией.
Сервоконтроллер это управляющее устройство с обратной связью от объекта управления.
Имеет смысл говорить о времени реакции на управляющее воздействие.
Применительно к шаговому приводу понятие сервоконтроллер не используют,
хотелось бы знать, какой у вас двигатель, а также по какому параметру (скорость, положение)
осуществляется ОС.

Сообщение отредактировал evgeny_ch - Feb 27 2009, 20:33


--------------------
Quo vadis?
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Feb 27 2009, 20:51
Сообщение #3


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(arisov @ Feb 27 2009, 23:16) *
Как определить максимальную частоту импульсов на входе сервоконтроллера при позиционировании?

== максимальная частота обновления командного регистра положения, а на это, в свою очередь, управляющим алгоритмом накладываются ограничения по скорости и току. Это когда обновление идет быстрее периода сервоцикла. Такшта, есть опасения, что Вы померяете нечто вроде погоды на Сатурне sad.gif 

Цитата(arisov @ Feb 27 2009, 23:16) *
 
Нет ли специальной программы, которая «выдаёт» на LPT порт сигналы Step/Dir, A, B?


Программу и написАть недолго. Если она окажется полезной. Что она должна делать, как Вы считаете - как свип-генератор или просто задание скорости? 
Go to the top of the page
 
+Quote Post
arisov
сообщение Feb 27 2009, 21:18
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 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….
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Feb 27 2009, 21:28
Сообщение #5


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(arisov @ Feb 28 2009, 00:18) *
 0 – 250 kHz

А не повесятся ли форточки от такой частоты? Там ведь непрерывно не получится такое генерить. Паузы будут по 10 мсек. Может проще усложнить задачу: на контроллер переложить эту байду? И последовательным портом задавать. Тиньку 2313 типа...
Go to the top of the page
 
+Quote Post
arisov
сообщение Feb 27 2009, 21:36
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 157
Регистрация: 17-02-07
Из: Ульяновск
Пользователь №: 25 455



Mach «выдаёт», если не ошибаюсь до 100кГц причем одновременно на несколько осей (приводов). Ширина импульсов – 1-5мкс. Но у него свой спецацельный драйвер под LPT.
По поводу отдельного МК – тогда проще наверное, отдельный простенький генератор с формирователем A и В и частоту мерить отдельным частотомером.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Feb 27 2009, 21:42
Сообщение #7


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(arisov @ Feb 28 2009, 00:36) *
тогда проще наверное, отдельный простенький генератор с формирователем A и В и частоту мерить отдельным частотомером.

Падажжите! Вы для тиньки можете написАть дрыгалку? 


Комповая часть в делфях... т-с-с! в лазарусе (будем лояльными) пишется за час-два при условии четко продуманной системы команд. Если согласны, сверим завтра схемы - и вперед.

И личку прочитайте плз
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Feb 27 2009, 21:44
Сообщение #8


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Поставить аппаратный счетчик на каждый вход. По поступлению сигнала счетчик плюсовать, по обработке сигнала минусовать. Как только число в счетчике превысит единицу, фиксировать пропуск.
Go to the top of the page
 
+Quote Post
evgeny_ch
сообщение Feb 27 2009, 21:46
Сообщение #9


чукчхэшаражогрмонтажник
*****

Группа: Участник
Сообщений: 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?
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Feb 27 2009, 21:52
Сообщение #10


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(evgeny_ch @ Feb 28 2009, 00:46) *
Эмулируя сервоцикл, вам нужно иметь программную модель электродвигателя


Э-э-э... аксакал правду сказал! Как-то не подумаль я - у нас же ОС по положению и не будет. Будет чепуха-с cranky.gif
Go to the top of the page
 
+Quote Post
arisov
сообщение Feb 27 2009, 22:08
Сообщение #11


Частый гость
**

Группа: Свой
Сообщений: 157
Регистрация: 17-02-07
Из: Ульяновск
Пользователь №: 25 455



Цитата(_Pasha @ Feb 28 2009, 00:42) *
Падажжите! Вы для тиньки можете написАть дрыгалку?
….Если согласны, сверим завтра схемы - и вперед.

Написать дрыгалку могу, но ночью я лучше с женою «подрыгаюсь»… smile.gif

Этот параметр необходим для расчёта максимального разрешения энкодера при максимальной частоте вращения двигателя. Например энкодер с разрешением 2000 имп/об при частоте вращения 3 000об/мин «даст» частоту 100кГц.
Как же правильно измерить эту частоту? Не подбирать же вручную разрешение энкодера и ждать когда настанет большое рассогласование? Вариант, предложеный Огурцовым, я думаю неплох.

Цитата(evgeny_ch @ Feb 28 2009, 00:46) *
Если двигатель не отработал, как вы выражаетесь "степ", то у вас не сервопривод.

Я и написал, что это другой вопрос.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Feb 27 2009, 22:24
Сообщение #12


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(arisov @ Feb 28 2009, 01:08) *
Написать дрыгалку могу, но ночью я лучше с женою «подрыгаюсь»… smile.gif


Можно подумать, что ногодрыг - какая-то непосильная задача sad.gif

Цитата
Этот параметр необходим для расчёта максимального разрешения энкодера



Тогда нужен образцовый энкодер, уже соединенный с двигателем, он должен приходить на тиньку (теперь уж без нее точно сложняк), а оттуда - выдавать серваку эмуляцию. Качество регулирования - отстукивать на комп по разности положений. С графиком, со всей красотой. Геморроидально, но можно за день асилить.
Go to the top of the page
 
+Quote Post
arisov
сообщение Feb 28 2009, 07:01
Сообщение #13


Частый гость
**

Группа: Свой
Сообщений: 157
Регистрация: 17-02-07
Из: Ульяновск
Пользователь №: 25 455



А как же тогда быть если двигатель выше 3000 об/мин «не выдаёт», а энкодер тоже с определённым разрешением, а сервоконтроллер может и «пошустрее» работать. Только вот насколько шустрее? Конечно если бы у меня был энкодер с регулируемым (программируемым) разрешением (до 5 000 - 10 000 имп/об) этот вопрос не стоял бы.
Этот параметр, на самом деле очень важен. Обычно после напряжения питания и коммутируемой мощности задают именно вопрос о максимальной частоте и только потом об интерфейсах и всяких «примочках».
Всё таки мне кажется, что должен быть какой то для этого испытательный стендик.
А графики МК в сервоконтроллере у меня и так уже выдаёт без всяких дополнительных тинек.
Go to the top of the page
 
+Quote Post
slog
сообщение Feb 28 2009, 08:33
Сообщение #14


Знающий
****

Группа: Свой
Сообщений: 961
Регистрация: 28-11-05
Пользователь №: 11 489



Прочитал. Не понял, а в чем проблема - то?
Разрешение энкодера выбирают не по максимальной частоте вращения двигателя, а по необходимой точности позиционирования. А уж счётчик импульсов в сервоконтроллере естественно должен успевать считать их без пропуска. А чтобы импульсы с Mach или откуда там, не пропускались, так это надо правильно задавать скорость разгона-торможения исходя из инерционности всей системы двигатель-редуктор-и-что-там-двигается.


--------------------
В действительности всё не так, как на самом деле.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Feb 28 2009, 08:33
Сообщение #15


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(arisov @ Feb 28 2009, 10:01) *
А как же тогда быть если двигатель выше 3000 об/мин «не выдаёт», а энкодер тоже с определённым разрешением

Синхронизация от энкодера, дальше эмулятор энкодера выдает свои частоты, сам энкодер - свои. Через N импульсов "опорного" энкодера  они "встречаются". Как ФАПЧ. Но качество регулирования видно в реале.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 04:59
Рейтинг@Mail.ru


Страница сгенерированна за 0.01478 секунд с 7
ELECTRONIX ©2004-2016