Перейти к содержанию
    

Контур тока (момента) при управление двигателем

Коллеги, кто может лопатологически обьяснить методы реализации управления сервоприводами

Cyclic Synchronous Position
Cyclic Synchronous Velocity
Cyclic Synchronous Torque

Все это реализуется в одном и том же приводе, при этом видны стандартные индексы словарей CiA402

Cyclic Synchronous Torque обычно возможен только при управлении через эзернет (EtherCAT), т.к у CANOpen не хватает быстродействия.

Cyclic Synchronous Velocity находится на границе между EtherCAT и CANOpen, т.е у некоторых сервоконтроллеров может быть реализован и по CAN.

Кто-нибудь использовал в своих контроллерах полный CiA402 или его подмножество?

 

post-1741-1467560007_thumb.jpg

post-1741-1467560023_thumb.jpg

post-1741-1467560043_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Хотя на принципы управления EtherCAT или CANOpen не сильно влияет- словарь то одинаковый. Конечно, если интерфейс успевает.

oleg_d

Возник интересный вопрос- ваш контроллер позволяет работать паре контроллеров в режиме электронного дифференциала? Т.е на каждую полуось- отдельный контроллер и отдельный мотор? Можно ли реализовать выравнивание моментов (вернее тяговых усилий) при прохождении виража в соответствии с датчиком центробежных ускорений или датчиков деформации подвески?

PS. Вопрос ко всем- кто нибудь сталкивался на практике с jerk servo loop, т.е с контуром управления по первой производной момента?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

oleg_d

Возник интересный вопрос- ваш контроллер позволяет работать паре контроллеров в режиме электронного дифференциала? Т.е на каждую полуось- отдельный контроллер и отдельный мотор? Можно ли реализовать выравнивание моментов (вернее тяговых усилий) при прохождении виража в соответствии с датчиком центробежных ускорений или датчиков деформации подвески?

Если Вы говорите о векторном управлении тягой, да это возможно, правда волчья яма поджидает на каждом шагу. Что касается имитации дифференциалов (в том числе полного привода) то тут все просто.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что касается имитации дифференциалов (в том числе полного привода) то тут все просто.

А можно по подробнее?

Потому что из статей типа

https://hal.archives-ouvertes.fr/hal-00578429/document

http://journals.tubitak.gov.tr/elektrik/is...-1-2-0801-1.pdf

простота совсем не очевидна. А стабильность транспортного средства при подпрыгивании подвески на неровностях дороги- вообще темный вопрос.

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

Т.е требуется ли внешний контроллер, или контроллеры привода умеют сами взаимодействовать в режиме ведущий-ведомый.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Наш контроллер умеет делать все что надо автомобилю, но это скорее исключение, подробнее позже вечером.

Изменено пользователем Herz
Избыточное цитирование

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Потому что из статей типа

Для начала Вашим друзьям следует определиться с типом двигателя. Те же статьи о двух разных двигателях. Про асинхронники статью особо не читал, но с синхронными студенты написавшие статью явно перемудрили :(. По любому у привода уже без всяких дополнительных fuzzy контроллеров дифференциалов обязаны быть и есть управление/поддержка момента и оборотов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А можно по подробнее?

простота совсем не очевидна.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

При этом это уже будет не простой свободный дифференциал, а уже в чем то самоблокирующийся :). Другое дело, что при приводе на каждое колесо главного эффекта, как от реального дифференциала не будет никогда, поскольку мощность двигателей между колесами НЕ перекидыватся, а только ОГРАНИЧИВАЕТСЯ на одном из колес.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

если колеса начинают буксовать, то командуете так чтоб не одно колесо не раскручивалось скажем на десять процентов больше самого медленного.

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

Т.е скорее всего им нужен Cyclic Synchronous Torque по Ethercat, если контроллер не особо умный, или полный доступ к параметрам сервоциклов по словарю CiA402 или подобному.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не пойдет- в этом случае буксующее колесо продолжит палить резину.

Есть два пути. Первый обычно-привычный в котором, ДА, как и с привычным механическим свободным и/или самомблокируемым дифференциалом будет где-то что-то пробусовывать и палится. Но при этом будет достаточно ПРИВЫЧНОЕ поведение машины. Второй какой-то супер-пупер привод с непривычнным поведенением эмулятора дифференциала, который на самом деле будет очень странным и более того, иметь, как уже писал, врожденный недостаток из за того, что мощность на каждом из колес/осей ограничена мощностью двигателя этого колеса/оси а не суммарной мощностью двгателя автомобиля. Я понимаю, что для абстактой, например, блондинки, управляющей автомобилем действительно хочется формально поддерживать электроникой не допуская пробуксовок (точнее удерживая пробуксовку на каком то уровне зависящем от 100 и 1 фактора ) и все будет "хорошо". Хорошо до того момента, как электроника НЕ сможет поддерживать сие счастье и поведение машины резко изменися.

Так что для начала следует разделить понятия эмуляции дифференциала, c чем проблем явных нет вообще и РАЗРАБОТКУ некоего супер-пупер привода для которого функции дифференциала в его класическом виде это только она из частных задач.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

При этом это уже будет не простой свободный дифференциал, а уже в чем то самоблокирующийся :). Другое дело, что при приводе на каждое колесо главного эффекта, как от реального дифференциала не будет никогда, поскольку мощность двигателей между колесами НЕ перекидыватся, а только ОГРАНИЧИВАЕТСЯ на одном из колес.

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

 

На самом деле с пробуксовокой в прямолинейном движении справится можно, а вот с пробусковокй в вираже- пока непонятно как. Тем более алгоритм должен правильно взаимодействовать с водителем (быть удобным для водителя) котоырй привык ловить машину в заносе на обычном приводе. Про финты типа полицейского разворота вообще молчу.

Как уже писал zltigo, для начала надо расставить приоритеты.

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

Вероятность такого происшествия, при соответствующем исполнении, такая же как у заклинивания подшипника колеса, и что делать с этим.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Для борьбы с эффектами подобному этому (когда одна из систем выходит из строя) надо использовать И другие системы автомобиля. Например, раздельное управление тормозами каждого из колес БЕЗ участия человека, есть уже давно достаточно обыденная функция. Используется для реализации разнообразных функций, включая, естественно и всякие Electronic stability control и иже с ним. Так что по независимым от каналов привода каналам должна будет получена информация и о блокировке колеса, и о последствиях ввиде возникшего заноса от акселерометров. После чего будет и команда на сброс мощности и на подтормаживание соответствующих колес. Обойтись БЕЗ дублирующих систем обеспечивающих безопасность нельзя.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вернемся к нашим баранам,вернее контурам. Вопрос- двигатель щеточный ДС, когда то был тахогенератор для контура скорости. Тахогенератор помер. Заменили на инкрементальный энкодер и вычисляли скорость как длительность тика энкодера. Сервосистема в режиме удержания начала подвозбуждаться.

Как можно модифицировать алгоритм обработки сигнала экодера для получения стабильного удержания позиции?

Что то типа 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

надо будет попробовать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

подвозбуждаться

Что имеется ввиду? .Плохо держит задание 0? Если да, то варианты:

1. Увеличить число импульсов на оборот энкодера

2. Мерить ширину не между двумя, а между 4,8,...импульсами. Это тоже может помочь.

3. Делать программно резольвер -не самая лучшая затея, потому что наблюдатель, который будет уже скорость восстанавливать, очень чувствителен к шагу дискретизации. Если у вас там конечно не сигнальный процессор. Я это делал в живую...проще сделать наблюдатель на постоянник вообще весь, чем отдельно на датчик скорости.Я не помню какая там оказалась нужна частота дискретизации, но мне пришлось под это дело выделять отдельный процессор и по i2c передавать.

4. Оборвать к фигам энкодер и сделать тупую дубовую о.с. по напряжению с небольшой положительной о.с. по току в контур напряжения

5. Если вообще все плохо и не помогает, то нужно оставить все как есть, но делать наблюдатель постоянника с 3 входами (напряжение, ток скорость) и 1 выходом (адаптированная скорость). Это 100% рабочий вариант буквально с каменным удержанием в нуле и самым хреновым энкодером

Изменено пользователем somebody111

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...