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

Настройка ШИМ STM32 из программы

Добавлено: 23 авг 2023, 14:41
aidar_i
Дополнительный блок для настройки разрядности и частоты выхода ШИМ STM32 из программы.
Данный блок позволяет изменить данные параметры ШИМ в любой момент.
Блок настройки ШИМ STM32.flp
Испытал в "железе" - работает.
Шпаргалка по разрядности:
1 бит кодирует —> 2 разных значения,
2 бита кодируют —> 4 разных значения ,
3 бита кодируют —> 8 разных значений ,
4 бита кодируют —> 16 разных значений ,
5 бит кодируют —> 32 разных значения,
6 бит кодируют —> 64 разных значения,
7 бит кодируют —> 128 разных значения,
8 бит кодируют —> 256 разных значений,
9 бит кодируют —> 512 разных значений,
10 бит кодируют —> 1024 разных значений,
11 бит кодируют —> 2048 разных значений,
12 бит кодируют —> 4096 разных значений,
13 бит кодируют —> 8192 разных значений,
14 бит кодируют —> 16384 разных значений,
15 бит кодируют —> 32768 разных значений,
16 бит кодируют —> 65536 разных значений

Настройка ШИМ STM32 из программы

Добавлено: 24 авг 2023, 11:14
Sams
спасибо работает
только потолок стоит в 32787гц
а по возможностям шим такой же как у есп32 на 16 бит желательно не более 1кгц ещё стабильно а за 1,5кгц уже нарушена синхронизация меж импульсами видимо импульс в несколько нс это предел для ядра

и не понятно какую частоту IDE выставляет ядру может это ещё влияет
если ковырнуть CUBEmx то там целая поэзия в настройке частот и по умолчанию там стоит 8мгц
2023-08-24_151140.png

Настройка ШИМ STM32 из программы

Добавлено: 24 авг 2023, 14:56
MM33
Аппаратный генератор на таймере TIM1.
Частоту переключает на ходу, по изменению числа на входе. Проверял на на FLProg 7.3.8.
пример с блоком во вложении. Может кому пригодится. (в коде часть лишнего, но под мои задачи это не критично)
аппаратный таймер STM32 F103.flp

Настройка ШИМ STM32 из программы

Добавлено: 28 авг 2023, 14:10
MM33
Построен на TIM1 для STM 32 F103, c другими МК блок не проверялся..
На вход Timperiod задаем период ШИМ.
На вход PWM задаем время импульса (не может быть больше времени периода).
Выход Q - программный ШИМ ( может иметь джиттер с увеличением проекта, особенно при использовании в программе delay, прерываний и т.д.)
На физическом выходе PA8 - ШИМ не зависящий от особенностей программного кода.
Выход Fr - бонус , пилообразный счетчик от нуля до значения Timperiod
С коэффициэнтом *TIM1_PSC = 7200 - работает в ms, если нужны мкс TIM1_PSC = 72.Изменять в редакторе , секция Setap.
Из программы можно на ходу изменять значения на обоих входах соблюдая условие - время Timperiod больше времени PWM.
Блок можно использовать как несимметричный мультивибратор.