【E5】XMC4400F100K512的PMSM无位置传感器驱动控制程序

2021-08-12 17:59:59      索炜达电子      2802     

项目编号:E5

文件大小:61M

源码说明:带中文注释

开发环境:C编译器

简要概述:

基于XMC4400F100K512PMSM无位置传感器驱动控制程序

引脚定义

注:Sensorless FOC 不需要使用位置传感器接口

【E5】XMC4400F100K512的PMSM无位置传感器驱动控制程序

软件设计

  • 底层驱动

  1. CCU8 :

    • 生成3路带死区的互补的PWM信号

    • 一路专用的PWM用于触发采样和PWM占空比更新

  2. VADC :

    • VADC0 G0、G2、G3三组同步采样(G0主 G2,G3从)

  3. POSIF :

    • 独立多通道模式用于保护封波

  4. USIC :

    • ASC协议UART模式,用于和上位机通信

  5. DAC

    • DAC1输出用于观测器和角度的实时Debug

  • 主要中断:

  1. CCU80_0_IRQHandler:

    • 更新下一个62.5us内的PWM信号占空比

    • 处理初始定位和闭环I/F启动相关流程

  2. VADC0_G0_0_IRQHandler:

    • 三相电流重构

    • 观测器反电势估计

    • 锁相环角度估计与转速估计

    • I/F-FOC切换相关流程

    • dq轴电流环运算

    • 虚拟示波器Flash存储

  3. SysTick_Handler:

    • 转速环运算

    • 上位机显示

    • 虚拟示波器Flash数据显示

Control_Loop_Mode 1:电流单闭环 2:转速电流双闭环

文件列表:

目录│文件列表:

 ├ 1.文档

 │  └ 说明.docx

 └ 2.源码

    └ sensorless_foc

       │ EventRecorderStub.scvd

       │ JLinkSettings.ini

       │ KEILCLEAN.bat

       │ MotorTest.zip

       │ PMSM_FOC.uvoptx

       │ PMSM_FOC.uvprojx

       ├ DEBUG

       │  │ Agreement.c

       │  │ Agreement.h

       │  │ DAC.c

       │  │ DAC.h

       │  │ UART.c

       │  └ UART.h

       ├ FOC_Control

       │  │ Call_Functions.c

       │  │ Call_Functions.h

       │  │ INT_ISR.c

       │  │ INT_ISR.h

       │  │ Motor_Functions.h

       │  │ PI_Control.c

       │  │ PI_Control.h

       │  └ SVPWM.h

       ├ Main

       │  └ main.c

       ├ Objects

       │  └ PMSM_FOC.hex

       ├ Readme

       │  └ README.txt

       ├ RTE

       │  ├ Device

       │  │  ├ XMC4400-F100x512

       │  │  │  │ RTE_Device.h

       │  │  │  │ startup_XMC4400.s

       │  │  │  └ system_XMC4400.c

       │  │  └ XMC4400-F64x512

       │  │     │ RTE_Device.h

       │  │     │ startup_XMC4400.s

       │  │     └ system_XMC4400.c

       │  └ _Target_1

       │     └ RTE_Components.h

       ├ Sensorless_Lib

       │  │ PMSM_FOC.lib

       │  └ SVPWM.lib

       └ SYS_Init

          │ MCU_Initialize.c

          │ MCU_Initialize.h

          │ VAR_Initialize.c

          └ VAR_Initialize.h

TAGPMSMXMC4400F100K512
  • 13 次
  • 1 分