完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
您可能知道,对于电机控制,三个相电流和位置在一个瞬间首先使用ADC进行采样。
采样信号首先用于Park变换以获得I_d / I_q,并进行电流调节以产生电压命令Ud / Uq。 Ud / Uq与位置信号一起用于逆Park变换。 由于FPGA的性质,Ud / Uq计算需要几个周期才能用于逆Park变换。 但是,逆Park变换可以直接使用该位置,因为此信号没有处理。 但是必须使用与相位电流相对应的Ud / Uq,该相电流与位置信号相同。 我知道我可以在位置信号上手动添加一些延迟,以弥补位置和Ud / Uq信号之间的时间差。 但是,我不认为这可能是一般方式。 我想知道是否有一些通用的方法来同步信号。 目前使用FPGA进行电机控制或其他应用的做法是什么。 BTY,我正在使用Kintex和Simulink以及System Generator for DSP。 提前感谢您的帮助。 以上来自于谷歌翻译 以下为原文 As you may know, for motor control, three phase currents and position first sampled with ADC at one time instant. The sampled signals are first used to in Park Transform to get the I_d/I_q, and do the current regulation to generate voltage commands Ud/Uq. The Ud/Uq together with the position signal are used in the inverse Park Transform. Due to the FPGA nature, it takes several cycles for the Ud/Uq calculation before they can be used for inverse Park Transform. However, the inverse Park Transform can use the position directly as there is no processing on this signal. But it is necessary to use the Ud/Uq corresponding to the phase currents which are sampled at the same as the position signal. I know I can add some delays manually on the position signal to make up the time difference among the position and Ud/Uq signals. However, I don't think this could be a general way. I am wondering whether there are some general ways to synchronize the signals. What are the current practices in using FPGA for motor control or other applications. BTY, I am using Kintex with Simulink and System Generator for DSP. Thank you in advance for your kind help. |
|
相关推荐
2个回答
|
|
@fbaiwhether你必须纠正这个延迟取决于你的控制循环的带宽与延迟。
对于循环来说,“通知”可能太低了。 如果你真的想平衡延迟,这就是我在这样的情况下做的事情:设计一个通用延迟线,它根据类型和延迟进行参数化。 然后在数据路径中,记录参数中计算模型的延迟。 最后用数据路径的累积延迟声明延迟信号的延迟。 如果您使数据路径中的延迟数保持最新,则未延迟的信号延迟将自动与其匹配。 - 如果提供的信息有用,请将答案标记为“接受为解决方案”。给予您认为有用且回复的帖子。 以上来自于谷歌翻译 以下为原文 @fbai whether you have to correct this delay depends on the bandwidth of your control loop vs the latency. It's probably way too low for the loop to "notice". If you actually want to balance the delays, here is what I do in situations like this: design a generic delay line which is parameterized based on type and delay. Then in your datapath, record the latencies of you calculation models in parameters. Finally declare a delay for the undelayed signal with the cumulative delay of the datapath. If you keep your latency numbers in the datapath up to date, the undelayed signal delay will automatically match it. - Please mark the Answer as "Accept as solution" if information provided is helpful. Give Kudos to a post which you think is helpful and reply oriented. |
|
|
|
@muzaffer非常感谢您的回复。
实际上,这就是我已经做过的事情。 它适用于一些简单的模型。 但是,如果模型变得更大且更复杂,手动声明延迟将导致很多开销。 这就是我寻找一种更简单,更通用的方法来解决问题的原因,特别是当开关频率非常高时。 我在这里附加了控制回路的一部分。这里,DAC,Park变换,PI和逆向停车变换被视为单独的模块。 有没有什么方法可以确保每个模块的输入同步? 以上来自于谷歌翻译 以下为原文 @muzaffer Thank you very much for your response. Actually, this is what I have already done. It works well for some simple models. However, if the model gets larger and more complicated, manually declaring a delay will lead to much overhead. That is the reason I am looking for a simpler and more general method to solve the problem, especially when the switching frequency goes very high. I am attaching part of the control loop here. Here DAC, Park Transform, PI and Inverse Park Transform are viewed as individual modules. Are there any methods that can make sure the inputs of each module are synchronize? |
|
|
|
只有小组成员才能发言,加入小组>>
2370 浏览 7 评论
2786 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2255 浏览 9 评论
3330 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2420 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
743浏览 1评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
531浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
345浏览 1评论
748浏览 0评论
1949浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-15 04:18 , Processed in 1.410942 second(s), Total 81, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号