完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
最近在做无刷直流电机,遇到一个问题,也就是我在调试电机的转速时,程序有一行代码老是想不明白,电机的转速是怎样转换成PWM的占空比的数值的,程序只用了一个系数,这个系数是怎么计算来的,总弄不明白。代码如下:
int Speed_PIDAdjust(int Next_Point) { //Next_Point=10000000/Next_Point/6; //ת/·Ö Next_Point=1000000/Next_Point/RoundCount*60; //ת/·Ö=====1000000/Next_Point/6*60;1M/¼ÆÊýÖµ=»»1´ÎÏàËùÓõÄʱ¼ä£» iError = Speed_Point->Target - Next_Point; iError = iError*0.65; //Speed_Point->Uk=Next_Point+iError; Speed_Point->Uk=Speed_Point->Uk+iError; if(Speed_Point->Uk >= PWM_Max) { return(PWM_Max); } else if(Speed_Point->Uk <= PWM_Min) { Speed_Point->Uk=PWM_Min; } else; return(Speed_Point->Uk); } iError = iError*0.65; 这一行弄不明白,给为大侠能指点一下吗?谢谢! |
|
相关推荐
1个回答
|
|
BLDC(无刷直流)电机的转速与PWM(脉冲宽度调制)占空比之间的关系可以通过以下步骤来理解:
1. 首先,我们需要了解PWM的基本原理。PWM是一种通过调整脉冲宽度来控制输出电压或电流的方法。占空比(Duty Cycle)是指在一个周期内,高电平(或低电平)所占的时间比例。 2. 对于BLDC电机,PWM通常用于控制电机的电压,从而影响电机的转速。当PWM占空比增加时,电机的电压增加,转速也会相应增加;反之,当PWM占空比减小时,电机的电压减小,转速也会降低。 3. 在你的代码中,`Next_Point`可能代表电机的目标转速。为了将转速转换为PWM占空比,需要一个系数。这个系数可能是通过实验或者理论计算得到的,用于将转速与PWM占空比之间建立联系。 4. 系数的计算可能涉及到电机的参数,如电机的额定电压、额定电流、最大转速等。此外,还可能涉及到PWM信号的频率、电机的控制方式(如FOC,即场向量控制)等。 5. 为了找到这个系数,你可以尝试以下方法: a. 查阅电机的数据手册,看是否有关于转速与PWM占空比之间关系的参数或公式。 b. 通过实验,调整PWM占空比并观察电机的转速变化,从而找到合适的系数。 c. 如果你使用的是FOC等高级控制方法,可能需要查阅相关的控制算法,了解如何将转速转换为PWM占空比。 6. 一旦找到合适的系数,你就可以将其用于你的程序中,将电机的转速转换为PWM占空比,从而实现对电机转速的精确控制。 注意:在实际应用中,可能还需要考虑电机的动态响应、负载变化等因素,以实现更加稳定和精确的控制。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1213 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1228 浏览 1 评论
632 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
477 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1157 浏览 2 评论
1686浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
344浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
340浏览 3评论
332浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
311浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-3 03:22 , Processed in 0.842344 second(s), Total 49, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191