基于FPGA实现FOC算法之Clark模块设计

描述

一. 简介

今天给大家讲解的是FOC流程中的Clark变换,在流程图中的位置如下图所示。

FPGA

二. 变换需要

无刷电机在运行的过程中,三相电流是一个幅值频率相等、相位相差120°的正弦波,由于相位是固定的,那么可以轻松通过投影的手段,将三相电流变为两相电流,α轴和β轴电流,也就是Clark变换,这样在分析问题时,三个变量就简化成为了两个变量。

FPGA

变换公式推导出来,并且化简后,如下图所示,这样就只需要在FPGA中将其实现出来即可。

FPGA

三. FPGA实现细节

FPGA内部一般是不直接处理小数的,而且通过将小数扩大相应的倍数然后取整进行计算。在公式中有两个常数,将其扩大2^16,然后取整的结果为18'd37937和18'd75674 ,这里要将常量指定为18bit位宽,因为在7020中,DSP的计算乘法时的位宽为25bitx18bit。乘法的计算可以采用IP的方式,同样也可以采用*直接运算,为了便于移植,本设计直接采样的*进行运算。

整个变换只涉及到两个乘法和一次加法,还是比较容易实现的~,那我们就下期再见。

加减速模块测试~~ 还需要进一步优化~~~

来源:本文转载自FPGA之旅公众号

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分