2021-09-25 15:23:09 索炜达电子 1476
项目编号:E1306
文件大小:11M
源码说明:带中文注释
开发环境:C编译器
简要概述:
经过一个星期的画PCB,今天终于化了,整体看上去还比较满意,具体的性能还得等后期制板、测试才知道。
这个电路属于低频功率型板,相对高频板信号质量就要求不高了,所以也就不用考虑信号完整性等问题了。
等完成原理图的设计之后,我就请教了好几个人,在布线的时候需要注意的事项,但是没有得到什么有价值的答案,原因是他们不了解我,只是站在自己的去看待这件事了,所以对于他们就没什么难度了。
在原理图的设计时,参照了“阿嘉”和“六哥”的方案,大体没有太大的改动(六哥的已经商品化,相对有保证),只是完善了自己的接口和一些器件的选型。对于原理图的分析请看前两篇博客,有什么不对的地方欢迎指出。
原理图设计完成之后,接下来就是为各个器件添加封装了。这个过程我检查的还是比较仔细的,因为上次已经在这里出现过一次问题了。对于电阻,电容的封装大体选用0603,对于个别选用0805。对于重要的器件,参考了数据手册和IPC-7351进行选择,应该不会有问题。
接下来就是导入网表,开始布局。相对来说这个比较简单所以布局也就比较随意,基本原则就是按照功能模块进行布局的。在布线的时候我更比较随意了,也不想什么规则。当布到一半的时候,好多走线都无法完成了,连打过孔的机会都不给我了。我想肯定是出问题了,应该是布局的问题,大概看这个图看了一天,光看不画,看看哪里出问题了。于是就开始了第二版,有了第一次的不顺利,第二次自然就顺利了很多。大概用了不到一个星期就画完了,这个图我自己看上去很是满意。
前面这些跟流水账似的,没有什么实质性的意思。
在画之前我就找好了人帮我检查这个图了,周五我把图发给我了相思谷(一个网友),把帮我之处了很多问题,下面就总结一下问题。
1、线间距。
这里应该遵循3W规则,所谓3W就是为了减少线间串扰,应保证线间距足够大,当线中心不少于3倍线宽,则可 保持70%的电场不互相干扰。如要达到98%的电场不互相干扰,可使用10W的间距。——这是查阅华为PCB布线规则所得。
这里我就没有遵循这个原则,我的线间距大概只有1倍线宽。
2、电源线过细。
这里我查阅了华为PCB教程得到了下面一个表格。这里线宽跟所能承受最大电流的关系表
目录│文件列表:
│ ESC32 流程图.vsd
├ ESC32 Keil
│ │ IO分配表.xls
│ │ README.md
│ ├ lib
│ │ │ startup_stm32f10x_md.s
│ │ │ stm32f10x.h
│ │ │ stm32f10x_adc.c
│ │ │ stm32f10x_adc.h
│ │ │ stm32f10x_conf.h
│ │ │ stm32f10x_dbgmcu.c
│ │ │ stm32f10x_dbgmcu.h
│ │ │ stm32f10x_dma.c
│ │ │ stm32f10x_dma.h
│ │ │ stm32f10x_exti.c
│ │ │ stm32f10x_exti.h
│ │ │ stm32f10x_flash.c
│ │ │ stm32f10x_flash.h
│ │ │ stm32f10x_gpio.c
│ │ │ stm32f10x_gpio.h
│ │ │ stm32f10x_iwdg.c
│ │ │ stm32f10x_iwdg.h
│ │ │ stm32f10x_pwr.c
│ │ │ stm32f10x_pwr.h
│ │ │ stm32f10x_rcc.c
│ │ │ stm32f10x_rcc.h
│ │ │ stm32f10x_tim.c
│ │ │ stm32f10x_tim.h
│ │ │ stm32f10x_usart.c
│ │ │ stm32f10x_usart.h
│ │ │ system_stm32f10x.c
│ │ └ system_stm32f10x.h
│ ├ pro
│ │ │ JLink Regs CM3.txt
│ │ │ JLinkLog.txt
│ │ │ JLinkSettings.ini
│ │ │ Jlink_Flash_init.ini
│ │ │ project.plg
│ │ │ project.uvgui.MXW
│ │ │ project.uvgui_MXW.bak
│ │ │ project.uvopt
│ │ │ project.uvproj
│ │ │ project_Debug.dep
│ │ │ project_uvopt.bak
│ │ ├ lst
│ │ │ │ project.map
│ │ │ └ startup_stm32f10x_md.lst
│ │ └ obj
│ │ │ adc.crf
│ │ │ adc.d
│ │ │ adc.o
│ │ │ adc.__i
│ │ │ binary.crf
│ │ │ binary.d
│ │ │ binary.o
│ │ │ binary.__i
│ │ │ cli.crf
│ │ │ cli.d
│ │ │ cli.o
│ │ │ cli.__i
│ │ │ config.crf
│ │ │ config.d
│ │ │ config.o
│ │ │ config.__i
│ │ │ digital.crf
│ │ │ digital.d
│ │ │ digital.o
│ │ │ fet.crf
│ │ │ fet.d
│ │ │ fet.o
│ │ │ fet.__i
│ │ │ getbuildnum.crf
│ │ │ getbuildnum.d
│ │ │ getbuildnum.o
│ │ │ main.crf
│ │ │ main.d
│ │ │ main.o
│ │ │ main.__i
│ │ │ misc.crf
│ │ │ misc.d
│ │ │ misc.o
│ │ │ ow.crf
│ │ │ ow.d
│ │ │ ow.o
│ │ │ ow.__i
│ │ │ project.axf
│ │ │ project.hex
│ │ │ project.htm
│ │ │ project.lnp
│ │ │ project.sct
│ │ │ project.tra
│ │ │ pwm.crf
│ │ │ pwm.d
│ │ │ pwm.o
│ │ │ pwm.__i
│ │ │ rcc.crf
│ │ │ rcc.d
│ │ │ rcc.o
│ │ │ run.crf
│ │ │ run.d
│ │ │ run.o
│ │ │ run.__i
│ │ │ serial.crf
│ │ │ serial.d
│ │ │ serial.o
│ │ │ serial.__i
│ │ │ startup_stm32f10x_md.d
│ │ │ startup_stm32f10x_md.o
│ │ │ stm32f10x_adc.crf
│ │ │ stm32f10x_adc.d
│ │ │ stm32f10x_adc.o
│ │ │ stm32f10x_dbgmcu.crf
│ │ │ stm32f10x_dbgmcu.d
│ │ │ stm32f10x_dbgmcu.o
│ │ │ stm32f10x_dma.crf
│ │ │ stm32f10x_dma.d
│ │ │ stm32f10x_dma.o
│ │ │ stm32f10x_exti.crf
│ │ │ stm32f10x_exti.d
│ │ │ stm32f10x_exti.o
│ │ │ stm32f10x_flash.crf
│ │ │ stm32f10x_flash.d
│ │ │ stm32f10x_flash.o
│ │ │ stm32f10x_gpio.crf
│ │ │ stm32f10x_gpio.d
│ │ │ stm32f10x_gpio.o
│ │ │ stm32f10x_iwdg.crf
│ │ │ stm32f10x_iwdg.d
│ │ │ stm32f10x_iwdg.o
│ │ │ stm32f10x_pwr.crf
│ │ │ stm32f10x_pwr.d
│ │ │ stm32f10x_pwr.o
│ │ │ stm32f10x_rcc.crf
│ │ │ stm32f10x_rcc.d
│ │ │ stm32f10x_rcc.o
│ │ │ stm32f10x_tim.crf
│ │ │ stm32f10x_tim.d
│ │ │ stm32f10x_tim.o
│ │ │ stm32f10x_usart.crf
│ │ │ stm32f10x_usart.d
│ │ │ stm32f10x_usart.o
│ │ │ system_stm32f10x.crf
│ │ │ system_stm32f10x.d
│ │ │ system_stm32f10x.o
│ │ │ timer.crf
│ │ │ timer.d
│ │ └ timer.o
│ ├ src
│ │ │ adc.c
│ │ │ adc.h
│ │ │ binary.c
│ │ │ binary.h
│ │ │ buildnum.h
│ │ │ cli.c
│ │ │ cli.h
│ │ │ config.c
│ │ │ config.h
│ │ │ core_cm3.h
│ │ │ digital.c
│ │ │ digital.h
│ │ │ fet.c
│ │ │ fet.h
│ │ │ getbuildnum.c
│ │ │ getbuildnum.h
│ │ │ main.c
│ │ │ main.h
│ │ │ misc.c
│ │ │ misc.h
│ │ │ ow.c
│ │ │ ow.h
│ │ │ pwm.c
│ │ │ pwm.h
│ │ │ rcc.c
│ │ │ rcc.h
│ │ │ run.c
│ │ │ run.h
│ │ │ serial.c
│ │ │ serial.h
│ │ │ timer.c
│ │ └ timer.h
│ └ vs2008
│ └ esc32
│ │ esc32.sln
│ └ esc32
│ └ esc32.vcproj
├ 原理图、PCB源文件及BOM
│ │ ESC32(V1.00)BOM.xlsx
│ └ esc32_sch_pcb_altiumn.rar
└ 相关设计文档
│ ESC32硬件---PCB小结(第一版).doc
│ 无感无刷直流电机之电调设计全攻略.pdf
└ 电子制作作品发表.rar