Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Контур тока (момента) при управление двигателем
Форум разработчиков электроники ELECTRONIX.ru > Силовая Электроника - Power Electronics > Электрические машины, Электропривод и Управление
Страницы: 1, 2, 3
Elsystems
Цитата(Lomax @ Jun 22 2016, 08:13) *
ну как не может если так должно быть
http://www.powerguru.org/sensorless-field-...icrocontroller/

В этой статье судя по всему речь о методе управления где делается всего несколько переключений инвертора на оборот поля статора. Этот метод подходит для непрецизионных приложений типа вентилятора и не позволяет точно позиционироваться и добиться плавности. Никогда его не использовал, не могу проконсультировать. Думаю в нем ток вообще не надо измерять. Если вам надо точный привод, который может позиционироваться в любом положении ротора - надо использовать другой подход, с точным датчиком положения ротора, для правильного задания вектора тока, с регулятором тока, работающим на высокой частоте и т.д.
Lomax
Цитата(Elsystems @ Jun 27 2016, 05:34) *
В этой статье судя по всему речь о методе управления где делается всего несколько переключений инвертора на оборот поля статора. Этот метод подходит для непрецизионных приложений типа вентилятора и не позволяет точно позиционироваться и добиться плавности. Никогда его не использовал, не могу проконсультировать. Думаю в нем ток вообще не надо измерять. Если вам надо точный привод, который может позиционироваться в любом положении ротора - надо использовать другой подход, с точным датчиком положения ротора, для правильного задания вектора тока, с регулятором тока, работающим на высокой частоте и т.д.


не совсем, в статье нормальное управление при помощи модуляции шимом синусоиды и картинка приведена для одного периода шим

вот приведены напряжения фаз и ток


вот у них когда все ключи нижние включены , на всех фазах одинаковый потенциал, нарисован нулевой ток, хотя по идее при индуктивной нагрузки он должен быть не нулевым
Lomax
Цитата(amaora @ Jun 22 2016, 14:15) *
По схеме с двумя датчиками, выборку удобно делать когда открыты все нижние ключи, в центре периода. В момент когда ток идущий через них равен фазному, уже завершился переходный процесс переключения и ток пересекает свое среднее значение.


будет равен фазному , включая знак? т.е. и отрицательное значение тоже ?
1108
Цитата(@Ark @ Jun 23 2016, 21:00) *
Сервоприводы используют не только в станках... Обычно (часто) такой режим бывает при старте двигателя.
Кратковременная пусковая мощность может многократно превышать максимальную рабочую (долговременную).

Интересные выкладки.
"Пусковая мощность" это применительно старт с нулевой скорости.
Но корректнее на мой взгляд это пусковой момент.

Так как номинальная рабочая мощность при номинальных оборотах на много больше
пусковой мощности.
Pдв=M*w*k;
Из этой формулы можно оценить мощность при пуске и номинальных оборотах.

"Кратковременная пусковая мощность может многократно превышать максимальную рабочую (долговременную)."
Не корректное заявление, на мой взгляд.
Herz
Цитата(1108 @ Jun 27 2016, 13:44) *
"Кратковременная пусковая мощность может многократно превышать максимальную рабочую (долговременную)."
Не корректное заявление, на мой взгляд.

Осмелюсь спросить: нет ли здесь путаницы между мощностью двигателя и мощностью, развиваемой сервоприводом в начальный момент?
@Ark
Цитата(1108 @ Jun 27 2016, 14:44) *
...
"Кратковременная пусковая мощность может многократно превышать максимальную рабочую (долговременную)."
Не корректное заявление, на мой взгляд.

Много чего не учли в своих рассуждениях..
То, что двигатель обычно крутится не сам по себе, а является часть некоторого механизма. Силы трения в этом механизме от скорости могут зависеть весьма не простым образом. А при малых скоростях, и, особенно, при нулевой скорости, они имеют далеко не минимальное значение...
То, что двигатель (механизм) нужно еще разогнать до номинальных оборотов, затратив определенную энергию. И лишь потом их поддерживать...
То, что показывает нам повседневный опыт, наконец. Измерьте, ради интереса, сколько энергии потребляет при старте, например, ваш холодильник, пылесос, дрель. И сколько - в установившемся режиме. Можете взять практически любой механизм. Не важно, какой тип двигателя там стоит...
amaora
Цитата(Lomax @ Jun 27 2016, 12:14) *
...
вот у них когда все ключи нижние включены , на всех фазах одинаковый потенциал, нарисован нулевой ток, хотя по идее при индуктивной нагрузки он должен быть не нулевым

У них написано DC link current, там будет нулевой, правильно. Через источник ток в этом случае не идет, замыкается через нижние (по картинке скорее верхние, но здесь разница не важна) ключи. В статье наверно используют метод одного шунта между мостом и источником.
Цитата
будет равен фазному , включая знак? т.е. и отрицательное значение тоже ?

Да. Нарисовав схему моста на бумажке, и мысленно переключая ключи в соответствии со схемой ШИМ, можно легко понять пути протекания тока в каждый момент.
TSerg
Обычная проблема - разговор уходит в схемотехнику, а не в физику, энергетику, динамику.
Lomax
Цитата(amaora @ Jun 27 2016, 16:32) *
У них написано DC link current, там будет нулевой, правильно. Через источник ток в этом случае не идет, замыкается через нижние (по картинке скорее верхние, но здесь разница не важна) ключи. В статье наверно используют метод одного шунта между мостом и источником.

Точно, от источника в этот момент тока нет
Цитата
Да.

Думаю не совсем так, скорее ток будет равен фазному только в момент когда нижние ключи замкнуты, причем все ключи, верно?
Цитата
Нарисовав схему моста на бумажке, и мысленно переключая ключи в соответствии со схемой ШИМ, можно легко понять пути протекания тока в каждый момент.

Легко это для вас, для меня пока не шибко легко sm.gif
Спасибо что не оставили без внимания

Насчет максимальной мощности, я правильно понимаю что если у меня двигатель 200вт, то я могу кратковременно в него загнать 1квт ? sm.gif и единственное ограничение (в двигателе) это перегрев?
Цитата(TSerg @ Jun 28 2016, 00:02) *
Обычная проблема - разговор уходит в схемотехнику, а не в физику, энергетику, динамику.

Почему проблема?
в куче источников приведено куча теории, но почему то старательно обходят простые вопросы по схемотехнике , к примеру то-же измерение тока обычно вообще никак не оговорено,наверно считают что этому не стоит уделать внимание, хотя от этого сильно зависит результат
oleg_d
Цитата(Lomax @ Jun 28 2016, 12:30) *
Насчет максимальной мощности, я правильно понимаю что если у меня двигатель 200вт, то я могу кратковременно в него загнать 1квт ? sm.gif и единственное ограничение (в двигателе) это перегрев?

Не только, еще могут быть механические поломки, и как я уже писал, размагничивание.
khach
Цитата(Lomax @ Jun 28 2016, 11:30) *
Насчет максимальной мощности, я правильно понимаю что если у меня двигатель 200вт, то я могу кратковременно в него загнать 1квт ? sm.gif и единственное ограничение (в двигателе) это перегрев?

Нет. все зависит от конструкции двигателя. Некоторые специальные позволяют и 10-20 кратные перегрузки кратковременные. Ограничения не только тепловые ( при этом они разные для обмоток и железа) но и механика, нелинейность в метриале магнитопровода, перегрев постоянных магнитов итд.
Коллеги, кто может привести пример КРАСИВОЙ программной реализации контура тока в петле управления на микропроцессоре? Чтобы было чему поучится.
amaora
Цитата(Lomax @ Jun 28 2016, 12:30) *
Думаю не совсем так, скорее ток будет равен фазному только в момент когда нижние ключи замкнуты, причем все ключи, верно?

На каких собираетесь делать измерение тока, те и должны быть открыты. Каждый полумост (пара ключей, верх и низ, на одной из фаз) проводит ток либо через верхний ключ, либо через нижний, и этот ток через открытый ключ равен фазному, независимо от состояния ключей других фаз.

На верху обычно высокое напряжение не способствует простоте схемотехники, сигнал с шунта проще усилить когда шунт на земле. А если датчики изолированные, не шунты, то наверно нет причин не поставить их непосредственно на выход моста.

Чтобы получить вектор тока достаточно двух датчиков. Но это не значит, что не существует причин для измерения тока во всех фазах или хотя бы наличия датчиков на всех из них.

Цитата
Коллеги, кто может привести пример КРАСИВОЙ программной реализации контура тока в петле управления на микропроцессоре? Чтобы было чему поучится.

Не учитель, но у меня к своему контуру тока пока претензий нет, код. Работает на частоте ШИМ, без прореживания.

Хотя нет, там плохо продумано ограничение мощности.
TSerg
И опять все свелось к битам и байтам.. Печально.
khach
Цитата(amaora @ Jun 28 2016, 19:08) *
Не учитель, но у меня к своему контуру тока пока претензий нет, код. Работает на частоте ШИМ, без прореживания.

Спасибо за код . Это на каждый тик таймера вызывается в прерывании? С флоатами (математика с плавающей точкой)? И до какой частоты ШИМ успевает?

Цитата(TSerg)
Обычная проблема - разговор уходит в схемотехнику, а не в физику, энергетику, динамику.

Цитата(TSerg)
И опять все свелось к битам и байтам.. Печально.

Так к схемотехнике или к битам печально?
Физику железа мотора можно тоже обсуждать, но обычно ее просто приходится обмерять как данность. А для обмера и нужна схемотехника датчиков. А биты и байты определяют, как ее лучше оцифровать
AlexandrY
Цитата(amaora @ Jun 28 2016, 20:08) *
Не учитель, но у меня к своему контуру тока пока претензий нет, код. Работает на частоте ШИМ, без прореживания.


Похоже на фейк
Частота ШИМ выставлена 60 КГц.
Вся обработка фидбэка идет по прерыванию ADC запускаемому синхронно от таймера ШИМ т.е. с периодом 16 мкс!
И все на плавающей точке! Что уже не реально.

Но событие инициализирующее ADC в таймере 1 от 4-го канала не включено. Т.е. ADC в программе не работает.
Но даже если б и работало, то синхронность с коммутацией ШИМ-а вызвало бы только измерение шума.
khach
amaora, проект phobia интересный, но есть много вопросов. Наверно стоило бы обсудить в отдельной ветке. Где лучше- тут на форуме или на http://forum.easyelectronics.ru/viewtopic....=17&t=24580 где уже есть ветка по теме, но что то малоактивная.
Большая просьба- в исходники добавить комментарии хотя бы с описанием что функция делает, а то имена функций и переменных слишком лаконичны.
Особенно инересно наличие зачатков CAN в проекте- у меня одна из нерешенных задач - наблюдение за состоянием контура тока ( переходных процессов) по CAN. Поскольку контур быстрый, то простое вычитывание переменных по словарю бессмысленно. Надо по триггеру сгружать кусок истории петли тока в массив в памяти проца, а потом этом массив вычитывать по CAN и в оффлайне разбираться. Философия такого дебага была описана в http://motorcontrol.ru/production/soft/vec...debug_software/ но хотелось бы найти реализацию в виде исходного кода.
AlexandrY
Цитата(khach @ Jun 29 2016, 12:18) *
Философия такого дебага была описана в http://motorcontrol.ru/production/soft/vec...debug_software/ но хотелось бы найти реализацию в виде исходного кода.


Нашли у кого читать.
Этот деятель из ООО «НПФ Вектор» носится по всем инетам со свое статейкой о методах отладки и пиаром своей программы.
Между тем не знает о существовании элементарного SWO и риалтайм логирования в IAR-е или Keil-е.
khach
Цитата(AlexandrY @ Jun 29 2016, 11:36) *
Между тем не знает о существовании элементарного SWO и риалтайм логирования в IAR-е или Keil-е.

Ну иногда отсутствие знаний это в плюс, а то зная от риалтайм отладке и SWO, нормально отлаживать получалось только с J-Trace по параллельному отладочному порту (да еще с развязкой гальванической). Вот только в новых кортексах сей порт исчез. Да и раньше ножек было жалко.
А так было показано альтернативное решение, и даже доказано, что оно работает и полезно. Никто не заставляет покупать у него программу. А концепт мне нравится. Например, для удобной отладки всегда ставлю три датчика тока по всем фазам, хотя потом можно обойтись двумя. Или в сенсорлессе все равно предусмотренны входы для фазных датчиков тока, но они используются только на этапе отладки с внешними LEM. А батарею осциллографов с внешним запуском на 8-16 каналов просьба не советовать- уже проходили...
amaora
Цитата(khach @ Jun 29 2016, 01:09) *
Спасибо за код . Это на каждый тик таймера вызывается в прерывании? С флоатами (математика с плавающей точкой)? И до какой частоты ШИМ успевает?

Да, на каждый, с плавающей точкой. Больше 60кГц не пробовал, драйверы затворов уже и так теплые.
Цитата
Похоже на фейк
Частота ШИМ выставлена 60 КГц.
Вся обработка фидбэка идет по прерыванию ADC запускаемому синхронно от таймера ШИМ т.е. с периодом 16 мкс!
И все на плавающей точке! Что уже не реально.

Успевает посчитаться за ~50% этого периода.
Цитата
Наверно стоило бы обсудить в отдельной ветке. Где лучше- тут на форуме или на http://forum.easyelectronics.ru/viewtopic....=17&t=24580 где уже есть ветка по теме, но что то малоактивная.

Везде заглохнет, если хотите создавайте тему здесь.
Цитата
Большая просьба- в исходники добавить комментарии хотя бы с описанием что функция делает, а то имена функций и переменных слишком лаконичны.

На документацию пока времени нет. А если начну переходить на freertos то долго еще не будет.
Цитата
Особенно инересно наличие зачатков CAN в проекте- у меня одна из нерешенных задач - наблюдение за состоянием контура тока ( переходных процессов) по CAN. Поскольку контур быстрый, то простое вычитывание переменных по словарю бессмысленно. Надо по триггеру сгружать кусок истории петли тока в массив в памяти проца, а потом этом массив вычитывать по CAN и в оффлайне разбираться.

Я через usart не спеша вывожу, можно кусок на высокой частоте захватить, можно на низкой "живые" данные смотреть. Сейчас все делается только через командный интерфейс по usart.

Дальше не стоит наверно так далеко от темы уходить.
dpss
Цитата(khach @ Jun 29 2016, 12:55) *
всегда ставлю три датчика тока по всем фазам, хотя потом можно обойтись двумя..
Три датчика тока позволяют увидеть не штатную ситуацию. Например утечку с одной из обмоток мотора на заземленный корпус.
khach
Коллеги, кто может лопатологически обьяснить методы реализации управления сервоприводами
Код
Cyclic Synchronous Position
Cyclic Synchronous Velocity
Cyclic Synchronous Torque

Все это реализуется в одном и том же приводе, при этом видны стандартные индексы словарей CiA402
Cyclic Synchronous Torque обычно возможен только при управлении через эзернет (EtherCAT), т.к у CANOpen не хватает быстродействия.
Cyclic Synchronous Velocity находится на границе между EtherCAT и CANOpen, т.е у некоторых сервоконтроллеров может быть реализован и по CAN.
Кто-нибудь использовал в своих контроллерах полный CiA402 или его подмножество?

khach
EtherCAT вроде хорошее решение, но было очень неприятно событие- на подвижной оси фрезерного станка с контроллером EtherCAT перетерло провода (витая пара намного легче повреждается чем обычный кабель). После этого- или контроллер с полным дублем интерфейса, т.е два разьема Ethernet, или ну его. Контроллеров с двойным Ethernet интерфейсом как то не наблюдается в нижнем ценовом диапазоне.
Хотя на принципы управления EtherCAT или CANOpen не сильно влияет- словарь то одинаковый. Конечно, если интерфейс успевает.
oleg_d
Возник интересный вопрос- ваш контроллер позволяет работать паре контроллеров в режиме электронного дифференциала? Т.е на каждую полуось- отдельный контроллер и отдельный мотор? Можно ли реализовать выравнивание моментов (вернее тяговых усилий) при прохождении виража в соответствии с датчиком центробежных ускорений или датчиков деформации подвески?
PS. Вопрос ко всем- кто нибудь сталкивался на практике с jerk servo loop, т.е с контуром управления по первой производной момента?
oleg_d
Цитата(khach @ Jul 3 2016, 22:22) *
oleg_d
Возник интересный вопрос- ваш контроллер позволяет работать паре контроллеров в режиме электронного дифференциала? Т.е на каждую полуось- отдельный контроллер и отдельный мотор? Можно ли реализовать выравнивание моментов (вернее тяговых усилий) при прохождении виража в соответствии с датчиком центробежных ускорений или датчиков деформации подвески?

Если Вы говорите о векторном управлении тягой, да это возможно, правда волчья яма поджидает на каждом шагу. Что касается имитации дифференциалов (в том числе полного привода) то тут все просто.
khach
Цитата(oleg_d @ Jul 8 2016, 13:51) *
Что касается имитации дифференциалов (в том числе полного привода) то тут все просто.

А можно по подробнее?
Потому что из статей типа
https://hal.archives-ouvertes.fr/hal-00578429/document
http://journals.tubitak.gov.tr/elektrik/is...-1-2-0801-1.pdf
простота совсем не очевидна. А стабильность транспортного средства при подпрыгивании подвески на неровностях дороги- вообще темный вопрос.
Я в этой теме вообще не разбираюсь, просто знакомые начали выбирать электропривод для нового проекта и спрашивают возможно ли это вообще и как реализовать контур управления электронного дифференциала.
Т.е требуется ли внешний контроллер, или контроллеры привода умеют сами взаимодействовать в режиме ведущий-ведомый.

oleg_d
Наш контроллер умеет делать все что надо автомобилю, но это скорее исключение, подробнее позже вечером.
zltigo
QUOTE (khach @ Jul 8 2016, 16:00) *
Потому что из статей типа

Для начала Вашим друзьям следует определиться с типом двигателя. Те же статьи о двух разных двигателях. Про асинхронники статью особо не читал, но с синхронными студенты написавшие статью явно перемудрили sad.gif. По любому у привода уже без всяких дополнительных fuzzy контроллеров дифференциалов обязаны быть и есть управление/поддержка момента и оборотов.
oleg_d
Цитата(khach @ Jul 8 2016, 16:00) *
А можно по подробнее?
простота совсем не очевидна.

Если у Вас отдельный привод на каждое колесо, то до тех пор пока не одно колесо не буксует, всем командуете одинаковый крутящий момент, если колеса начинают буксовать, то командуете так чтоб не одно колесо не раскручивалось скажем на десять процентов больше самого медленного. Самый простой и надежный вариант.
zltigo
QUOTE (oleg_d @ Jul 9 2016, 01:37) *
Если у Вас отдельный привод на каждое колесо, то до тех пор пока не одно колесо не буксует, всем командуете одинаковый крутящий момент, если колеса начинают буксовать, то командуете так чтоб не одно колесо не раскручивалось скажем на десять процентов больше самого медленного. Самый простой и надежный вариант.

При этом это уже будет не простой свободный дифференциал, а уже в чем то самоблокирующийся sm.gif. Другое дело, что при приводе на каждое колесо главного эффекта, как от реального дифференциала не будет никогда, поскольку мощность двигателей между колесами НЕ перекидыватся, а только ОГРАНИЧИВАЕТСЯ на одном из колес.
khach
Цитата(oleg_d @ Jul 9 2016, 00:37) *
если колеса начинают буксовать, то командуете так чтоб не одно колесо не раскручивалось скажем на десять процентов больше самого медленного.

Не пойдет- в этом случае буксующее колесо продолжит палить резину. Там очень нелинейное поведение, особенно если после проскальзывания началось горение резины в тонком слое. На самом деле с пробуксовокой в прямолинейном движении справится можно, а вот с пробусковокй в вираже- пока непонятно как. Тем более алгоритм должен правильно взаимодействовать с водителем (быть удобным для водителя) котоырй привык ловить машину в заносе на обычном приводе. Про финты типа полицейского разворота вообще молчу. Как я говорил, я в механике сцепления с дорогой не очень разбираюсь, спецы спрашивали про контроллер где все им необходимые параметры можно получать с контроллеров тяговых двигателей в риалтайме и была бы возможность влезть в любую точку сервоциклов, как параметрами feedforward, так и возможностью подстроить сами сервопетли. Ну и чтение скорости, ускорения, тока итд.
Т.е скорее всего им нужен Cyclic Synchronous Torque по Ethercat, если контроллер не особо умный, или полный доступ к параметрам сервоциклов по словарю CiA402 или подобному.
Или вот такой режим- два контроллера, в одном происходит авария-пробой силового транзистора. Конечно, срабатывают защиты по питанию. Но при пробитом транзисторе двигатель создает сильный тормозной момент. Так второй контроллер (исправный) должен отрабатывать такой же момент сам в процесс аварийного торможения, чтобы автомобиль на перевернуло. Слабо представляю, какие контроллеры это умеют.
zltigo
QUOTE (khach @ Jul 9 2016, 14:04) *
Не пойдет- в этом случае буксующее колесо продолжит палить резину.

Есть два пути. Первый обычно-привычный в котором, ДА, как и с привычным механическим свободным и/или самомблокируемым дифференциалом будет где-то что-то пробусовывать и палится. Но при этом будет достаточно ПРИВЫЧНОЕ поведение машины. Второй какой-то супер-пупер привод с непривычнным поведенением эмулятора дифференциала, который на самом деле будет очень странным и более того, иметь, как уже писал, врожденный недостаток из за того, что мощность на каждом из колес/осей ограничена мощностью двигателя этого колеса/оси а не суммарной мощностью двгателя автомобиля. Я понимаю, что для абстактой, например, блондинки, управляющей автомобилем действительно хочется формально поддерживать электроникой не допуская пробуксовок (точнее удерживая пробуксовку на каком то уровне зависящем от 100 и 1 фактора ) и все будет "хорошо". Хорошо до того момента, как электроника НЕ сможет поддерживать сие счастье и поведение машины резко изменися.
Так что для начала следует разделить понятия эмуляции дифференциала, c чем проблем явных нет вообще и РАЗРАБОТКУ некоего супер-пупер привода для которого функции дифференциала в его класическом виде это только она из частных задач.
oleg_d
QUOTE (zltigo @ Jul 9 2016, 13:37) *
При этом это уже будет не простой свободный дифференциал, а уже в чем то самоблокирующийся sm.gif. Другое дело, что при приводе на каждое колесо главного эффекта, как от реального дифференциала не будет никогда, поскольку мощность двигателей между колесами НЕ перекидыватся, а только ОГРАНИЧИВАЕТСЯ на одном из колес.

Все правильно, по этому, и в виду необходимости как можно больше все массы стянуть к центру автомобиля, мы применяем самоблокирующийеся дифференциалы, на обоих мостах.

Цитата(khach @ Jul 9 2016, 14:04) *
На самом деле с пробуксовокой в прямолинейном движении справится можно, а вот с пробусковокй в вираже- пока непонятно как. Тем более алгоритм должен правильно взаимодействовать с водителем (быть удобным для водителя) котоырй привык ловить машину в заносе на обычном приводе. Про финты типа полицейского разворота вообще молчу.

Как уже писал zltigo, для начала надо расставить приоритеты.
Цитата
Или вот такой режим- два контроллера, в одном происходит авария-пробой силового транзистора. Конечно, срабатывают защиты по питанию. Но при пробитом транзисторе двигатель создает сильный тормозной момент. Так второй контроллер (исправный) должен отрабатывать такой же момент сам в процесс аварийного торможения, чтобы автомобиль на перевернуло. Слабо представляю, какие контроллеры это умеют.

Вероятность такого происшествия, при соответствующем исполнении, такая же как у заклинивания подшипника колеса, и что делать с этим.
zltigo
QUOTE (khach @ Jul 9 2016, 14:04) *
Но при пробитом транзисторе двигатель создает сильный тормозной момент. Так второй контроллер (исправный) должен отрабатывать такой же момент сам в процесс аварийного торможения, чтобы автомобиль на перевернуло. Слабо представляю, какие контроллеры это умеют.

Для борьбы с эффектами подобному этому (когда одна из систем выходит из строя) надо использовать И другие системы автомобиля. Например, раздельное управление тормозами каждого из колес БЕЗ участия человека, есть уже давно достаточно обыденная функция. Используется для реализации разнообразных функций, включая, естественно и всякие Electronic stability control и иже с ним. Так что по независимым от каналов привода каналам должна будет получена информация и о блокировке колеса, и о последствиях ввиде возникшего заноса от акселерометров. После чего будет и команда на сброс мощности и на подтормаживание соответствующих колес. Обойтись БЕЗ дублирующих систем обеспечивающих безопасность нельзя.
khach
Вернемся к нашим баранам,вернее контурам. Вопрос- двигатель щеточный ДС, когда то был тахогенератор для контура скорости. Тахогенератор помер. Заменили на инкрементальный энкодер и вычисляли скорость как длительность тика энкодера. Сервосистема в режиме удержания начала подвозбуждаться.
Как можно модифицировать алгоритм обработки сигнала экодера для получения стабильного удержания позиции?
Что то типа http://www.diegm.uniud.it/petrella/Azionam...%20Analysis.pdf применить или перейти на SIN/COS энкодер и завести аналоговые сигналы на АЦП как тут
http://www.ti.com/lit/ug/tidua05a/tidua05a.pdf
PS. контур позиции энкодер не использует, есть внешние оптические линейки на осях.
PS2. двухтаймерная обработка энкодера http://www.nxp.com/files/microcontrollers/...mp;fileExt=.pdf
надо будет попробовать.
somebody111
Цитата
подвозбуждаться

Что имеется ввиду? .Плохо держит задание 0? Если да, то варианты:
1. Увеличить число импульсов на оборот энкодера
2. Мерить ширину не между двумя, а между 4,8,...импульсами. Это тоже может помочь.
3. Делать программно резольвер -не самая лучшая затея, потому что наблюдатель, который будет уже скорость восстанавливать, очень чувствителен к шагу дискретизации. Если у вас там конечно не сигнальный процессор. Я это делал в живую...проще сделать наблюдатель на постоянник вообще весь, чем отдельно на датчик скорости.Я не помню какая там оказалась нужна частота дискретизации, но мне пришлось под это дело выделять отдельный процессор и по i2c передавать.
4. Оборвать к фигам энкодер и сделать тупую дубовую о.с. по напряжению с небольшой положительной о.с. по току в контур напряжения
5. Если вообще все плохо и не помогает, то нужно оставить все как есть, но делать наблюдатель постоянника с 3 входами (напряжение, ток скорость) и 1 выходом (адаптированная скорость). Это 100% рабочий вариант буквально с каменным удержанием в нуле и самым хреновым энкодером
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.