# 基于STM32的DCM模式下的BUCK变换器设计
- 本工程包括软件部分的STM32的代码以及硬件部分的Altium Designer设计的PCB
- STM32使用STM32F103RCT6并移植FreeRTOS操作系统,进行按键任务、ADC任务、PWM生成任务、PID任务的调度管理
- PCB包括控制电路STM32,驱动电路以及主电路BUCK电路
下面就两部分进行介绍:
## 5、硬件部分
### 5.1、STM32F103RCT6控制电路
Cortex-M3采用目前主流ARM V7-M架构,相比曾风靡一时的ARM V4T架构拥有更加强劲的性能,更高的代码密度,更高的性价比。Cortex-M3处理器结合多种突破性技术,在低功耗、低成本、高性能三方面具有突破性的创新,使其在这几年迅速在中低端单片机市场异军突起。
国内Cortex-M3市场,ST(意法半导体)公司的STM32无疑是最大赢家,作为Cortex-M3内核最先尝蟹的两个公司(另一个是Luminary(流明))之一,ST无论是在市场占有率,还是在技术支持方面,都是远超其他对手。在Cortex-M3芯片的选择上,STM32无疑是大家的首选。所以自从ST推出STM32之后,一股强劲的STM32学习开发风潮扑面而来。本书也因STM32的流行应运而生。
开发板选择的是STM32F103RCT6作为MCU,它拥有的资源包括:48KBSRAM、256KBFLASH、2个基本定时器、4个通用定时器、2个高级定时器、2个DMA控制器(共12个通道)、3个SPI、2个IIC、5个串口、1个USB、1个CAN、3个12位ADC、1个12位DAC、1个SDIO接口及51个通用IO口。该芯片性价比极高。
#### 5.1.1 MCU部分的原理图如图
<img src=".\IMAGE\MINI-STM32_页面_1.jpg"/>
#### 5.1.2 PCB如图
<img src=".\IMAGE\MINI-STM32_页面_2.jpg"/>
#### 5.1.3 PCB板的3D效果如图
<img src=".\IMAGE\STM32.png"/>
#### 5.1.4 BOM报表如下
<img src=".\IMAGE\MINI-STM32_页面_3.jpg"/>
上图中中上部的BOOT1用于设置STM32的启动方式,其对应启动模式如下表所示:
| BOOT0 | BOOT1 | 启动模式 | 说明 |
| :---: | :---: | :------------: | :-----------------------------: |
| 0 | X | 用户闪存存储器 | 用户闪存存储器,也就是FLASH启动 |
| 1 | 0 | 系统存储器 | 系统存储器启动,用于串口下载 |
| 1 | 1 | SRAM启动 | SRAM启动,用于在SRAM中调试代码 |
一般情况下(即标准的ISP下载步骤)如果我们想用用串口下载代码,则必须先配置BOOT0为1,BOOT1为0,然后按复位键,最后再通过程序下载代码,下载完以后又需要将BOOT0设置为GND,以便每次复位后都可以运行用户代码。
#### 5.1.5 JTAG部分电路如下图:
<img src=".\IMAGE\TIM截图20181202202550.png" width="500px"/>
这里采用的是标准的JTAG接法,但是STM32还有SWD接口,SWD只需要最少2根线(SWCLK和SWDIO)就可以下载并调试代码了,这同我们使用串口下载代码差不多,而且速度更快,能调试。所以建议在设计产品的时候,可以留出SWD来下载调试代码,而摒弃JTAG。STM32的SWD接口与JTAG是共用的,只要接上JTAG,你就可以使用SWD模式了(其实SWD并不需要JTAG这么多线),JLINK V8/JLINKV7ULINK2以及STLINK等都支持SWD。这里,我们使用SWD模式。
#### 5.1.6 按键
STM32开发板总共有3个按键,其原理图如下:
<img src=".\IMAGE\TIM截图20181202203009.png" width="500px"/>
KEY0和KEY1用作普通按键输入,分别连接在PC1和PC13上,WKUP按键连接到PA0(STM32的WKUP引脚),它除了可以用作普通输入按键外,还可以用作STM32的唤醒输入。
#### 5.1.7 LED
STM32开发板上总共有3个LED,其原理图如下:
<img src=".\IMAGE\2018-12-02_203312.gif" width="500px"/>
其中D2是开发板电源指示灯。LED0和LED1分别接在PA8和PD2上,PA8还可以通过TIM1的通道1的PWM输出来控制D0的亮度。
#### 5.1.8 无线模块
STM32 开发板板载了NRF24L01无线模块的接口。该接口用来连接NRF24L01等2.4G无线模块,从而实现开发板与其他设备的无线数据传输(注意:NRF24L01不能和蓝牙/WIFI连接)。NRF24L01无线模块的最大传输速度可以达到2Mbps,传输距离最大可以到30米左右(空旷地,无干扰)。有了这个接口,我们就可以做无线通信,以及其他很多的相关应用了。这部分原理图如下:
<img src=".\IMAGE\TIM截图20181202203608.png" width="500px"/>
#### 5.1.9 SPI FLASH
STM32开发板载有SPIFLASH芯片W25Q64,该芯片的容量为8M字节,其原理图如下:
<img src=".\IMAGE\TIM截图20181202203720.png" width="500px"/>
#### 5.1.10 USB、电源
开发板的供电部分还引出了5V(VOUT2)和3.3V(VOUT1)的排针,可以用来为外部设备提供电源或者从外部引入电源,这在很多时候是非常有用的,有时候你突然要一个3.3V的电源,但找半天就是没这样的电源,而我们的板子则可直接向外部提供3.3V电源,有了它,你就可以给外部设备提供3.3V、5V电源了。注意电流不能太大!
开发板的USB接口(USB)通过独立的MiniUSB头引出,不和USB转串口(USB232)共用,这样不但可以同时使用,还可以给系统提供更大的电流。
这几个部分的原理图如下:
<img src=".\IMAGE\TIM截图20181202203911.png" width="500px"/>
### 5.2、驱动电路
#### 5.2.1 驱动电路原理图如下
<img src=".\IMAGE\Drive_Circuit_页面_1.jpg"/>
#### 5.2.2 PCB如下
<img src=".\IMAGE\Drive_Circuit_页面_2.jpg"/>
#### 5.2.3 3D效果图如下
<img src=".\IMAGE\Drive.png"/>
#### 5.2.4 BOM报表如下
<img src=".\IMAGE\Drive_Circuit_页面_3.jpg"/>
#### 5.2.5 电压检测电路
<img src=".\IMAGE\1.png"/>
将输出电压经过运放·358放大2倍,送入滤波电路后,进行电压限幅后送入单片机AD通道。因为输出电压一直为正,运放不会产生负压,所以358采用单电源供电,减少了-5V电源的产生电路。
#### 5.2.6 驱动电路
<img src=".\IMAGE\2.png"/>
我们在单片机的AD输出端口与IR2110外围模拟电路之间添加了TLP521光耦隔离,增强电路的安全性,减小电压的干扰。
另外,IR2110的不足是不能产生负偏压。在大功率IGBT驱动场合,各路驱动电源独立,集成驱动器一般都能产生-5 V负压,用于增强IGBT关断的可靠性,防止由于密勒效应而造成误导通。IR2110器件内部虽不能产生负压,但可通过外加无源器件产生负压。
在驱动电路中增加由电容和5V稳压管组成的负压电路。其工作原理为:电源电压Vcc为20V。在上电期间,电源通过R8为C13充电,C13保持5V电压。HIN输入高电平时,HO输出20V,加在VG1的电压为15 V。当HIN为低电平时,HO输出0 V,VG1电压为-5V。选择的C13,C14要大于IGBT栅极输入寄生电容Ciss。自举电容充电电路中的二极管D1必须是快恢复二极管,以保证在有限时间内快速导通。
#### 5.2.7 与模拟系统对比
数字系统采用单片机控制,电路需要添加隔离电路,相比较模拟系统的3525芯片及其外围电路,成本较高;而在闭环的PI调试环节,数字系统只需要更改程序中的PI参数,相比较模拟系统更改电位器的电阻值而言,更加的方便快捷。
### 5.3、主电路
#### 5.3.1 主电路原理图如下
<img src=".\IMAGE\BUCK_页面_1.jpg"/>
#### 5.3.2 PCB如下
<img src=".\IMAGE\BUCK_页面_2.jpg"/>
#### 5.3.3 3D效果图如下
<img src=".\IMAGE\BUCK.png"/>
#### 5.3.4BOM报表如下
<img src=".\IMAGE\BUCK_页面_3.jpg"/>
### 5.4、UART 串口屏幕
串口屏定义就是,带串口控制的液晶屏就是串口屏了
详细定义:一套由单片机或PLC带控制器的显示方案,显示方案中的通讯部分由串口通讯,UART串口或者SPI串口等;它由显示驱动板、外壳、LCD液晶显 示�
没有合适的资源?快使用搜索试试~ 我知道了~
基于STM32的DCM模式下的BUCK变换器设计全部资料+详细文档.zip
共228个文件
h:60个
c:55个
png:18个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 36 浏览量
2024-12-07
14:00:52
上传
评论
收藏 32.66MB ZIP 举报
温馨提示
【资源说明】 基于STM32的DCM模式下的BUCK变换器设计全部资料+详细文档.zip 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
资源推荐
资源详情
资源评论
收起资源包目录
基于STM32的DCM模式下的BUCK变换器设计全部资料+详细文档.zip (228个子文件)
keilkilll.bat 372B
tasks.c 149KB
stm32f10x_tim.c 104KB
queue.c 79KB
stm32f10x_flash.c 59KB
stm32f10x_rcc.c 49KB
stm32f10x_adc.c 45KB
stm32f10x_i2c.c 43KB
stm32f10x_can.c 43KB
timers.c 39KB
stm32f10x_usart.c 36KB
system_stm32f10x.c 35KB
stm32f10x_fsmc.c 34KB
port.c 30KB
stm32f10x_spi.c 29KB
stm32f10x_dma.c 28KB
port.c 28KB
stm32f10x_sdio.c 27KB
port.c 27KB
port.c 26KB
event_groups.c 25KB
stm32f10x_gpio.c 22KB
port.c 21KB
stm32f10x_dac.c 18KB
heap_5.c 18KB
core_cm3.c 16KB
heap_4.c 16KB
croutine.c 15KB
port.c 12KB
heap_2.c 12KB
port.c 12KB
stm32f10x_cec.c 11KB
list.c 11KB
stm32f10x_pwr.c 8KB
stm32f10x_rtc.c 8KB
stm32f10x_bkp.c 8KB
heap_1.c 7KB
misc.c 7KB
main.c 7KB
stm32f10x_exti.c 7KB
stm32f10x_wwdg.c 5KB
heap_3.c 5KB
malloc.c 5KB
stm32f10x_dbgmcu.c 5KB
stm32f10x_iwdg.c 5KB
usart.c 5KB
timer.c 4KB
stm32f10x_crc.c 3KB
delay.c 3KB
adc.c 2KB
stm32f10x_it.c 2KB
HMI.c 2KB
key.c 1KB
PID.C 1KB
led.c 996B
sys.c 839B
BUCK.Dat 3KB
FreeRTOS_STM32F103RC_1.0.0.dbgconf 7KB
FreeRTOS_STM32F103ZE_1.0.0.dbgconf 7KB
LED_STM32F103ZE.dbgconf 7KB
FreeRTOS_STM32F103ZE.dbgconf 7KB
8B组设计说明书(前半部分).docx 6.16MB
2018-12-02_203312.gif 10KB
stm32f10x.h 611KB
task.h 91KB
core_cm3.h 82KB
queue.h 64KB
timers.h 59KB
stm32f10x_tim.h 50KB
semphr.h 48KB
FreeRTOS.h 33KB
event_groups.h 31KB
stm32f10x_rcc.h 29KB
stm32f10x_i2c.h 29KB
croutine.h 28KB
stm32f10x_can.h 26KB
stm32f10x_fsmc.h 26KB
stm32f10x_flash.h 24KB
stm32f10x_sdio.h 21KB
stm32f10x_adc.h 21KB
list.h 20KB
stm32f10x_dma.h 20KB
stm32f10x_gpio.h 19KB
stm32f10x_spi.h 17KB
stm32f10x_usart.h 16KB
stm32f10x_dac.h 15KB
FreeRTOSConfig.h 12KB
portmacro.h 12KB
mpu_prototypes.h 12KB
portmacro.h 10KB
portmacro.h 10KB
portmacro.h 10KB
mpu_wrappers.h 10KB
deprecated_definitions.h 10KB
misc.h 9KB
portable.h 8KB
portmacro.h 8KB
StackMacros.h 8KB
projdefs.h 8KB
portmacro.h 7KB
共 228 条
- 1
- 2
- 3
资源评论
Yuki-^_^
- 粉丝: 3112
- 资源: 4586
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 35 财务汇报部门历年薪酬统计图表.xlsx
- 39 财务工资发放表.xlsx
- 37 财务工资支出上半年年中总结报告.xlsx
- 38 财务分析工资年度开支表.xlsx
- 41 财务公司部门工资开支分析表.xlsx
- 40 财务分析部门工资支出图表.xlsx
- 42 部门员工工资统计表.xlsx
- 45 年度薪酬费用统计表.xlsx
- 44 人事薪酬管理台账.xlsx
- 48 工资对比分析报表模板.xls
- 47 可视化工资表自动统计1.xlsx
- 46 企业员工工资支出预算表.xlsx
- 43 工资收入对比分析表.xlsx
- 50 薪资分析图表.xlsx
- 49 薪酬数据统计分析报表excel模板.xlsx
- 年度公司薪酬调查分析方案(完整版).docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功