基于STM32F722ZET6的BUCK降压电路。本来计划是想用这学期学习的自动控制原理和Simulink搭建传递函数,通过自适应功能调出Kp和Ki的。但是期末的课程设计实在是太多了,最后只完成了开环的BUCK电路。留下的这个小尾巴打算暑假去完成,完成后会继续更新。小弟才识疏浅,若本帖出现错误请多多指教!
若还未熟悉STM32F722_Nucleo-144这块开发板的小伙伴,可以看我上一篇帖子https://mbb.eet-china.com/forum/topic/70999_1_1.html
本系统框图
1.核心硬件部分
1.1 IR2110
IR2110是英飞凌公司生产的一款开关管驱动芯片,可同时驱动两路开关管。具体资料如图1所示。图1来源于附件中的“IR2110.pdf”。本系统是根据附件的“HV_Floating_MOS_Gate_Drivers.pdf”一副拓扑图画原理图。
图1 上图为IR2110部分截图 下图为本系统采用的拓扑图
1.2 6N137
本系统采用仙童公司推出的6N137光耦隔离芯片。光耦隔离的作用是把强电和弱电隔离开,起到保护的作用。在这里,小弟使用光耦隔离把主控芯片和MOS管的栅极隔离开,避免其栅极电压(15V)烧毁单片机。如图二所示,6N137芯片部分资料。详细可查看“6N137.pdf”
图2 6N137部分截图
1.3 IRF540
如图3所示,本系统是DC24V输入通过BUCK降压DC12V输出。所以采用这款MOS管—IRF540N。详细请查看附件“IRF540npbf.pdf”
图3 IRF540部分截图
2 主控部分
本系统采用这次领取到的STM32F722_Nucleo开发板,主控芯片为STM32F722ZET6,输出频率为10KHz的单路PWM波,控制IRF540导通和关断。关键代码如下:
/*Set TIMx instance */ TimHandle.Instance = TIMx; //配置输出PWM频率为10KHz,占空比为0.5。 //装载计数值为5400。PRD=(HCLK/10KHz)-1=5.4MHz/10KHz-1 TimHandle.Init.Period =5400-1;//装载计数值 TimHandle.Init.Prescaler = 0; //系统时钟频率216M,2分频后TIM3CLK为108MHz,令此处Prescaler=0不分频 TimHandle.Init.ClockDivision =0; TimHandle.Init.CounterMode =TIM_COUNTERMODE_UP;//向上计数模式 TimHandle.Init.RepetitionCounter = 0; TimHandle.Init.AutoReloadPreload =TIM_AUTORELOAD_PRELOAD_DISABLE; |
3.过程实现
3.1 绘制BUCK电路原理图。(部分期间参数未标出,若感兴趣可留言私聊)
图4 BUCK电路原理图
3.2 定义PB0为PWM输出引脚口
/** * @brief Configures LED GPIO. * @param Led: Specifies the Ledto be configured. * This parameter can be one offollowing parameters: * @arg LED1 * @arg LED2 * @arg LED3 * @retval None */ void BSP_LED_Init(Led_TypeDef Led) { GPIO_InitTypeDef GPIO_InitStruct; /* Enable the GPIO_LED Clock */ LEDx_GPIO_CLK_ENABLE(Led); /* Configure the GPIO_LED pin */ GPIO_InitStruct.Pin = GPIO_PIN[Led]; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; HAL_GPIO_Init(GPIO_PORT[Led],&GPIO_InitStruct); HAL_GPIO_WritePin(GPIO_PORT[Led], GPIO_PIN[Led], GPIO_PIN_RESET); } |
3.3 实物连接
PB0口连接到光耦输入引脚,如图5所示。由于时间的关系,最后没能做出辅助电源。图6中,光耦芯片是直接通过单片机5V供电的,并没有实现隔离。若要真正隔离则需从另外一个地方取5V的电给光耦芯片供电。
图5 单片机接线图
图6 实物连接图
4.实物调试4.1单片机输出波形
单片机输出10KHz,占空比0.5脉冲波形图
图7 单片机输出波形
如图8所示,小弟串了一个12Ω的水泥电阻作为负载,由于最近课程设计太多,没办法完成电压闭环,只能够实现一个开环系统。等课程全部结束了,就会继续研究!
图8 负载电压图
全部回复 0
暂无评论,快来抢沙发吧