基于STM32的无刷直流电机速度位置电流环控制系统(详细设计说明书+源码+原理图+PCB)
·
基于STM32的无刷直流电机速度位置电流环控制系统(详细设计说明书+源码+原理图+PCB)
10129-基于STM32的无刷直流电机速度位置电流环控制系统(详细设计说明书+源码+原理图+PCB)
功能需求:
1、实现电流环控制-力矩模式
2、实现速度环控制-速度模式
3、实现位置环控制-位置模式
4、实现速度力矩模式
5、实现位置力矩模式
资料摘要:
⑴参考了国内外不同的研究内容和参考文献,阐述了大功率关节电机的研究背景和目前国内外研究现状。阐述了研究大功率人形机器人关节电机驱动的重要意义。
⑵介绍了关节电机的结构组成,对关节电机的本体选型进行了分析。对PMSM数学建模以及控制方法的介绍,包括Park、Clarke变化、SVPWM的介绍。
⑶硬件设计主要是对元器件选型、原理图的设计、PCB的绘制。电机驱动的主要模块包括电源模块、主控、栅极驱动器、逆变电路、测量电路。PCB采用四层板设计,芯片封装小,集成度高。
⑷软件设计首先是对底层驱动的开发包括SPI通信的栅极驱动器DRV8353、编码器AS5047;微控制器的ADC、TIM、PWM等外设的设置。然后是对FOC算法的编写,包括Park变化、Clarke变化、SVPWM、PID算法等。最后是整体逻辑框架的编写。
⑸工艺流程主要是对元器件焊接、模块功能的调试流程和方法。功能验证包括力矩控制、速度控制、位置控制,母线电压、板载温度的检测、通信方式控制等功能。
资料包含:
1、Keil5源码+Cubemx配置文件
2、详细设计说明书-15023字
3、原理图+PCB+封装库源文件








#include "main.h"
#include "spi.h"
#include "DRV8353.H"
DRV_8353_info DRV_info;
uint16_t SPI_ReadWrite_DRV8353(uint16_t ReadAddr)
{
uint16_t value;
DRV8353_NSS_LOW();
HAL_SPI_TransmitReceive(&hspi3, (uint8_t*)&ReadAddr, (uint8_t*)&value, 1, 1000);
DRV8353_NSS_HIGH();
return value;
}
void Set_DRV8353(void)
{
DRV8353_ENABLE_ON();
HAL_Delay(1000);///
DRV8353_PWM_cotr_OFF();
// 写 地址 10-8
SPI_ReadWrite_DRV8353(0x1420); //address 02 0b0 0010 100 0010 0000=0x1420
SPI_ReadWrite_DRV8353(0x1bff); //address 03 0b0 0011 011 1111 1111
SPI_ReadWrite_DRV8353(0x27ff); //address 04 0b0 0100 111 1111 1111
SPI_ReadWrite_DRV8353(0x2968); //address 05 0b0 0101 001 0110 1000
SPI_ReadWrite_DRV8353(0x32c3); //address 06 0b0 0110 010 1100 0011
HAL_Delay(300);
DRV_info.TIMP0 = SPI_ReadWrite_DRV8353(0x8000);//取地址0x00
DRV_info.TIMP1 = SPI_ReadWrite_DRV8353(0x8800);//取地址0x01
DRV_info.TIMP2= SPI_ReadWrite_DRV8353(0x9000);//取地址0x02
DRV_info.TIMP3= SPI_ReadWrite_DRV8353(0x9800);//取地址0x03
DRV_info.TIMP4= SPI_ReadWrite_DRV8353(0xA000);//取地址0x04
DRV_info.TIMP5= SPI_ReadWrite_DRV8353(0xA800);//取地址0x05
DRV_info.TIMP6= SPI_ReadWrite_DRV8353(0xB000);//取地址0x06
DRV8353_PWM_cotr_ON();
}
更多推荐
所有评论(0)