基于IIoT-EDDP开源平台和PYNQ软件框架的电机控制

电子说

1.3w人已加入

描述

IIoT-SPYN是一个基于IIoT-EDDP开源平台和PYNQ软件框架的项目,它展示了如何在PYNQ开源框架下对电机进行控制、监视、捕获数据、可视化和分析。

电机控制

上图为工程项目示意图,PL侧包含了对电机控制、状态采集的模块。在PYNQ中加载比特流后,就可以访问到这些已实现好的模块,对电机进行控制和状态检测。

电机控制

此项目中采用的FOC算法示意图,包括Clarke变换、Park变换、PWM编码器、PI控制器、电流采样等。Overlay中的算法模块通过Vivado HLS生成。

设备清单

PYNQ-Z2套件

EDDP Kit

快速开始

1)方法一

在Jupyter界面中new选项里选择新建一个终端,在终端输入:

udo pip3 install --upgrade git+https://github.com/Xilinx/IIoT-SPYN.git

2) 方法二

下载IIoT-SPYN的zip压缩包,上传压缩包到PYNQ板卡,在终端中unzip上传的压缩包,移动到解压的目录下然后采用pip安装

sudo pip3 install -e .

示例Notebook演示

Overlay自带2个Notebook,spyn.ipynb和spyn_dash.ipynb

电机控制

2个notebook均展示了完整的电机控制、状态检测和分析功能,不同的是spyn_dash.ipynb均在dashboard上实现。

以下为spyn.ipynb代码执行的部分截图。

电机控制


 

电机控制


 

电机控制

以下为spyn_dash.ipynb代码执行的部分截图。

电机控制


 

电机控制

总结与展望

本Overlay中使用了FOC算法,它在本质上就是一些线性代数中的矩阵变换,这里讲述的是有传感器的FOC算法,转子的位置信息是通过绝对式磁编码器反馈的,直接是数字量。关于FOC算法的详细内容,可以参考有关电机理论的专业书籍,这里不再赘述。

本项目中的FOC算法全部使用HLS编写,使用AXI-Stream接口完成各模块的通信。我们可以通过上述AXIS监测器来从PS端看到各关键数据。读者可以使用github提供的tcl文件恢复出完整的Vivado工程,以此为基础调整其中的算法或者功能,打造适合自身需要的电机控制Overlay。

编辑:hfy

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

全部0条评论

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

×
20
完善资料,
赚取积分