环境配置(所需安装软件):
- Matlab2018b
- STM32CubeMX 5.6.0 需要配置好Java环境
- STM32-MAT/TARGET 5.6.0
- STM32CubeIDE或Keil5 或 IAR
各软件需要版本!!!
主要步骤:
- 步骤1:Simulink建模仿真,利用Matlab/Simulink完成控制算法和被控对象的建模,此过程完全在Matlab/Simulink上实现,用于算法可行性的验证。
- 步骤2:软件在环仿真(Software in the loop, SIL),此过程在Matlab/Simulink上实现,控制算法和被控制对象模型都是在Matlab/Simulink上建立的仿真模型。设置为SIL模式的模型会生成为C代码,通过C代码对被控对象实现控制。
- 步骤3:处理器在环仿真(Processor in the loop, PIL),该步骤中使用的控制程序都是经过SIL测试后对应控制模型生成的C代码,这部分程序将在相应的处理器上运行,控制算法会被编译并下载到STM32当中,通过STM32完成对Matlab/Simulink中被控对象模型控制,过程当中数据通过串口通信进行交互。PIL测试过程需要的时间成本远大于SIL测试,因此需要先进行SIL测试,保证C代码的可行性。由于STM32的运行速度有限,因此选择的电机控制算法必须在设定的控制周期内运算结束,另外还需兼顾芯片存储问题,防止计算过程中出现由于堆栈空间太少而导致运行错误。
- 步骤4:实物运行,该步骤使用的是PIL测试中已经验证过的控制模块,将Matlab/Simulink中的该部分模型编译成STM32的工程文件。此步骤中输人输出参数都由真实外设采集而来,并且所有控制算法都在STM32上运行,完全脱离Matlab/Simulink。
STM32-MAT(重点):
该部分需完成与stm32的接口设置