Н.В. Клиначев, Е.А. Маргацкая

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

Рабочие файлы: [ЦСУ 4 ЛЭМД Модель] [ЦСУ 4 ЛЭМД int32] [ЦСУ 4 ЛЭМД [-1, +1]]
[ЦСУ 4 ЛЭМД Шум] [ЦСУ 4 ЛЭМД Си-код]

Прецизионный электромагнитный привод для малых линейных перемещений рабочего органа, чья модель и прототип программы цифровой управляющей системы представлены в данноми и в предыдущих документах, скомплектован из самых дешевых и доступных деталей. В частности, датчик положения – это обычные светодиод и фототранзистор. Любая оптопара ослабляет сигнал в 30..100 раз "прижимая его" к уровню шума. Далее, фототранзистор усиливает сигнал в 50..80 раз. И еще в 30 раз сигнал усиливает дифференцирующий канал ПИД-регулятора контура положения. Другими словами уровень шума схемы поднимается в 1500..2400 раз.

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

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

Запустите вычислительный процесс для модели представленной в данном и в предыдущем документе. Убедитесь в том, что накопление и усреднение восьми выборок приводит к снижению шума почти в три раза (в корень из восьми раз).

В листинге программного кода системы управления выявите строки, отвечающие за реализацию усредняющих фильтров. Измените код таким образом, чтобы усреднение сигналов датчиков обратных связей выполнялось не по 8-ми, а по 16-ти выборкам. Не забудьте уменьшить в два раза шаг симуляции.

Примечание. 32-х разрядный ARM-процессор STM32F303xC (ядро Cortex-M4, 72 МГц) имеет необходимую периферию и позволяет сконфигурировать аппаратные машины состояний необходимые для реализации двух приводов с линейными электромагнитными двигателями. Представленный прототип программного кода цифровой системы управления, вместе с усредняющим фильтром по 16-ти выборкам, будучи реализован и удвоен для двух каналов, исполняется процессором за 8 мкс через период дискретизации истекающий каждые 200 мкс.

Двухконтурная система управления ЛЭМД

Листинг 1. Программный код dll-блока (javascript)

Примечание. Математическое ядро программы Jigrein4WEB вызывает функцию tune перед первым шагом симуляции. Её необходимо использовать для сброса начальных условий в регистрах задержки. Функцию calcStep математическое ядро может вызывать множество раз на каждом шаге симуляции (в зависимости от типа активированных решателей). Реализованный в ней код не должен обладать эффектом памяти (результат преобразований должен завесить исключительно от входных сигналов). Функция stepEnd вызывается на каждом шаге симуляции только один раз после всех вызовов функции calcStep и предназначена для обновления регистров задержки.

JSLint | JSBeautifier | Emmet coding

19.04.2016