ST MC SDK生成自己的MCU工程教程

橙三吉。 提交于 2021-01-18 11:20:34

我用的是STM32F407ZGT6,但是 SDK支持的MCU里并不包含这款,如下图所示,本文就来记录如何创建一个工程以及将工程更改成适合自己MCU的文件。
在这里插入图片描述

1.工程创建

双击打开SDK后,因为控制板和功率板都是自己的,并不是ST的套件,所以此处选择应该如下图所示。
在这里插入图片描述

选择MCU 的时候尽量选择与自己所用MCU型号相近的,首先基于相同系列,其次基于相同管脚数。所以这里选择STM32F407IGT6,稍后需要做进一步的修改。
频率的话只能选择外部频率,就要根据自己手里的硬件进行选择,我手里的最小系统是25MHz外部晶振。如下图所示。
在这里插入图片描述
进来以后如下图所示。
在这里插入图片描述



2.参数设置

实验室有直流电源,所以AC INPUT那里不用管,首先设置BUS VOLTAGE。功率板电路原理图(母线电压采样)如下图所示:
在这里插入图片描述
相应的工程设置如下图所示:
在这里插入图片描述


2.1电机参数设置

电机用的是外转子无位置无刷直流电机。需要知道自己电机的极对数、最大转速、额定电流、额定电压、相电阻、电感、反电势常数。所以设置参数如下图所示:
在这里插入图片描述
因为是无位置检测,所以这两项都不选。
在这里插入图片描述


2.2电流检测

电流检测参数设置如下图所示,可以选择单电阻、三电阻、ICS采样方式,这几个参数根据自己的功率板电路原理图进行填写,:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210116101344438.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0phY2hpbl9MaQ==,size_16,color_FFFFFF,t_70#pic_center)

同时这个软件提供了计算功能来计算放大倍数,点击后边的calculate,后如下图所示:
在这里插入图片描述

2.3转子位置检测

一般情况下下边的参数无需修改,保持默认即可。
在这里插入图片描述

2.4过流保护

在这里插入图片描述

2.5开光管的最小死区时间和开关频率

在这里插入图片描述

2.6上下管驱动PWM的有效极性设置

在这里插入图片描述

2.7驱动控制管理

在这里插入图片描述

2.7.1启动参数管理

在这里插入图片描述

2.7.2驱动设置

在这里插入图片描述
这里的PWM频率是16000Hz,然而根据程序里的设置,求出来PWM的频率是32000Hz,但是因为波形是中心对称波形,所以32000应该除以2.。

2.8欠压检测及保护

在这里插入图片描述

2.9电压、电流、温度采样

电流:
在这里插入图片描述
电压&温度:在这里插入图片描述

2.10IO口配置

在这里插入图片描述

2.11DAC功能

在这里插入图片描述
到这里一些基本的参数就设置完成了,接下来进行一下IO口的检查,就可以生成工程了。

2.12IO口冲突检查

在这里插入图片描述
在这里插入图片描述
可以看到有两个冲突,一个是温度采样和DAC冲突,一个是TIM1的BKIN引脚和电流采样的ADC12_IN6冲突,我们只需要回到设置的地方更改IO口即可。

2.13生成工程

在上方工具栏先保存文件,可以新建一个英文名的文件夹。然后点击下载按钮进行生成。如下图所示:
在这里插入图片描述
点击“生成”图标后会有下图弹出,因为用KEIL进行编程,所以选择Keil MDK-ARM V5。
在这里插入图片描述
然后点击“GENERATE",可能会弹出警告,这个不用管,点击“YES"就好,如下图:
在这里插入图片描述




3.更改MCU型号

在新建的文件夹里找到.ioc文件,并用记事本打开:
在这里插入图片描述
然后在记事本里对这两项进行更改替换,一个是MCU的型号,一个是MCU的封装。
在这里插入图片描述
替换后如下图所示:
在这里插入图片描述
保存后在把.ioc文件用Cube-MX打开:
在这里插入图片描述
进入Cube-MX后然后对ADC进行使能,这个操作就是消除开始用ST SDK生成工程的那个警告,如下图所示:
在这里插入图片描述
在这里插入图片描述
然后生成代码,如下图所示:
在这里插入图片描述
至此,工程基本计算生成完成了,编译以后也是零警告、零错误。
在这里插入图片描述
当然,应用到实际工程中还有许多的路要走,对程序也需要做相应的修改,目前我也在摸索。如有错误之处,还望不吝赐教。














标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!