完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
正如我在上面所写的,我只需要学习如何使用 STM32CubeIDE 编写一个工作程序来控制 BLDC 电机。这是一个普遍的问题,但我不需要更多。我试图自己做几个月,但我不知道如何正确编写我的代码。不管我写什么,我的程序都不起作用。在附件中,我发送了我当前的代码,它使我的电机以大约 8900rpm 的速度旋转。
|
|
相关推荐
1个回答
|
|
库中速度的默认单位是 0.1Hz,转换为每次计数 6RPM。所以当你写1500的时候,RPM里面设置的转速其实就是1500 * 6 = 9000 RPM。在 RPM 中写入速度的最简单方法是在 API 中将其指定为 RPM/6。例如:要以 1500RPM 的速度运行电机,您可以编写MC_ProgramSpeedRampMotor1(1500/6, 1000);
另一个要点是,这是一个缓冲命令,只有在状态机收敛到 FOC(MC_GetSTMStateMotor1() 返回值变为 6 或 RUN)时才会执行。 在无传感器操作的情况下,1000 毫秒斜坡通常会在启动参数中指定的“最小启动输出速度”之后的某个时间开始(库试图从开环启动收敛到 FOC 的点),而在 HALL 和编码器等物理传感器的情况下, 这个斜坡通常会在 MC_StartMotor1(); 被执行。 因此,当使用无传感器操作时,实际斜坡是从“最小启动输出速度”附近的某个位置到 1000 毫秒内的指定速度,而在霍尔/编码器的情况下,它将从 0 到 1000 毫秒内的指定速度。 |
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2730 浏览 1 评论
3239 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1808 浏览 1 评论
3647 浏览 6 评论
6035 浏览 21 评论
1339浏览 4评论
198浏览 3评论
对H747I-DISCO写程序时将CN2的st-link复用为usart1,再次烧录时无法检测到stlink怎么解决?
350浏览 2评论
STM32G474RE芯片只是串口发个数据就发烫严重是怎么回事?
442浏览 2评论
STM32处理增量式编码器Z信号如何判断中断是正转的还是反向转的?
273浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 06:19 , Processed in 1.023091 second(s), Total 46, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号