1. Вступление
Статья входит в цикл публикаций, посвящённых созданию системы управления (СУ) электроприводом рулевой поверхности (РП) малогабаритной ракеты на FPGA.
Целью данной статьи является краткое изложение процесса разработки математической модели (ММ) робототехнической системы, которая описывает как электромеханическую часть, так и алгоритм управления, реализованный в цифровом устройстве - FPGA (Altera Cyclone IV). Логика, реализованная в FPGA, будет описана в следующей части.
Краткое содержание статьи:
описание конструкции электропривода
создание ММ привода
экспериментальное определение некоторых параметров электродвигателя
анализ результатов математического моделирования
2. Техническое задание
Необходимо реализовать СУ для уже существующего привода (есть только конструкция), которая должна удовлетворять следующим требованиям по динамике, точности и устойчивости:
время переходного процесса при повороте вала привода на 30 градусов не должно превышать ;
перерегулирование не должно превышать 15% ;
статическая ошибка не должна превышать ;
частота среза при амплитуде входного сигнала ;
запас по фазе на частоте среза должен быть не меньше, чем .
3. Описание конструкции привода
Для создания ММ необходимо понять, что из себя представляет конструкция привода. Механическая часть (рисунок 1) состоит из следующих элементов: исполнительного двигателя (ИД), в качестве которого используется коллекторный электродвигатель постоянного тока – ДПР 62-Н4-01; пятиступенчатого цилиндрического редуктора, на предпоследней ступени которого расположен потенциометрический датчик обратной связи (ДОС).
Первоначально данная конструкция входила в состав испытательного стенда, поэтому на выходной вал привода была установлена муфта для последующего присоединения датчика момента. Демонтаж этой муфты не представлялся возможным: резьба, соединяющая её с приводом посажена на клей. В этой связи в ММ будет учтен момент инерции, создаваемый муфтой.
В состав приводной системы входит электронный блок, который состоит из цифрового устройства управления - FPGA, усилителя (плата-драйвер для электродвигателя) и внешнего АЦП.
4. Математическая модель привода
Математическая модель состоит из:
Редуктора
Электродвигателя
Потенциометра
АЦП
Вычислительного блока
Силовой платы
Помехи потенциометра
Уравнения, описывающие данную модель:
Данная ММ не учитывает:
шарнирный момент – момент нагрузки, создаваемый воздушным потоком и прикладываемый к РП. Он пропорционален углу поворота РП относительно продольной оси ракеты: чем угол, тем шарнирный момент;
момент вязкого трения – момент, который прикладывается к твёрдому телу при его движении в жидкой или газообразной среде;
момент сухого трения – момент от трения в подшипниках, трения между шестернями и т.д.;
люфт редуктора;
Так как в паспортных данных двигателя отсутствуют некоторые параметры, для ММ необходимо определить:
передаточное число редуктора
момент инерции редуктора и муфты
момент инерции ротора двигателя
сопротивление обмотки двигателя
индуктивность
коэффициент противо-ЭДС двигателя
коэффициент момента
Момент нагрузки определяется произведением ускорения выходного вала электродвигателя на приведённый к валу двигателя момент инерции нагрузки (второй закон Ньютона для вращательного движения):
Момент инерции нагрузки состоит из суммы моментов инерции редуктора, муфты и аэродинамического руля:
Так как испытания проводились без аэродинамического руля, его момент инерции равен нулю. Необходимо определить приведённый к валу электродвигателя момент инерции редуктора и муфты.
4. 1. Редуктор
Цилиндрический пятиступенчатый редуктор на промежуточных валах (валы № 2, 3, 4, 5 на рисунке 4) имеет по две шестерни. Это сделано с целью уменьшения люфта, габаритов редуктора и достижения необходимого момента на выходном валу привода.
Определим передаточное число редуктора, а также его суммарный момент инерции.
4. 1. 1. Передаточное число редуктора
Чтобы вычислить передаточное число всего редуктора, необходимо рассчитать передаточные числа между всеми ступенями и перемножить их:
Передаточное число между двумя последовательно соединёнными зубчатыми колёсами определяется соотношением:
где количество зубьев и угловая скорость каждого i-ого зубчатого колеса.
Представленная конструкция редуктора позволяет определять передаточные числа визуально путём подсчёта количества зубьев каждого зубчатого колеса.
4. 1. 2. Момент инерции редуктора и муфты
Для определения момента инерции редуктора, необходимо знать моменты инерции всех валов и зубчатых колёс в нём. Конструкция и размеры элементов редуктора известны. Так как они имеют форму диска, момент инерции будем определять по известной формуле (плотность стали примем равной – ):
Каждый промежуточный вал в редукторе включает в себя по два зубчатых колеса (б - большое, м - маленькое). При вычислении момента инерции самого вала длина равна: .
Вычисления моментов инерции промежуточных валов редуктора и выходного вала с посаженной на него муфтой представлены в таблице №2 (все размеры приняты в миллиметрах).
Зубчатое колесо на выходном валу имеет форму сектора окружности (рисунок 6). Это даёт возможность уменьшить массу привода, а также поставить физическое ограничение хода выходного вала привода. Для упрощения вычисления момента инерции, масса этого зубчатого колеса была поделена на 5, так как она занимает сектор окружности примерно в .
Чтобы привести распределённые моменты инерции всех элементов редуктора из таблицы №2 к одной оси вращения, необходимо электропривод свести к одномассовой системе с эквивалентным моментом инерции. Эквивалентная одномассовая система электропривода, имеющая момент инерции, вращается со скоростью электродвигателя . Приведение моментов инерции к одной оси вращения производится на основании принципа сохранения кинетической энергии исходной многомассовой системы с распределенными моментами инерции (рисунок 4) и одномассовой системы с эквивалентным моментом инерции:
разделим правую и левую части уравнения на , получим
С учётом (1) и рассчитанными значениями передаточных чисел между каждой ступенью редуктора (таблица 1) получим:
Момент инерции нагрузки, который состоит из момента инерции редуктора и муфты, прикреплённой к выходному валу, равен суммарному моменту инерции за вычетом момента инерции двигателя :
Таким образом, для ММ определены передаточное число редуктора и момент инерции нагрузки . На практике слагаемыми, которые относятся к моментам инерции промежуточных шестерён редуктора (в уравнении (2) ), пренебрегают, так как их величины малы по сравнению с моментом инерции объекта управления (например, аэродинамический руль).
4. 2. Электродвигатель
Динамика двигателя постоянного тока (ДПТ) описывается известной системой уравнений:
где угловая скорость ротора относительно статора, электромеханический момент,момент нагрузки, передаваемый со стороны редуктора (момент нагрузки, приведённый к валу двигателя). Применим к системе уравнений преобразование Лапласа:
Преобразуем
гдеэлектрическая постоянная времени якоря. Из полученной системы построим структурную схему в Simulink.
Для ММ следует определить такие параметры, как: сопротивление обмотки двигателя, индуктивность обмотки, момент инерции ротора, коэффициент противо-ЭДСи коэффициент момента, так как в паспортных данных они отсутствуют.
4. 2. 1. Сопротивление
Сопротивление обмотки якоря двигателя было измерено мультиметром:
4. 2. 2. Индуктивность
Индуктивность обмотки рассчитана по формуле:
где для быстроходных машин, для нормальных некомпенсированных машин, для компенсированных машин. Примем .
4. 2. 3. Момент инерции
Момент инерции ротора выбран по подобным двигателям, исходя из массо-габаритных характеристик:
4. 2. 4. Коэффициент противо-ЭДС
Коэффициент противо-ЭДС определён экспериментально по формуле:
Данная формула получается из уравнения (3) в установившемся режиме.
Эксперимент состоит в следующем:
-
датчик положения ротора (в данном случае потенциометр) через своеобразную муфту крепится к выходному валу двигателя так, как показано на рисунке 8.
на двигатель подаётся напряжение;
мультиметром измеряется ток в установившемся режиме;
-
зная время полного оборота потенциометра (данные с него передаются на ПК), определяется скорость вращения двигателя по формуле [рад/с]. На рисунке 9 показаны данные, считанные с потенциометра и переданные на ПК.
определяется коэффициент противо-ЭДС по формуле:
меняется напряжение и повторяются пункты 3 - 5.
Все вычисления сведены в таблицу 3:
Таким образом, среднее значение коэффициента противо-ЭДС .
При отрицательных напряжениях двигателя (вращение в другую сторону) данные будут идентичные. Построим регулировочную характеристику электродвигателя (рисунок 11).
Стоит отметить, что при малых напряжениях ротор двигателя вращаться не будет, так как всё напряжение падает на активном сопротивлении обмотки (появляется нелинейность в виде зоны нечувствительности). Ток в цепи очень мал и, следовательно, создаётся момент, недостаточный для преодоления сил трения в подшипниках и тд.
4. 2. 5. Коэффициент момента
Коэффициент момента определяется по формуле:
Однако в паспортных данных отсутствует пусковой ток. В двигателях постоянного тока обычно принимают коэффициент момента равным коэффициенту противо-ЭДС (доказано экспериментально), поэтому .
4. 3. Потенциометр
Потенциометр СП5-21Б-1 является многооборотным. Значит он преобразует входной угол в напряжение , где нулевому угловому положению соответствует нуль вольт напряжения.
Потенциометр расположен на предпоследней ступени редуктора (рисунок 4), поэтому зависимость поворота вала потенциометра от поворота выходного вала привода имеет вид:
Выходной вал привода поворачивается на , следовательно, максимальные углы поворота потенциометра:
Следует физически расположить потенциометр так, чтобы нулю градусам поворота выходного вала привода соответствовало , по двум причинам:
-
для исключения скачков напряжения от 0 В до 5 В при переходах вала потенциометра по наименьшему расстоянию от минимального сопротивления к максимальному и наоборот (движение от одной чёрной точки к другой на рисунке 13);
потенциометр совершает меньше одного оборотапри повороте выходного вала привода из минимального в максимальное положение.
Тогда формула для потенциометра примет вид:
где
Также необходимо перевести из радианной меры в градусную:
4. 4. Аналого-цифровой преобразователь
АЦП преобразует аналоговый сигнал в цифровой. MCP3201 имеет разрядность 12 бит, поэтому он имеет уровней квантования и описывается соотношением:
где опорное напряжение, которое задаёт диапазон оцифровываемых значений. В нашем случае . Например, для нейтрального положения выходного вала привода АЦП будет выдавать: .
4. 5. Вычислительный блок
Оцифрованные данные поступают в цифровое устройство (в нашем случае FPGA), в котором происходят такие ключевые действия, как:
фильтрация данных с потенциометра;
вычисление угла рассогласования между требуемым углом поворота привода и текущим;
корректировка сигнала рассогласования при помощи ПИ-регулятора;
формирование широтно-импульсного сигнала (ШИС) и вычисление сигнала направления вращения электродвигателя.
В модели вычислительного блока учтены задержка обработки данных с АЦП и задержка формирования ШИМ сигнала . Задержка АЦП равна период между выборками. Задержки определены при помощи HDL-моделирования по временным диаграммам (во время разработки алгоритма под FPGA для просмотра временных диаграмм сигналов использовалась программа GTKWave).
Перед фильтрацией оцифрованные данные с АЦП переводятся в знаковый вид:
где текущий угол поворота вала потенциометра в градусах. Индекс n говорит о том, что система цифровая.
4. 5. 1. Цифровой фильтр
Фильтрация данных с потенциометра происходит с помощью фильтра скользящего среднего. Он представляет собой сглаживающий фильтр с конечной импульсной характеристикой, который часто используется для сглаживания сигнала от кратковременных выбросов. Фильтрация скользящим средним выбрана по двум причинам:
простота программной реализации;
линейная фазо-частотная характеристика (постоянство времени запаздывания во всей полосе частот входных сигналов, время запаздывания зависит только от ширина окна).
В модели данный фильтр описывается соотношением:
где отфильтрованный сигнал, ширина окна фильтрации (количество отсчётов или количество предыдущих значений угла, участвующих в фильтрации). В нашем случае (почему выбрано именно такое значение, будет объяснено в следующей статье).
Период дискретизации фильтра, время обновления входного в фильтр значения, в математической модели выбрано, исходя из периода дискретизации АЦП: .
Фильтр с каждым новым отсчётом:
запоминает текущее значение и параллельно сдвигает предыдущие значение в следующие регистры памяти;
параллельно вычисляет сумму всехзначений на каждом такте моделирования;
делит сумму на ширину окна.
Каждый "массив памяти" представляет собой последовательно соединённые блоки задержки и блоки сумматоров:
Степень блока задержки указывает на то, что блок обновляет значение каждые , где множитель шаг моделирования в Simulink.
4. 5. 2. Вычисление угла рассогласования
Привод управляется по углу. Система управления работает по ошибке. Отфильтрованное значение текущего угла вычитается из требуемого угла поворота привода. Требуемый угол задаётся надсистемой (в нашем случае это блок управления ракетой).
Подразумевается, что это уже отфильтрованное значение угла поворота потенциометра, требуемое значение, приведённое к диапазону углов потенциометра:
4. 5. 3. ПИ-регулятор
Чтобы оптимизировать переходный процесс, увеличить быстродействие, а также точность системы применяются регуляторы, которые корректируют определённым образом полученный сигнал рассогласования. В программной реализации наиболее простым регулятором является ПИ-регулятор, он описывается соотношением:
Но это уравнение справедливо для непрерывных функций - аналоговых систем. Существует несколько реализаций цифровых ПИ-регуляторов [3], одна из них описывается системой уравнений:
где коэффициенты пропорциональной и интегральной составляющих регулятора соответственно, интегральная составляющая, выходное, отрегулированное значение угла рассогласования.
Шаг интегрирования . Это связано с форматом слова данных в программной реализации на FPGA. При вычислениях используется формат числа с фиксированной точкой. Всего в слове данных 16 бит, из них: 1 бит под знак, 8 бит под целую часть (так как это минимальное количество бит, позволяющее вместить весь диапазон отклонения вала потенциометра:), 7 бит под фиксированную часть. Минимальное число, которое можно представить при таком формате, в десятичной системе счисления:
Однако, этот показатель можно улучшить, в месте умножения увеличить ширину фиксированной части умножаемых чисел.
Выходное значение ПИ-регулятора имеет ограничение. Интегральная составляющая также ограничена. Коэффициенты и в процессе отладки варьировались, но окончательно в математической модели приняли значения: .
4. 5. 4. ШИМ сигнал и сигнал направления вращения двигателя
Получен усиленный сигнал рассогласования угла . В зависимости от его знака и величины формируется два сигнала: широтно-импульсный сигнал (ШИС) и сигнал направления вращения.
ШИС (в мат. модели это сигнал) реализует управление мощностью, подводимой к электродвигателю, при помощи изменения среднего значения напряжения на двигателе. Управление напряжением происходит посредством коммутации ключевого элемента (КЭ) определённым образом (рисунок 18). А именно, если на протяжении некоторого периода времени (период ШИМ) транзистор будет открыт , например, 50% от этого времени, то на двигателе сформируется среднее напряжение, равное половине напряжения питания. Управляющее напряжение, которое отвечает за открытие и закрытие КЭ, определяется ШИС (рисунок 19): если ШИСв цифровом виде равен логической единице, то соответствует напряжению, переводящему КЭ в открытое состояние – течёт ток, иначе, если, то. Таким образом, напряжение на двигателе описывается следующим соотношением:
где коэффициент заполнения ШИС, скважность ШИС.
Но где же связь между углом рассогласования и напряжением двигателя? Очевидно, что тайна кроется в коэффициенте заполнения ШИС. Если рассогласование угла максимально, то и к двигателю должно прикладываться максимальное напряжение. И наоборот, если, то. Значит можно выразить отношение угла рассогласования и напряжения на двигателе следующим образом:
Ошибки студента
Далее будут рассуждения, которые также вошли в текущую математическую модель, но по сути, как оказалось из вычислений, они излишне и бессмысленны. Результаты модели не поменяются, если убрать эту часть.
Потенциометр обладает чувствительностью, так как его щуп при повороте совершает перемещение от одного витка резистивного вещества к другому (отрывается от поверхности одного витка и примыкает к другому). Это приводит к тому, что сопротивление и соответственно напряжение изменяются скачкообразно. В документации к потенциометру есть параметр электрической разрешающей способности: , по которому можно определить шаг изменения сопротивления при переходе от одного витка к другому. Примем среднее значение этого параметра и определим шаг:
Значит за один оборот мы совершаемперехода между витками. Определим минимальный угол поворота, который потенциометр будет способен зафиксировать:
Минимальное изменение угла рассогласования такое же (можно проверить, подставив в формулы АЦП и т. д.), тогда шаг напряжения двигателя составит:
где шаг коэффициента заполнения. Теперь угол рассогласования преобразуется в коэффициент заполнения следующим образом:
В данной формуле можно сократить 282 и снова получится формула (4), поэтому эти действия были бессмысленны и, видимо, коэффициент заполнения не зависит от точности датчика. Главное - это соотношение текущего угла ко всему диапазону принимаемых углов.
Было принято решение не убирать из модели данную часть, так как в ПЛИС уже реализован именно этот алгоритм: сначала угол переводится в размерность счётчика , который отвечает за формирование опорного напряжения (рисунок 20), а потом выполняется сравнение полученного числа со значением счётчика и формируется ШИС. Рисунок для аналоговой системы, но суть такая же: цифровой счётчик считает до значения 282 и обнуляется, параллельно его значение сравнивается с текущим значением переведённого в размерность счётчика угла рассогласования (задающее напряжение).
Ещё следует определиться с периодом ШИМ. Во-первых, он должен быть хотя бы на порядок меньше, чем электрическая постоянная времени электродвигателя , чтобы двигатель не успевал реагировать на скачки напряжения (тока) и отрабатывал только среднее значение напряжения. Иными словами, электрическая постоянная времени двигателя определяет частоту входного гармонического напряжения, после которой двигатель отрабатывает этот сигнал с некоторой просадкой по мощности. Поэтому, если период ШИС будет минимум на порядок меньше, то просадка по мощности будет значительной. Двигатель будет нечувствителен (или мало чувствителен) к таким резким скачкам входного напряжения.
Тогда .
Во-вторых, транзисторы в силовой плате издают свистящие звуки, если частота ШИМ находится в пределах слышимых человеком частот: до. Поэтому пусть период ШИМ:
Сигнал направления вращения электродвигателя определяется знаком угла рассогласования:
4. 6. Силовая плата
Блок силовой платы имеет два входных сигнала – ШИС и направление вращения, на основе которых формируется выходной сигнал напряжения.
Силовая плата выполняет две функции:
изменяет направление вращения двигателя, коммутируя ключевые элементы определённым образом;
усиливает напряжение, подводимое к электродвигателю.
В эксперименте в качестве силовой платы использовался модуль драйвера управления двигателями Dual 15A H-Bridge DC Motor Driver 30A 3-36V (рисунок 21).
Данный драйвер рассчитан на подключение двух двигателей постоянного тока. Подразумевалось, что в проекте в будущем будет реализован алгоритм управления для второго привода, который должен будет имитировать нагрузку для исследуемого привода рулевой поверхности.
Из принципиальной схемы видно, что в драйвере используется мостовая схема. Такая схема даёт возможность изменять полярность напряжения, подводимого к двигателю, и, как следствие, направление вращения двигателя. Какой именно метод коммутации КЭ реализован в алгоритме управления платой – сказать сложно, в документации данной информации не было. Можно предположить, что используется диагональный метод коммутации КЭ (рисунки 23 и 24), так как он наиболее безопасный (отсутствуют сквозные токи) и простой в реализации. При вращении в прямом направлениикоммутируются КЭ 1 и КЭ 4. Когда, открыты ключи 1 и 4, двигатель находится в двигательном режиме работы (рисунок 23, а-б). Когда, все ключи закрыты, двигатель находится в генераторном режиме (рекуперация энергии в сеть) (рисунок 23, в-г).
Драйвер описывается уже полученным уравнением (4). По сути он усиливает напряжение до 27 В. В математической модели логика его работы реализована очень упрощённо (рисунок 25).
Помеха потенциометра
На данном блоке долго останавливаться не будем. На рисунке 26 представлена его структурная схема, параметры приведены в скрипте (mat_model.mlx) репозитория проекта на GitHub.
Промоделировав в Simulink при требуемых углах, были получены результаты (рисунок 28). Помеха – величина постоянная, поэтому кажется, что при 1 градусе она больше, чем при 30, но это не так, ведь для 30 градусов масштаб другой.
5. Результаты математического моделирования
Система работает по воздействию: какой угол задали, такой и должен быть на выходе. Но так как в системе присутствуют нелинейности (цифровая система, насыщение электродвигателя, помеха и т. д.), выходной угол будет отличаться от требуемого. Для оценки этого отличия и динамических качеств на систему воздействуют тестовыми сигналами определённой формы.
5. 1. Ступенчатое воздействие (переходный процесс)
Промоделируем ступенчатое воздействие для требуемых углов.
Видно, что система устойчивая. Также из графиков можно сделать вывод о перерегулировании, показателе колебательности и времени переходного процесса. Вычисления приведены для(требуемый угол, текущий угол поворота выходного вала привода). Перерегулирование:
Показатель колебательности:
где амплитуды требуемого и отработанного углов.
Время переходного процесса при повороте на 30 градусов составляет, что удовлетворяет требованиям.
При движении до 30 градусов видно, что привод вышел на максимальную скорость (наклон прямой = const) - это энергетический предел (насыщение по напряжению двигателя). Если бы напряжение питания двигателя было больше, то привод быстрее бы пришёл в требуемое положение.
При коэффициенте усиления перерегулирование превышает требуемое значение, при все показатели в норме, однако полоса пропускания меньше, чем 14 Гц. Поэтому был выбран коэффициент усиления .
5. 2. Гармоническое воздействие
При таком типе входного сигнала можно судить о быстродействии системы, иными словами, о её полосе пропускания. Чем больше полоса пропускания, тем привод более динамичный. Входной заданный угол изменяется по гармоническому закону:
При этом выходной угол до частоты среза будет изменяться тоже по гармоническому закону:
Чем больше частота , тем у привода меньше времени, за которое ему необходимо повернуться на угол . И из-за того, что есть энергетическое ограничение, с увеличением частоты входного сигнала привод будет всё хуже его отрабатывать. Из задания необходимо, чтобы при требуемой амплитуде частота среза системы была равна . Частоту среза, как вариант, можно определять по ЛАФЧХ разомкнутой системы. На графике (рисунок 31) выделены некоторые значения, по которым можно определить проседание мощности выходного сигнала относительно входного и запаздывание по фазе.
5. 3. ЛАФЧХ
Частота среза (красный график) равна 14 Гц. Это было достигнуто при помощи подстройки коэффициента усиления ПИ-регулятора. Запас по фазе:
где фаза на частоте среза. Система устойчива на требуемой частоте среза и имеет запас по фазе удовлетворяет требованиям.
5. 4. Фильтрация
Из-за плохой фильтрации возникают пульсации тока в двигателе и, следовательно, момента. По этой причине выходной вал двигателя будет совершать высокочастотные колебания малой амплитуды – появится звук дребезга в редукторе.
6. Выводы
Разработана математическая модель системы автоматического регулирования, управление которой происходит по углу. Были экспериментально и теоретически определены её параметры, а также реализован алгоритм:
цифровой фильтрации;
цифрового ПИ-регулятора;
управления двигателем при помощи ШИМ сигнала.
Проведён поиск параметров, благодаря которым система стала удовлетворять техническому заданию. Также были проанализированы результаты математического моделирования.
В следующей статье будет подробно разобрана реализация данного алгоритма управления на FPGA и приведён сравнительный анализ экспериментальных данных с данными, полученными при моделировании работы приводной системы.
Ссылка на исходники: https://github.com/Dileon44/Actuator-Control-Electronics/tree/main
7. Литература
Комментарии (14)
Anatol_1962
01.04.2024 12:30+1Рис 11 крайне подозрителен. Обычно "мёртвая зона" моторов/клапанов намного шире, и никакой ШИМ этого не исправит. Моделировать мотор "гладким" образом недопустимо для серьёзных инженеров.
PoliThor
01.04.2024 12:30Так это же экспериментальная, естественная регулировочная характеристика коллекторного двигателя, полученная без применения всякого ШИМа. Подаёшь напряжение и снимаешь положение -> скорость. Мёртвая зона для такого двигателя, у которого то напряжение питания всего 27 В более чем нормальная.
FGV
01.04.2024 12:30Ну почему же недопустимо, вот буржуи аж в даташитах на моторы некоторые константы приводят, в том числе и скоростную об/мин. / В (п.13):
Arastas
01.04.2024 12:30+3Если у вас задачей является смена положения, то подавать 30 градусов ступенькой с выходом на насыщение по питанию, перерегулирование и потенциальное насыщение интегратора - не лучшая идея. Там нужен задатчик траектории.
nv13
01.04.2024 12:30Так ли тут нужен fpga? У микроконтроллера уже есть АЦП и линии ввода вывода под ШИМ, watchdog и интерфейсы для подключения к хосту
Фильтр с прямоугольным окном можно реализовать как аккумулятор накапливающий N отсчётов, линии задержки на N и вычитателя - каждый входной отсчёт суммируется с аккумулятором, а предNный - вычитается. Большее подавления могут обеспечить каскадные фильтры меньшей длины. Ну и по Найквисту частота дискретизации должна быть не сильно больше удвоенной полосы, зачем Вам всё это на 20 кГц? Данные с датчика можно оцифиовывать с учётом полосы помех, а управление осуществлять в соответствие с эээ.. забыл как это называется.. полосой пропускания без обратной связи?
Dileon44 Автор
01.04.2024 12:30Согласен, проще реализовать на МК, однако, как минимум, в авиации в целях резервирования существуют требования на разные элементные базы (то есть, в одной системе есть или МК, и FPGA , или 2 FPGA, или 2 МК: одно управляет, другое следит за правильностью управления), поэтому задачи реализации СУ для привода на FPGA есть. К тому же, этот проектик был больше исследовательским, чем реальным, и ясное дело, что в ракете уж точно целесообразнее использовать МК.
Да, знаю про реализацию с накоплением, но решил сделать так. Про частоту дискретизации: на рисунке представлены экспериментальны данные при периоде одного отсчёта 700 мкс и периоде фильтрации . Во время отработки при таком периоде привод совершал автоколебания малой амплитуды (красный график), был звук дребезга, явно ведь запаздывание по фазе большое при таком периоде. Поэтому решил уменьшить период.
В ЦОС, к сожалению, не силён, предполагаю, что в моих рассуждениях действительно могут быть ошибки.
nv13
01.04.2024 12:30Попробуйте при частоте 20кГц заменить один фильтр с 32 отсчётами двумя по 16 или тремя по 8, а потом брать только каждую 4-ю выборку и на этой частоте проводить регулирование
К сожалению с радиоавтоматикой, тем более цифровой, я не сталкивался уже очень давно.
BrazilMaterializator
01.04.2024 12:30+1Почему бы не сделать управление стиральной машиной, а не малогабаритной ракетой? Уже и детские коляски появились на литиевых аккумуляторах, но вы всё на смерть работаете.
NutsUnderline
01.04.2024 12:30+1А разве автор не детскую (точнее студенческую) игрушку делает?
200sx_Pilot
01.04.2024 12:30Судя по исполнению редуктора, детей эта "игрушка" не пожалеет.
Интересно, применим ли данный алгоритм для стиральной машинки-автомата. Верхней загрузки.
osmanpasha
01.04.2024 12:30Дак это же управление положением вала с помощью мотора. Скорее как руль в лодке можно применить, чем как мотор в стиральной машине.
iqp
Я не нашел инфу, что к этому двигателю можно применять ШИМ. Вдруг чего-нибудь заклинит, как на тех Боингах.
"Двигатели ДПР-Н5, ДПР-Н9, ДПР-Ф5, ДПР-Ф9 предназначены для работы также при питании от широтноимпульсного модулятора, обеспечивающего среднее значение напряжения на выводных концах двигателя 20 В; частоту следования импульсов не менее 500 Гц и кважность импульсов не менее 0,2; форма импульса - прямоугольная."
mphys
К любым древним двигателям постоянного тока можно применять ШИМ, ничего не заклинит, не беспокойтесь
iqp
Пацаны из контрразведки НКВД интересуются - огласите весь список актуальных изделий, в которых под ШИМом стоят моторы, по которым в документации явно нет инфы, что это разрешено. Репрессировать военприемщиков собираются за халатность, а может и не за халатность.