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

来源:网络  作者:网络转载   2019-09-26 阅读:431

1、硬件准备

一块STM32最小系统板:可以用自己的,也可以用nucleo板

驱动板:针对的是中小功率的伺服电机、马达,所以驱动模块一般可以选择分立的MOSFET或者集成的IPM模块,驱动板上需要包含:

位置信号接口:比如编码器和霍尔位置传感器

相电流采样与信号调理电路

过压、欠压、过流、过温保护

一款电机,这里需要知道电机的参数信息和位置接口

带有限流功能的数字电源或者电流限制在额定电流以下的开关电源

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

Bull-RunningmodelBR2804-1700kV

Nominalvoltage11.1VDC(batteryupto3S)

MaximumDCcurrent:5A(最大电流为5A)

Sevenpolepairs(极对数为7)

硬件环境搭建

开始捯饬

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

1)母线电压接线与UVW三相接线图

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

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

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

特别说明一下:在main.c中定义uint16_tmytime;在stm32f30x_it.c中定义externuint16_tmytime;5S就是10000*500us,所以就可以转5S停5S了。

TASK2、PID参数的调试

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

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

TASK3、状态的切换

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

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

状态机看这个图:


line> 

标签: 最小
打赏

免责声明:
本站部份内容系网友自发上传与转载,不代表本网赞同其观点;
如涉及内容、版权等问题,请在30日内联系,我们将在第一时间删除内容!

购物指南

支付方式

商家合作

关于我们

微信扫一扫

(c)2008-2018 DESTOON B2B SYSTEM All Rights Reserved
免责声明:以上信息由相关企业或个人自行免费发布,其真实性、准确性及合法性未证实。请谨慎采用,风险自负。本网对此不承担任何法律责任。

在线咨询

在线咨询:

QQ交流群

微信公众号