MotorControlDemo

Аватара пользователя
Лашкевич Максим
Сообщения: 319
Зарегистрирован: 30 дек 2015, 10:38

Re: MotorControlDemo

Сообщение Лашкевич Максим » 03 дек 2021, 15:05

Также про КЗ непонятно. Что то такое 2.5В и 0.03А? Подайте 5А... Это точно КЗ, а не источник питания в защиту ушел?
С уважением,
Лашкевич Максим.
skype: maxlashk
Инженер-программист ООО "НПФ Вектор", Москва.

Анатолий!
Сообщения: 4
Зарегистрирован: 11 июн 2019, 10:16

Re: MotorControlDemo

Сообщение Анатолий! » 21 мар 2022, 13:04

Добрый день, Максим.
Разрабатываю контроллер на базе МК К1921ВК01Т1 и MotorControlDemo.
Столкнулся проблемой: при остановке двигателя, ток фазы А возрастает (пример на рисунке) и срабатывает защита по току.
Открытие нижних ключей при останове не помогло.
Что порекомендуете?
Вложения
Токи_33.jpg
Токи_33.jpg (165.89 КБ) 941 просмотр
Токи_11.jpg
Токи_11.jpg (167.49 КБ) 941 просмотр

Аватара пользователя
Лашкевич Максим
Сообщения: 319
Зарегистрирован: 30 дек 2015, 10:38

Re: MotorControlDemo

Сообщение Лашкевич Максим » 25 мар 2022, 15:34

Добрый день. Непонятно, какая аппаратная часть - какие датчики тока, инвертор и т.п. При отключении нельзя открывать никакие ключи. Нужно переводить ножки ШИМ в Z-состояние, а на плате резисторами должна быть выполнена подвязка так, чтобы все ключи закрылись. Проверьте, что у вас при отключении ШИМ выключаются все ключи.
С уважением,
Лашкевич Максим.
skype: maxlashk
Инженер-программист ООО "НПФ Вектор", Москва.

Георгий!
Сообщения: 11
Зарегистрирован: 07 сен 2021, 16:07

Re: MotorControlDemo

Сообщение Георгий! » 31 май 2022, 10:32

Добрый день!
Не могли бы Вы пояснить как средствами MotorControlDemo задавать амплитуду и частоту синусоидального сигнала по положению? В файле SM_Ctrl.c на 495й строке нашел фрагмент кода, но воспользоваться им полноценно не получается. Если с заданием частоты вопросов в целом нет, то вот как задавать и регулировать амплитуду непонятно.

Аватара пользователя
Лашкевич Максим
Сообщения: 319
Зарегистрирован: 30 дек 2015, 10:38

Re: MotorControlDemo

Сообщение Лашкевич Максим » 31 май 2022, 10:56

Георгий! писал(а):
31 май 2022, 10:32
Добрый день!
Не могли бы Вы пояснить как средствами MotorControlDemo задавать амплитуду и частоту синусоидального сигнала по положению? В файле SM_Ctrl.c на 495й строке нашел фрагмент кода, но воспользоваться им полноценно не получается. Если с заданием частоты вопросов в целом нет, то вот как задавать и регулировать амплитуду непонятно.
Добрый день.

Поясните, пожалуйста, под какой микроконтроллер проект? K1921ВК01Т?
И какую версию проекта вы используете - последнюю из репозитория с битбакета?

Если я правильно понимаю, речь идёт вот об этом куске кода:

Код: Выделить всё

      if (DebugW1!=0){//если какая-то скорость вращения задана
        p->AngleDemo+=(DebugW1>>10);//инкрементируем переменную
        if (p->AngleDemo>_IQ(2))//период равен 2, что в о.е. дает 360*2 градусов
          p->AngleDemo=0;

        //задание угла в контур положения
        //пусть будет синус от линейно увеличивающейся переменной, да еще и в 4 раза увеличим
        refs.theta_elec=_IQsinPU(p->AngleDemo)<<2;
      }

тут DebugW1 задаёт скорость вращения угла, т.е. частоту, а сдвиг на 2 в строке

Код: Выделить всё

refs.theta_elec=_IQsinPU(p->AngleDemo)<<2;
задаёт амплитуду. Можете просто умножить на число, сдвиг сделан для ускорения вычислений.
И вообще рекомендую переписать этот код на нормальный. Это "демо", сделанное на коленке.
С уважением,
Лашкевич Максим.
skype: maxlashk
Инженер-программист ООО "НПФ Вектор", Москва.

Георгий!
Сообщения: 11
Зарегистрирован: 07 сен 2021, 16:07

Re: MotorControlDemo

Сообщение Георгий! » 31 май 2022, 11:24

Верно: микроконтроллер ...ВК01Т и код Вы указали тот, по которому и были вопросы.
Положение получается, судя по переменной в относительных единицах и в электрических углах?
Последний раз редактировалось Георгий! 31 май 2022, 12:01, всего редактировалось 2 раза.

Аватара пользователя
Лашкевич Максим
Сообщения: 319
Зарегистрирован: 30 дек 2015, 10:38

Re: MotorControlDemo

Сообщение Лашкевич Максим » 31 май 2022, 11:59

в относительных единицах и в электрических углах?
да, так должно быть.
С уважением,
Лашкевич Максим.
skype: maxlashk
Инженер-программист ООО "НПФ Вектор", Москва.

Георгий!
Сообщения: 11
Зарегистрирован: 07 сен 2021, 16:07

Re: MotorControlDemo

Сообщение Георгий! » 31 май 2022, 12:02

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

Аватара пользователя
Лашкевич Максим
Сообщения: 319
Зарегистрирован: 30 дек 2015, 10:38

Re: MotorControlDemo

Сообщение Лашкевич Максим » 31 май 2022, 12:14

Ну задаваемая в юниконе скорость, если вы посмотрите код, идёт на ограничение выхода ПИД регулятора положения. Если что-то не отрабатывается, вам надо пройти по всем контурам - тока, скорости, положения, и проверить, какой из регуляторов упирается в ограничение, в какое ограничение, откуда оно берётся и т.п. Может не хватать напряжения ЗПТ, может упираться в ограничение скорости, в ограничение тока, может не хватать жесткости регуляторов, может неверно формироваться задание на положение... Вам нужна полноценная отладка по всем контурам с вниканием в суть процессов. Надо снимать осциллограммы в юниконе, примерно как показано в нашей статье на хабре.
Если самостоятельно найти проблему не получится за день, то публикуйте подробный отчет об исследованиях с осциллограммами по всем контурам, будем вместе разбираться.
С уважением,
Лашкевич Максим.
skype: maxlashk
Инженер-программист ООО "НПФ Вектор", Москва.

Георгий!
Сообщения: 11
Зарегистрирован: 07 сен 2021, 16:07

Re: MotorControlDemo

Сообщение Георгий! » 31 май 2022, 13:54

Спасибо за ответ. Попробую перенастроить регуляторы.

Ответить