2021-09-08 11:07:55 索炜达电子 1935
项目编号:E858
文件大小:325K
源码说明:带中文注释
开发环境:Verilog
简要概述
基于 FPGA 的磁场定向控制 (FOC),用于驱动永磁同步电机 (PMSM)
FOC控制算法对传感器采样速率和处理器算力提出了一定的要求,使用 FPGA 实现的 FOC 可以获得更好的实时性和零延迟抖动,并且更方便进行多路扩展。
本库实现了基于角度传感器(例如磁编码器)的有感 FOC,即一个完整的电流反馈环,可以进行扭矩控制。借助本库,你可以进一步使用 FPGA 、软核 MCU 或外置 MCU 实现更复杂的电机应用。
图1:系统框图
该项目代码有详细的注释,结合参考资料 [6~9],可以带你快速地熟悉 FOC 。
代码详解
下表罗列了该工程使用的所有 (System-)Verilog 代码文件,这些文件都在 ./RTL 目录下。,结合图1就能看出每个模块的作用。
目录│文件列表:
└ FpOC-main
│ 说明.docx
└ FpOC-main
│ diagram.png
│ wave.png
├ FPGA
│ │ foc.qpf
│ └ foc.qsf
└ RTL
│ pll.v
│ top.sv
├ foc
│ │ cartesian2polar.sv
│ │ clark_tr.sv
│ │ foc_top.sv
│ │ hold_detect.sv
│ │ park_tr.sv
│ │ pi_controller.sv
│ │ sincos.sv
│ └ svpwm.sv
├ sensors
│ │ adc_ad7928.sv
│ │ as5600_read.sv
│ └ i2c_register_read.sv
└ uart
│ itoa.sv
│ uart_monitor.sv
└ uart_tx.sv