Bilibili视频配套视频:
HALL有感启动电机基于STMCSDK:
https://www.bilibili.com/video/BV1W14y1k7Ct/?spm_id_from=333.999.0.0&vd_source=eb375996b1aae493d63fe367f98b306c
无感启动电机基于STMCSDK:
https://www.bilibili.com/video/BV1QG41197AH/?spm_id_from=333.999.0.0&vd_source=eb375996b1aae493d63fe367f98b306c
电位器控制电机转速基于STMCSDK:
https://www.bilibili.com/video/BV1H34y1T7ZS/?spm_id_from=333.999.0.0&vd_source=eb375996b1aae493d63fe367f98b306c
1.BLDC霍尔MCSDK配置及代码生成
1.1 ST MCSDK配置
① 双击打开MotorControl Workbench 5.Y.4 :
② 新建工程:
③ 选择用户应用,用户板子,电压小于50V,点击OK:
④ 正常工作电压修改为24V,我们使用24V电源适配器供电:
⑤ 选择MCU型号及时钟频率,先选择外部8M时钟,后续在CUBEMX再修改:
⑥ 配置电机参数及霍尔传感器参数:
⑦ 速度传感器选择HALL传感器:
⑧ 根据原理图来配置各个数字IO:
⑨ 配置电流采样部分,三电阻采样,修改采样电阻大小,取消amp on board,此处不配置运放增益,在后续analog部分配置:
⑩配置MCU模拟部分输入:
11基于原理图配置输入电压检测,取消温度传感器和过流保护,过流保护由软件保护:
12配置电流环及速度环KPKI参数:
13点击生成代码 ,将工程保存后点击 :
14生成代码过程中,此类报错可忽略,原因时CUBEMX版本过低:
15生成代码,打开IOC文件修改时钟,然后点击生成代码:
1.2 实验现象
按以下图片接线,并将USB转UART模块连接至电脑:
①打开KEIL工程,使用stlink连接开发板SWD及UART,编译并下载代码;
②代码下载成功后,按下开发板RESET按键,打开SDK上位机 软件,打开UART,波特率设置115200,点击连接;点击开始,即可启动电机,或按下用户按键3也可启动电机;
③使用上位机的画图工具可以看到相应数据的波形:
2.BLDC无感MCSDK配置及代码生成
① 无感配置需要将速度传感器配置无传感器模式:
②配置无感启动参数:
- ③其他参数无需修改,点击生成代码,后续流程与霍尔传感器配置流程完全一样;
3.使用电位器调节BLDC转速
基于第一小节的BLDC霍尔有感代码的基础上增加电位器的ADC采样;
1.增加电位器ADC采样相关变量;
2.设置采样通道及时间,注册规则组ADC采样;
3.在while循环中请求并执行ADC转换;采样值0-128转速对应-1100~-400;
采样值128-256对应转速400~1100;
3.1 实验现象
按以下图片接线,并将USB转UART模块连接至电脑:
- 编译并下载代码,打开ST上位机,使用UART连接开发板,并启动电机;
- 使用螺丝刀,旋转电位器,可以看到速度会随着while循环中的代码逻辑发生改变;
4.使用CAN上位机调节BLDC转速
基于第一小节的BLDC霍尔有感代码的基础上增加CAN通讯代码;
1.打开工程中的IOC文件,首先将系统时钟改为160M,修改为160M主要是为了方便计算波特率;
2.使能CANFD通讯;
3.配置仲裁段和数据段的分频系数跳转位宽,使能FIFO模式;
波特率:500k = 160M/20/(1+10+5)
4.使能中断;
5.点击生成代码 ,打开Keil工程;
6. 定义RX和TX数据及中间变量;
7.配置RX和TX数据帧类型,RX接收的ID范围;TX ID和数据长度等参数;
8.在it.c文件中,在FDCAN中断里面,接收上位机发送的数据;
9.增加math及string头文件;
10.定义速度、模式及方向等需要上传的变量;
11.在while循环中增加获取当前电机速度、方向、控制模式等函数;并将实时参数上传至上位机;同时接收上位机下发的电机启动、速度等指令;
12.编译并下带代码;
4.1 实验现象
按以下图片接线,并将USB转UART及USBCAN模块连接至电脑:
1.打开ST上位机及PCAN上位机,并连接,CAN通讯速率500kbits;
2.在发送数据栏中,发送该条数据即可启动电机,其中第0位为1并且第四位为1即可启动电机;第1位为1代表正向启动;第2及第三位代表速度,RxData[2]*256 + RxData[3];
3.观察ST上位机的速度,与我们期望参考速度一致
4.修改第2及3位数据即可修改电机参考转速;将第0位为1并且第四位为0即可停止电机;
文章来源:https://www.toymoban.com/news/detail-835543.html
文章来源地址https://www.toymoban.com/news/detail-835543.html
到了这里,关于STM32G4 Simulink FOC开发实战--第四章:ST MCSDK快速启动电机的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!