0 / 0 / 0
Регистрация: 24.10.2019
Сообщений: 94
1

Способы стабилизации сигналов энкодеров, триггеров, захват ШИМ сигналов

31.03.2021, 13:08. Показов 824. Ответов 4

Author24 — интернет-сервис помощи студентам
Доброго времени суток, поделитесь своим опытом как вы боритесь с ложными срабатываниями Timer Input Capture на stm32.

Вот например пытался сделать одноконтурный PD регулятор скорости на stm. Так вот в процессе наладки с энкодера приходят вроде как стабильный сигнал скорости, да вот только раз в примерно 10 секунд скорость "скачет", ставил фильтр HAL на 1-2 ничего не изменилось. Или только уже аппаратное решение необходимо? Хотя на плате с энкодером распаянной на приводе уже имеет RC фильтр, да и на осциллографе сигнал приходит я бы сказал очень хороший и по скорости изменения и в общем по стабильности, а ошибочное значение стабильно приходит раз в ~10сек (чем ниже скорость тем больше вероятность ошибки, так на холостом ходу ошибок я не замечал, скорость скакала в приделах +-1.5% что наверное норма).

Похожее у меня творилось и в предыдущей работе, только там я считал P, S, и cos fi сети, с помощью полумостовой схемы выпрямлял синусоиду, и операционником сравнивал с опорным напряжением что по сути мне давало точки пересечения 0 то есть рассчитывал cos fi по периодам. Там обстояло все интересней, эта проблема была вплоть до тех пор пока я не поставил определенные параметры таймера такие как Prescaler = 839; Period = 49999; для stm32f401. Магическим образом система стала более стабильна, помехи мною замечены небыли. Меняя делитель и счетчик все портится, даже если коэффициенты править, помехи приходят стабильно, как будто система входит в какой-то резонанс.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.03.2021, 13:08
Ответы с готовыми решениями:

Построить временные диаграммы выходных сигналов триггеров для заданных входных сигналов
1 задание. Построить временную диаграмму выходных сигналов T-триггера при заданных входных...

Построить временные диаграммы выходных сигналов триггеров для заданных входных сигналов
1 задание. Построить временную диаграмму выходных сигналов T-триггера при заданных входных...

Построить временные диаграммы выходных сигналов триггеров для заданных входных сигналов
1 задание. Построить временную диаграмму выходных сигналов T-триггера при заданных входных...

Захват и обработка сигналов с аудио устройств
Доброго времени суток, уважаемые форумчане. Мне необходимо сделать две функции: 1. Перехват...

4
Модератор
Эксперт по электронике
8909 / 6678 / 918
Регистрация: 14.02.2011
Сообщений: 23,523
31.03.2021, 20:29 2
Цитата Сообщение от Rustam98 Посмотреть сообщение
Вот например пытался сделать одноконтурный PD регулятор скорости на stm. Так вот в процессе наладки с энкодера приходят вроде как стабильный сигнал скорости, да вот только раз в примерно 10 секунд скорость "скачет"
таймер какой частотой тактируется?
0
0 / 0 / 0
Регистрация: 24.10.2019
Сообщений: 94
01.04.2021, 12:39  [ТС] 3
100МГц на шине, Prescaler=9, Counter=9999. Получаем период дискретности датчика скорости в 0.001.
0
1976 / 1275 / 130
Регистрация: 04.01.2010
Сообщений: 4,607
01.04.2021, 14:52 4
Цитата Сообщение от Rustam98 Посмотреть сообщение
с энкодера приходят вроде как стабильный сигнал скорости
О каком энекодере вы говорите? Почему с энкодера "приходит" скорость?
Цитата Сообщение от Rustam98 Посмотреть сообщение
ошибочное значение стабильно приходит раз в ~10сек
Рискну предположить, что где-то в коде может быть переполнение (или race condition). Покажите код.
Цитата Сообщение от Rustam98 Посмотреть сообщение
на приводе уже имеет RC фильтр
какова длина проводов? И, если я правильно предполагаю вами используемый энкодер - RC (по личному опыту работы с несколькими энкодерами для HMI) больше мешает, нежели помогает. Но в моем случае возникали "пропуски" при быстром вращении энкодера. То есть ситуация обратная вашей.
0
0 / 0 / 0
Регистрация: 24.10.2019
Сообщений: 94
04.04.2021, 08:39  [ТС] 5
Цитата Сообщение от Voland_ Посмотреть сообщение
О каком энекодере вы говорите? Почему с энкодера "приходит" скорость?
с энкодера приходит количество меток за оборот, в моем случае их 360

Я уже нашел ошибку, я выключал прерывания канала __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC1); после приема двух фронтов сигнала с энкодера (таким образом получал период между метками и из него рассчитывал количество оборотов в сек) а уже в глобальном прерывании этого таймера я его обратно включал __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC1);.
Это я делал с расчетом на то что бы рассчитать скорость единожды за 0.001сек. А получалось то что для включения и выключения этой функции контроллеру нахватало времени, тесть таймер мог уйти в общее прерывание (то есть начать свой счет заново), а включение потребовало столько тиков что первый фронт он брал уже с конечных величин таймера, таймер снова уходил в прерывание и второй фронт брал с начального значения, или вовсе перезаписывал первый фронт а второй фронт оставлял с предыдущего цикла, в общем путаница. Вырубил отключение и включение все стало работать норм. Ну и пусть падает в прерывание намного чаще, все равно он там будет брать только два первых фронта а остальные прерывания ничего не будет делать.
После этого сразу и задатчик интенсивности заработал и регулятор.
0
04.04.2021, 08:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.04.2021, 08:39
Помогаю со студенческими работами здесь

Формирование двух независимых ШИМ-сигналов
Здравствуйте! Подскажите пожалуйста что нужно писать в TACTL для формирования двух ШИМ-сигналов для...

Построить временную диаграмму выходных сигналов триггера для заданных входных сигналов
Помогите!!! Задана функциональная схема триггера и временная диаграмма сигналов на его входах....

Цифровая обработка сигналов. Ортогональность сигналов
Только начала заниматься цифровой обработкой и возник вопрос. У нас есть 2 сигнала s1 = @(t)...

Выбрать способы организации подачи управляющих сигналов для схемы
Задание: Выбрать способы организации подачи управляющих сигналов для схемы приведенной на рисунке...

Обработка ЧМ сигналов(спектры ЧМ сигналов)
Доброго времени суток! Ранее задавала вопрос: "Алгоритм обработки ЧМ сигналов, основанный на...

Сделать - Формирование сигналов в виде импульсных последовательностей и Формирование типовых случайных сигналов
Здравствуйте, помогите пожалуйста сделать "Формирование сигналов в виде импульсных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru