全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

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

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

时间:2017-11-29 07:33

人气:

作者:admin

标签: STM32  电机驱动 

导读:通过实验可以看出,增大倍数的PID参数比减小的好,所以接下来将PI参数往大了调,分别作了2.2倍,2.5倍,2.9倍的速度曲线图。还想让超调小一点,所以作者减小了一点P参数,最终得到...

工作准备

驱动电机

1、硬件准备

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

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

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

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

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

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

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

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

  • Bull-Runningmodel BR2804-1700 kV

  • Nominalvoltage 11.1 V DC (battery up to 3 S)

  • MaximumDC current: 5 A(最大电流为5A

  • Sevenpole pairs(极对数为7

硬件环境搭建

开始捯饬

硬件的连接可以参考电机控制套件说明书,也就是官方的用户手册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

状态机看这个图:

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信