后电气化时代,你的马达够“强劲”吗?
手指在屏幕上轻轻一点,无人机穿越山谷拍摄美景。坐在车里喝着咖啡,电车自动驾驶到达终点。大型马达远离了城市的喧嚣,智能马达与日常生活密切相联。一切动起来的机器,都需要马达提供动力。马达是机器的心脏,驱动是系统的神经。如何在短时间设计出完美的马达驱动,是电子工程师撬动创新产品的支点。
为了帮助工程师加快创新脚步,AMD推出了马达驱动开发套件EDDP,该套件为三相马达驱动提供了完整的开发和评估环境,包括全套硬件、硬件逻辑参考工程、OS驱动、OS镜像和网络UI。与其他设计方式相比,这个完整的开发套件提供了核心控制单元FOC(Field Oriented Control)的C++源代码及理论模型,可帮助电动汽车、工业生产线、机器人、机械臂、无人机、云台等各种应用以及与FOC原理相通的领域开发马达驱动产品。
EDDP全套硬件方面
EDDP全套硬件包括控制板Arty Z7-10、适配板TEC0053、连接板TEC0060以及马达BLRW-111D-24V-10000-1000-SI。其中,控制板的核心是Zynq-7000,Zynq-7000是AMD的28nm自适应SoC,集成了ARM®处理器的软件可编程性与FPGA的硬件可编程性,可实现软件计算和硬件加速。在单个器件上实现了CPU、DSP、FPGA以及混合信号功能。控制板通过以太网与PC相连,用户可在PC端通过UI向控制板发送控制指令,并实时显示马达的转速、相位、电流等。
EDDP全套软件方面
软件方面,AMD为工程师提供了HLS工具。HLS(high level synthesis)是一种高级逻辑综合工具,它提供了一种高层次的开发方法,可以把C、C++、System C代码转换成HDL代码。传统的RTL设计,需要在实现细节上花费大量的时间,而对高层的算法设计、功能验证往往不够充分。HLS工具则允许设计者将精力集中在算法和验证上,RTL代码则由工具自动生成。即使不熟悉硬件描述语言的工程师也能快速上手开发设计。
借助此完整套件可充分发挥Zynq SoC软硬结合的优势,评估和开发高性能马达控制应用。工程师可以在C++代码基础上完善自己的设计,仿真验证自己的设想,并采用HLS(high level synthesis)将C++代码输出为硬件高效的RTL(VHDL,Verilog)IP,从而有效提高开发验证效率和硬件资源利用效率。
马达设计参考的算法结构
上面的图片展示了马达设计参考的算法结构,工程师使用HLS实现了FOC算法,包括了Clark变换模块、Park变换模块、PI控制器模块等。每一个模块都由C++描述。
下面以PI控制和Park变换为例
PI控制器:
它在此设计中起到滤波器的作用,可以滤除高频噪声,使系统消除稳态误差,提高无差度。
使用HLS实现PI的细节如图:
使用HLS实现PI控制的结果如下:
Park变换:
同步马达定子的a、b、c三相电流投影到随着转子旋转的直轴(d轴),交轴(q轴)与垂直于dq平面的零轴(0轴)。从数学角度,Park变换实现了一种坐标变换。
使用HLS实现Park变换的细节:
使用HLS实现Park变换的结果如下:
HLS数学库提供了丰富的数学函数,支持的数据类型包括自定义定点、半精度浮点、单精度浮点和双精度浮点,函数类型包括三角函数、指数函数等,可以为工业设计提供强大的支持。在具体操作时,用户可以下载具体的工程文件、源代码和技术文档,根据需要自由地修改代码,快速完成定制化设计。
阅读原文 |