# 基于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变换器设计
共227个文件
h:60个
c:55个
png:18个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 1 下载量 68 浏览量
2023-11-06
01:33:34
上传
评论 1
收藏 32.66MB ZIP 举报
温馨提示
基于STM32的DCM模式下的BUCK变换器设计 本工程包括软件部分的STM32的代码以及硬件部分的Altium Designer设计的PCB STM32使用STM32F103RCT6并移植FreeRTOS操作系统,进行按键任务、ADC任务、PWM生成任务、PID任务的调度管理 PCB包括控制电路STM32,驱动电路以及主电路BUCK电路 ----------------------- 该资源内项目源码是个人的课程设计作业,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到94.5分,放心下载使用! 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 -------- ---
资源推荐
资源详情
资源评论
收起资源包目录
基于STM32的DCM模式下的BUCK变换器设计 (227个子文件)
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
LED_STM32F103ZE.dbgconf 7KB
FreeRTOS_STM32F103ZE.dbgconf 7KB
FreeRTOS_STM32F103ZE_1.0.0.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
共 227 条
- 1
- 2
- 3
资源评论
- swaggaws2024-03-17实在是宝藏资源、宝藏分享者!感谢大佬~
机智的程序员zero
- 粉丝: 2459
- 资源: 4741
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 2018年对口升学信息一类第一次联考试题(卷).doc
- 见证时代变迁的高考作文题.doc
- 江苏兴化一中2018年高考第四次模拟考试语文试题整理.doc
- 建筑试题3[识图答案].doc
- 静载检测技术基础理论考试(员)C.doc
- 跨境电商人才初级认证试题以与答案.doc
- 临床的护理文书规范模拟考试标准答案09_8_7.doc
- 垃圾分类知识问答.doc
- 六年级英语上[下册]知识点总结.doc
- 六年级写字教学案.doc
- 农业区位因素教学设计.doc
- 牛津译林版2018年_2018年学年8A英语期末专题练习_首字母填空.doc
- 人版小学数学六年级(下册)第3单元圆柱与圆锥教案.doc
- 巧用多媒体有效地复习有丝分裂和减数分裂考点.doc
- 人民教育出版社五年级语文(下册)易错字易错音.doc
- 山东省医学继续教育公共课程急诊及急救答案.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功