文章目录[隐藏]
一.数字脉宽调制(DPWM)介绍
如今,电力开关电子学表现出显著的性能提高。电力开关电子器件的开关频率不断提高,以满足现代电力转换系统的要求。在控制技术方面,这变得越来越具有挑战性。对于数控脉宽调制发生器,在开关频率和占空比微调之间有一个权衡。同时实现高分辨率和高开关频率意味着控制电路工作在高频率。
二.基于NUCLEO-G474RE开发板新建工程
2.1 打开 STM32CubeMX 软件,新建工程.
我手里有开发板所以选择基于开发板。
2.2 选择开发板(芯片)
我这里选择的是我的开发板NUCLEO-G474RE,少去一些步骤。
2.3 配置TIM1
配置TIM1产生100kHz的互补PWM.
F= Tclk/[(psc+1) * (cnt+1)] = 170MHz/[1*1700] = 100kHz。
普通情况下一个周期记1700个数
在抖动模式下,这里将记1700x16=27200;
2.4配置一下时钟树.
2.5生成代码.
大功告成
三.编写代码
/* USER CODE BEGIN 2 */
//启动定时TIM1
HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_1);
HAL_TIMEx_PWMN_Start(&htim1, TIM_CHANNEL_1);
/* USER CODE END 2 */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
HAL_GPIO_TogglePin(LD2_GPIO_Port, LD2_Pin);//LED
HAL_Delay(500);
TIM1->CCR1=13600;//占空比50%
}
/* USER CODE END 3 */
调试一下,看看对不
四.输出结果
经过测量达到预期结果
输出100kHz互补PWM,占空比50%。
五.总结
有不对的地方请大家包涵,还望大家提醒,第一次写,有什么建议或问题欢迎评论下留言。
版权声明:本文为CSDN博主「藤一泓」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_45507036/article/details/122719882
暂无评论