完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
嗨!
我正在开发软件,在STM32F4xx上使用STM FOC SDK v4.2以极低的速度(0-90RPM)控制小型无传感器IPMSM。 我已经有了电机(使用定制电路板),但是我在运行时遇到了麻烦。 我知道我无法使用速度控制模式下的lib来控制它(由于6 RPM的分辨率),但我打算用扭矩控制模式控制它带外部循环。我现在的努力是成功获得精确的转子位置反馈。 我已经看到了我应该遵循的调整HFI算法的步骤,而且我必须首先调整B-EMF State Observer参数。我的第一个问题来自: 1)HFI算法是否真的需要它,或者仅仅是为了在速度阈值之后改变到STO估计器(假设大多数应用确实需要高速范围)?如果是这样的话,我就不需要了。 当我尝试调整STO时,我总是会遇到“启动失败”。我想这意味着由于错误的参数,STO没有获得正确的速度反馈,我发现它并不容易调整(特别是在如此低的速度下!)。生成文件时,WB不会自动提供G1,G2,F1,F2等。它甚至将F1和F2保留为0(编译时会导致错误)。 2)这是正常的吗?我只读了如何调整K1和K2,但我不知道它们与F1,F2,G1,G2等有什么关系...... 3)我今天晚些时候离开了这一步,并使用DAC和示波器尝试了下一步。 Ia和HFI调试电流信号不是它们应该的(HFI调试电流非常平坦),并且改变HFI幅度对此没有帮助。这是因为我的第一个问题吗? 但是,如果我绘制由HFI估计的电角度,我确实看到了一些令人鼓舞的结果(如果算法被正确调整,我想这会更好)。 不幸的是,我没有评估板,因此在我的情况下,电机分析器和动态调整功能几乎是不可能的。任何额外的调整技巧都非常有用。 非常感谢你提前! #IPMSM-HFI调整,STO 以上来自于谷歌翻译 以下为原文 Hi! I'm developing software to control a small, sensorless IPMSM at very low speeds (0-90RPM) using STM FOC SDK v4.2 on a STM32F4xx. I've already got the motor (using a custom board), but I'm having trouble making it run. I know I won't be able to control it using the lib in Speed Control Mode (due to the 6 RPM resolution), but I'm planning to control it in Torque Control Mode with an external loop. My efforts are right now in successfully getting a precise rotor position feedback. I've seen the steps I should follow to tune the HFI algorithm, and it's quite clear I must first of all tune the B-EMF State Observer parameters. My first question comes here: 1) Does the HFI algorithm really need it, or is it just for changing to the STO estimator (assuming most applications do need high speed ranges) after the speed threshold? If that were the case, I wouldn't need it. When I try to tune the STO, I always get a ''start-up failure''. I guess that means the STO does not get a proper speed feedback because of wrong parameters, which I'm not finding exactly easy to tune (especially at such low speeds!). The WB does not give G1, G2, F1, F2, etc automatically when generating files. It even leaves F1 and F2 as 0 (which causes an error when compiling). 2) Is this normal? I only read how to tune K1 and K2, but I don't know how they are related to F1, F2, G1, G2, etc... 3) I left that step for later today, and tried the next steps using the DAC and an oscilloscope. The Ia and the HFI Debug current signals are not as they should be (HFI Debug current is quite flat), and changing HFI amplitude would not help here. Is this because of my first question? However, if I plot the Electrical Angle estimated by HFI, I do see some encouraging results (which I guess would be much better if the algorithm was correctly tuned). Unfortunately I don't have the evaluation boards, so the motor profiler and the on-the-fly tuning features are almost impossible in my case. Any additional tuning tips will be very useful. Thank you very much in advance! #ipmsm-hfi-tuning-sto |
|
相关推荐
3个回答
|
|
|
好吧,我已经找到问题2的答案.WB上似乎有一个小错误,如果我选择IPMSM,这不会让我改变B-EMF常数。这个常量默认值负责F1,F2 = 0,因为我的IPMSM项目中没有该选项,我不得不临时设置S-PMSM以设置该常量。
现在,STO工作得更好,我调整了参数,以便通过DAC获得一个很好的B-EMF信号。我现在在启动后遇到速度反馈错误(一旦它达到RUN状态)并且我试图找出原因。 如果有人能给我一些调整算法的技巧,我将非常感激。提前致谢。 以上来自于谷歌翻译 以下为原文 Well, I've already found the answer to question 2. There seems to be a little bug on the WB, which doesn't let me change the B-EMF constant if I choose IPMSM. This constant default value was responsible for the F1, F2 = 0, and as I didn't have that option in my IPMSM project, I had to temporarily set S-PMSM for setting that constant. Now, the STO works somehow better and I've tuned the parameters so as to have a nice B-EMF signal through the DAC. I'm now getting a Speed Feedback error after Startup (as soon as it reaches RUN state) and I'm trying to figure out why. I'd be very grateful if someone could give me a few tips to tune the algorithm. Thanks in advance. |
|
|
|
|
|
C JPL
关于他的第一个问题,你是对的。只需要以更高的速度切换到该传感器(HFI从0工作到电气频率和注入频率中间的最大速度),需要调整状态观测器。 我想你已经解决了你的第二点 关于最后一个问题,如果电机对注射的反应不是FW所期望的那样,我认为无论你如何调整它,程序都不能完成。 再见 梁咏琪 以上来自于谷歌翻译 以下为原文 Ciao JPL Regarding he first question, you are right. The tuning of the state observer is required only to switch to this sensor at higher speed (the HFI works from 0 to a maximum speed that is in the middle of the electrical frequency and injected frequency) I think you have resolved your second point Regarding the last question, if the motor response to the injection isn't the one expected by the FW, I don't think that the procedure can finish good, no matter how you tune it. Ciao Gigi |
|
|
|
|
|
Ciao Gigi!
非常感谢您的回答。关于我的第三个问题,我在测量信号时遇到了错误。我没有解释他们必须在算法找到角度之前进行测量... 波形的周期如上所述,但它们与说明书中显示的示例图像不完全相同。你能看看我的照片并告诉我它是否适合HFI吗?我认为它是,我可以调整参数,幅度似乎没问题。 无论如何,我还有一些问题: 当它处于调试模式时,算法非常快速地找到角度,非常精确地通知转子位置(低噪音),甚至速度似乎在WB的监视器中显示得很好(当然我用手移动转子时)。有时需要两次或三次尝试(在每次尝试之后发送速度反馈错误),但在我确认故障后,再次尝试并成功找到位置;我可能需要稍微调整一下,以便在第一次尝试时始终保持正确的角度。在50 ms左右后成功找到初始角度;我认为这些是HFI PI的良好参数。 但是,只要我取消“调试模式”并对其进行编程,它就会在我运行电机后立即返回“速度反馈”错误。就像速度反馈发现转子没有进入指令方向,或类似的东西,我想。你能指点我一下吗?我找不到有关为什么会发生这种错误的详细信息。如果我尝试在STO + PLL中运行,我会得到或多或少相同的结果:启动时,电机缓慢转动几度,然后失败并出现“速度反馈”故障。无论如何,我想这是因为低速(即使我有一个非常高的Ke)预期。 起初我认为这可能是交换阶段的问题,以防我尝试更改ADC引脚的顺序和交换相位连接器,但结果是相同的。我也改变了速度容差值(没有成功),然后我开始通过监视器改变当前的循环增益,但我不确定问题是否存在...... 我想我差不多了......再次感谢你! 编辑:我的定制板是几年前专门为使用STM32F103(带编码器)的应用而设计的。与EVAL板相比,我发现一个相对较大(且有意义的,我认为)的差异是电流检测电路具有反相配置,并且您始终使用(实际上仅允许在WB中)非反相配置。硬件工程师已经在电路板上进行修改,以防万一出现问题。如果您认为这不会影响行为(它肯定在感知应用程序中有效),如果您能给我一些提示以便更接近解决方案,我将非常感激。谢谢! 编辑2:嗯,这就是问题(电路板配置)。 HFI现在正在运作。 以上来自于谷歌翻译 以下为原文 Ciao Gigi! Thank you very much for your answer. Regarding my third question, I had a mistake when measuring the signals. I hadn't interpreted that they had to be measured right before the algorithm finds the angle... The waveforms have their periods as described, but they're not exactly the same as in the example images shown in the instructions. Could you please have a look at my picture and tell me if it's suitable for HFI? I assumed it is, and I could tune the parameters and the magnitudes seem to be ok. Anyway, I still have some issues: While it is in Debug mode the algorithm finds the angle quite fast, informs rotor position very precisely (low noise), even speed seems to be shown fine in the WB's Monitor (when I move the rotor with my hand, of course). Sometimes it takes two or three attempts (after each one of which it sends a Speed Feedback error), but after I acknowledge the fault, tries again and finds the position successfully; I might have to tune it a little more so as to have always the right angle at the first attempt. The initial angle is successfully found after 50 ms or so; I assume those are good parameters for the HFI PI. However, as soon as I untick ''Debug mode'' and program it, it only keeps returning a ''Speed Feedback'' error immediately after I run the motor. It's like the speed feedback finds that the rotor is not going in the commanded direction, or something like that, I guess. Could you please guide me a little there? I couldn't find much detail about why exactly that fault could happen. And if I try to run in STO+PLL I get more or less the same results: Startup inits, the motor turns slowly a couple of degrees and then fails with a ''Speed Feedback'' fault. Anyway, I guess this is to be expected due to the low speed (even though I have a very high Ke). At first I thought it could be a problem with a swapped phase and just in case I tried changing the order of the ADC pins and swapping phase connectors, but the results are the same. I also changed the speed tolerance values (no success) and then I started changing the current loop gains through the Monitor, but I'm not sure the problem is there... I think I'm almost there... Thank you very much again!! EDIT: My custom board is one designed specifically some years ago for an application using a STM32F103 (with encoder). One relatively big (and meaningful, I think) difference I found compared to the EVAL boards is that the current sensing circuit has an inverting configuration and you always use (in fact only allow in the WB) a non-inverting configuration. The hardware engineers are already working on that modification in the board, just in case that's the problem. If you feel that would not affect the behaviour (it definitely worked in the sensored application) I'd be very grateful if you could give me some hints to get nearer to a solution. Thanks! EDIT2: Well, that was the problem (the board config). HFI is now working. |
|
|
|
|
只有小组成员才能发言,加入小组>>
stm32mp157的异核通信的rpmsg_sdb的m4固件和a7驱动该如何编写?
1453 浏览 0 评论
stm32f103用freertos对一个采样率为1kHz的传感器,进行采样,数据出差
1502 浏览 0 评论
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
3649 浏览 1 评论
3842 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
2461 浏览 1 评论
STM32H7打开DCache后,出现了串口接收信息为空的现象,是哪里出了问题?
727浏览 5评论
用NANO STM32F103RBT6的开发板烧录不了是哪里出了问题?
658浏览 5评论
710浏览 5评论
外部中断触发类型为双边沿触发,进入中断回调后有什么办法判断该边沿是上升沿还是下降沿?
940浏览 5评论
STM32L071CBT6低温环境下无法正常工作是什么原因引起的?
745浏览 5评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 20:26 , Processed in 0.689495 second(s), Total 76, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1410