Страница 1 из 3

Нелинейность PWM STM32F103

Добавлено: Пн авг 07, 2017 23:41:42
Alex-lab
Доброго всем дня!

Использую STM32F103 с платы bluepill как шим контроллер для импульсного БП. Мостовой, трансформаторный преобразователь, частота 31,25кГц, на выходе L-C фильтр (5мГн +0,1мкф). нагруженный на батарею проволочных резисторов, обеспечивающих ток в пределах 25% от максимального.

Столкнулся с такой проблемой.

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

1. Обзорный вид пилы.
Изображение

2. Увеличенный начальный участок.
Изображение

Ясно видно, что отклонение от прямой в обе стороны. Есть значения, которые не влияют на выходное напряжение, а есть, которые влияют очень резко, один шаг добавляет за 5 обычных.
Первые мысли были, что дело может быть в драйверах и силовой части. Однако, проверка на в 10 раз большей длительности (каждый шаг в 10 раз длиннее) показал идентичное поведение. То есть это какой-то статический эффект.

3. Вид начального участка на пиле длительность в 10 раз большей.
Изображение

Этот факт статичности, имеет один плюс, его можно скомпенсировать. Что и было произведено, путем построения некоторого подгоночного массива данных, который замещает ряд исходных величин коэффициента заполнения. Например, после значения 24% сразу переходим на 32%, минуя промежуточные (это пример).

4. Вид пилы после коррекции.
Изображение


Проверял ардуиной, там конечно свои проблемы, но такого поведения нет. Поэтому грешу на контроллер СТМ, в чем может быть косяк?

Да, используется не прямой ШИМ, а фазосдвиг (также и на ардуине). Один выход таймера шурует постоянно, другой сдвигается.

В чем может быть косяк?? Неделю думал, и так и эдак, не могу понять причину... :shock: :shock: :shock:
Нужна помощь.

Re: Нелинейность PWM STM32F103

Добавлено: Вт авг 08, 2017 08:30:02
dosikus
[uquote="Alex-lab",url="/forum/viewtopic.php?p=3158133#p3158133"]Первые мысли были, что дело может быть в драйверах и силовой части.
Проверял ардуиной, там конечно свои проблемы, но такого поведения нет. Поэтому грешу на контроллер СТМ, в чем может быть косяк?[/uquote]

Что угодно проверялось только не собственные руки, хотя для аурдинщика это должно быть заповедью. :)))


Здесь PWM одновременно 3 каналов...

Изображение Изображение Изображение[/uquote]

Re: Нелинейность PWM STM32F103

Добавлено: Вт авг 08, 2017 11:41:37
Alex-lab
Я понимаю, что работать должно. Данные идут из таблицы, даже не считаются. Пытаюсь придумать возможную причину, такой систематической ошибки.

Re: Нелинейность PWM STM32F103

Добавлено: Вт авг 08, 2017 12:02:57
Reflector
[uquote="Alex-lab",url="/forum/viewtopic.php?p=3158336#p3158336"]Я понимаю, что работать должно. Данные идут из таблицы, даже не считаются. Пытаюсь придумать возможную причину, такой систематической ошибки.[/uquote]
Думал неделю, за это время тебя не посещала мысль, что неплохо бы проверить не аналоговый сигнал после фильтра, а цифровой до него? :)

Re: Нелинейность PWM STM32F103

Добавлено: Вт авг 08, 2017 12:09:41
Alex-lab
[uquote="Reflector",url="/forum/viewtopic.php?p=3158340#p3158340"]Думал неделю, за это время тебя не посещала мысль, что неплохо бы проверить не аналоговый сигнал после фильтра, а цифровой до него? :)[/uquote]

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

Вот и первая мысль появилась. Может какой-то бит в регистре сравнения глючит. Попробую пройтись по отдельным битам.

Re: Нелинейность PWM STM32F103

Добавлено: Вт авг 08, 2017 12:12:58
Reflector
[uquote="Alex-lab",url="/forum/viewtopic.php?p=3158342#p3158342"]Посещала. Идет мусор, не то, что должно. В проблемных местах идут два фиксированных значения, чередующихся с разной интенсивностью.[/uquote]
Это хорошо, но тогда как мы без кода должны понять почему именно на выходах шима мусор?

Re: Нелинейность PWM STM32F103

Добавлено: Вт авг 08, 2017 12:26:34
Alex-lab
Проверил побитово регистр сравнения таймера....
Вот те бабушка и юрьев день.

Изображение

Это был регистр CCR1.

Аналогичная картина в ССR3, но не рабоает бит равный 64... вот и верь китайцам после этого...

Это я неделю только с нелинейностью воевал. А до этого достаточно времени потратил настраивая лвухконтурный ПИД-ПИ регулятор...

Re: Нелинейность PWM STM32F103

Добавлено: Вт авг 08, 2017 13:29:15
dosikus
[uquote="Alex-lab",url="/forum/viewtopic.php?p=3158336#p3158336"]Я понимаю, что работать должно.[/uquote]

Представляете, на моих картинках так же данные прут изЪ таблицы, из массива с тремя синусоидами сдвинутымипофазе.
И опять таки - причем здесь виноватые китайцы? Себя в первую очередь обвините...

Сделайте выхлоп таблицы в UART ...

Да и кстати опции Preload включены для CCRx и ARR?

Re: Нелинейность PWM STM32F103

Добавлено: Вт авг 08, 2017 13:34:53
Alex-lab
[uquote="dosikus",url="/forum/viewtopic.php?p=3158373#p3158373"][uquote="Alex-lab",url="/forum/viewtopic.php?p=3158336#p3158336"]Я понимаю, что работать должно.[/uquote]

Представляете, на моих картинках так же данные прут изЪ таблицы, из массива с тремя синусоидами сдвинутымипофазе.
И опять таки - причем здесь виноватые китайцы? Себя в первую очередь обвините...

Сделайте выхлоп таблицы в UART ...

Да и кстати опции Preload включены для CCRx и ARR?[/uquote]

Опции включены, вопрос разрешился.

Спасибо всем отписавшимся!

За что я должен себя обвинять, если не работает регистр? :dont_know:

Re: Нелинейность PWM STM32F103

Добавлено: Вт авг 08, 2017 13:35:47
dosikus
[uquote="Alex-lab",url="/forum/viewtopic.php?p=3158377#p3158377"]вопрос разрешился.[/uquote]


И в чем был ляп?

Re: Нелинейность PWM STM32F103

Добавлено: Вт авг 08, 2017 13:37:12
Alex-lab
[uquote="dosikus",url="/forum/viewtopic.php?p=3158378#p3158378"][uquote="Alex-lab",url="/forum/viewtopic.php?p=3158377#p3158377"]вопрос разрешился.[/uquote]


И в чем был ляп?[/uquote]

Прочитайте пожалуйста мое третье сообщение с конца.

Re: Нелинейность PWM STM32F103

Добавлено: Вт авг 08, 2017 13:39:03
dosikus
если не работает регистр
Это? Позвольте просто не поверить.
Я еще могу поверить в выбитые биты порта ардуинщиком.
Но что бы не работали регистры периферии ...

Re: Нелинейность PWM STM32F103

Добавлено: Вт авг 08, 2017 13:40:30
Alex-lab
[uquote="dosikus",url="/forum/viewtopic.php?p=3158381#p3158381"]
если не работает регистр
Это? Позвольте просто не поверить...[/uquote]


За верой не ко мне.
Приведен рисунок выхода для различных активных битов регистра. Хотите верьре, хотите нет...

Re: Нелинейность PWM STM32F103

Добавлено: Вт авг 08, 2017 13:43:18
dosikus
Приведите эпюры выхлопа "битых бит" в статике.
Просто настройте PWM и вручную занесите в CCRx данные. Можете прямо в Keil'овском отладчике.
Или вы пытаетесь меня заставить уверовать, что младшие биты формируют только этот участок а в остальном не участвуют?
Вы сами в это верите?

Re: Нелинейность PWM STM32F103

Добавлено: Вт авг 08, 2017 13:44:36
Alex-lab
[uquote="dosikus",url="/forum/viewtopic.php?p=3158384#p3158384"]Приведите эпюры выхлопа "битых бит" в статике.
Просто настройте PWM и вручную занесите в CCRx данные. Можете прямо в Keil'овском отладчике...[/uquote]

У меня и кейла нет, и заниматься этим не вижу смысла.

Re: Нелинейность PWM STM32F103

Добавлено: Вт авг 08, 2017 13:46:30
dosikus
В коде просто запишите TIMx->CCRx=32;

Кстати уважаемый, вы сделали мой день. Я знал что ардуинщики упертые и уверовали, но чтобы так.
Это достойно баша - битые биты CCR ... :))) :))) :))) :))) :)))

Re: Нелинейность PWM STM32F103

Добавлено: Вт авг 08, 2017 13:55:44
Alex-lab
[uquote="dosikus",url="/forum/viewtopic.php?p=3158390#p3158390"]В коде просто запишите TIMx->CCRx=32;[/uquote]

Не вижу смысла продолжать.
Уже заказал с ибея другие платы. Как приедут отпишусь о сравнении.

Re: Нелинейность PWM STM32F103

Добавлено: Вт авг 08, 2017 15:42:29
scorpi_0n
Начинайте собирать пепел вёдрами, чтобы время зря не терять.

Re: Нелинейность PWM STM32F103

Добавлено: Вт авг 08, 2017 15:56:45
dosikus
Не вижу смысла продолжать.
Alex-lab, и все же приведите код, я вас умоляю...

Re: Нелинейность PWM STM32F103

Добавлено: Вт авг 08, 2017 16:06:58
Alex-lab
Имейте терпение.