当前位置:诺佳网 > 电子/半导体 > 控制/MCU >

一块STM32最小系统板来驱动电机

时间:2017-11-29 | 栏目:控制/MCU | 点击:

工作准备

驱动电机

1、硬件准备

2、了解套件P-NUCLEO-IHM002,电机驱动板的各部分电路,电机的参数说明:

硬件环境搭建

开始捯饬

硬件的连接可以参考电机控制套件说明书,也就是官方的用户手册UM1949,可通过STM32中文官网www.stmcu.com.cn下载。另外需要自己备一根MINI usb的线

1)母线电压接线与U V W三相接线图

2跳线帽的接法与主控板电源跳线帽选择部分的电路图

3)出厂已经有程序,或者自己找到安装目录中的程序进行下载,完成后可以使用上位机进行连接控制电机启动

TASK1、控制电机5s转动、5s停止 源代码请阅读原文下载,代码中,因为systick500us的定时与SDK中一些任务的处理速度相关,这里作者觉得还是不要修改定时时间比较好。

特别说明一下:在main.c中定义uint16_t mytime; stm32f30x_it.c中定义extern uint16_t mytime;5S就是10000*500us,所以就可以转5S5S

TASK2PID参数的调试

写入代码后,首先看一下原始PID参数的速度曲线,图中可以看出转速的超调比较大,已经达到4000多转

接着修改程序,将程序设成2倍的PI参数和0.5倍的PI参数。通过实验可以看出,增大倍数的PID参数比减小的好,所以接下来将PI参数往大了调,分别作了2.2倍,2.5倍,2.9倍的速度曲线图。还想让超调小一点,所以作者减小了一点P参数,最终得到如下的速度曲线,通过上位机可以看到调完的参数,最后将程序中默认的PID参数改成自己的。

TASK3、状态的切换

将程序写好后,下载到板子中,我们可以看到致故障的上位机界面

然后将代码写进板子中,可以发现电机正常反转。上传关于状态机故障和清除故障的程序,大家参考StateMachineClass.h

状态机看这个图:

您可能感兴趣的文章:

相关文章