Дополнительный блок для настройки разрядности и частоты выхода ШИМ STM32 из программы.
Данный блок позволяет изменить данные параметры ШИМ в любой момент.
Испытал в "железе" - работает.
Шпаргалка по разрядности:
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 из программы
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
-
- Полковник
- Сообщения: 3357
- Зарегистрирован: 24 дек 2016, 16:55
- Откуда: Уфа
- Имя: Айдар
- Благодарил (а): 13 раз
- Поблагодарили: 100 раз
- Контактная информация:
Настройка ШИМ STM32 из программы
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Настройка ШИМ STM32 из программы
спасибо работает
только потолок стоит в 32787гц
а по возможностям шим такой же как у есп32 на 16 бит желательно не более 1кгц ещё стабильно а за 1,5кгц уже нарушена синхронизация меж импульсами видимо импульс в несколько нс это предел для ядра
и не понятно какую частоту IDE выставляет ядру может это ещё влияет
если ковырнуть CUBEmx то там целая поэзия в настройке частот и по умолчанию там стоит 8мгц
только потолок стоит в 32787гц
а по возможностям шим такой же как у есп32 на 16 бит желательно не более 1кгц ещё стабильно а за 1,5кгц уже нарушена синхронизация меж импульсами видимо импульс в несколько нс это предел для ядра
и не понятно какую частоту IDE выставляет ядру может это ещё влияет
если ковырнуть CUBEmx то там целая поэзия в настройке частот и по умолчанию там стоит 8мгц
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Настройка ШИМ STM32 из программы
Аппаратный генератор на таймере TIM1.
Частоту переключает на ходу, по изменению числа на входе. Проверял на на FLProg 7.3.8.
пример с блоком во вложении. Может кому пригодится. (в коде часть лишнего, но под мои задачи это не критично)
Частоту переключает на ходу, по изменению числа на входе. Проверял на на FLProg 7.3.8.
пример с блоком во вложении. Может кому пригодится. (в коде часть лишнего, но под мои задачи это не критично)
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Настройка ШИМ STM32 из программы
Построен на TIM1 для STM 32 F103, c другими МК блок не проверялся..
На вход Timperiod задаем период ШИМ.
На вход PWM задаем время импульса (не может быть больше времени периода).
Выход Q - программный ШИМ ( может иметь джиттер с увеличением проекта, особенно при использовании в программе delay, прерываний и т.д.)
На физическом выходе PA8 - ШИМ не зависящий от особенностей программного кода.
Выход Fr - бонус , пилообразный счетчик от нуля до значения Timperiod
С коэффициэнтом *TIM1_PSC = 7200 - работает в ms, если нужны мкс TIM1_PSC = 72.Изменять в редакторе , секция Setap.
Из программы можно на ходу изменять значения на обоих входах соблюдая условие - время Timperiod больше времени PWM.
Блок можно использовать как несимметричный мультивибратор.
На вход Timperiod задаем период ШИМ.
На вход PWM задаем время импульса (не может быть больше времени периода).
Выход Q - программный ШИМ ( может иметь джиттер с увеличением проекта, особенно при использовании в программе delay, прерываний и т.д.)
На физическом выходе PA8 - ШИМ не зависящий от особенностей программного кода.
Выход Fr - бонус , пилообразный счетчик от нуля до значения Timperiod
С коэффициэнтом *TIM1_PSC = 7200 - работает в ms, если нужны мкс TIM1_PSC = 72.Изменять в редакторе , секция Setap.
Из программы можно на ходу изменять значения на обоих входах соблюдая условие - время Timperiod больше времени PWM.
Блок можно использовать как несимметричный мультивибратор.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость