普通网友 2024-04-27 21:38 采纳率: 81.8%
浏览 4
已结题

STM8S208控制无位置传感器无刷直流电机,电机转不起来的原因?

程序是照着别人已经运行正常的改的,电机转不起来,检测到程序
if(bHallStartStep>=6)bHallStartStep=0;
执行完这句后直接跳入@far @interrupt void EXti_PORTA_IRQHandler(void)
这段执行完后紧接着是@far @interrupt void EXTI_PORTD_IRQHandler(void)
然后就一直在@far @interrupt void EXTI_PORTD_IRQHandler(void)里面一直执行了,return直接到@far @interrupt void EXTI_PORTD_IRQHandler(void)
这个片子我吃的不透,实在是没办法了,大家帮一下,万分感谢

  • 写回答

4条回答 默认 最新

  • 稀稀落落987 2024-04-27 21:39
    关注

    首先,我们需要了解STM8S208控制无位置传感器无刷直流电机的基本原理。无刷直流电机(BLDC)通常需要一个特定的驱动器来控制其运行。在这种情况下,我们使用STM8S208微控制器来实现这一功能。以下是一些可能导致电机无法启动的原因:

    1. 电源问题:确保电机和微控制器都已正确连接到电源,并且电源电压和电流符合要求。

    2. 驱动器问题:检查电机驱动器是否正确连接到微控制器的输出引脚,并且驱动器的供电和接地是否正确。

    3. 程序问题:根据您提供的代码片段,程序在执行到某个条件后跳转到中断处理函数。这可能导致电机无法启动。请检查以下几点:

      a. 确保程序中的初始化代码正确设置,包括PWM信号的初始化、定时器配置等。

      b. 检查中断优先级设置是否正确。如果中断优先级设置不当,可能导致某些中断被忽略,从而影响电机控制。

      c. 检查中断服务程序(ISR)的实现,确保它们正确处理中断事件,并且在适当的时候返回到主程序。

    4. 电机问题:检查电机是否损坏或存在其他故障。您可以尝试使用其他电机或将电机连接到其他已知正常工作的驱动器上,以排除电机故障的可能性。

    5. 传感器问题:虽然您提到使用的是无位置传感器的电机,但是某些情况下,电机的霍尔传感器(如果存在)可能会影响到电机的启动。请检查霍尔传感器的连接和信号是否正确。

    6. 调试和故障排除:使用调试工具(如仿真器或示波器)来观察微控制器的运行情况,以便更好地了解程序的执行流程和潜在问题。

    综上所述,要解决电机无法启动的问题,需要从多个方面进行排查。建议您按照上述步骤逐一检查,找到问题所在,并进行相应的修复。希望这些建议能对您有所帮助。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 5月5日
  • 已采纳回答 4月27日
  • 创建了问题 4月27日

悬赏问题

  • ¥15 求micropython modbus-RTU 从机的代码或库?
  • ¥15 铜与钢双金属板叠加在一起每种材料300mm长,18mm宽,4mm厚一端固定并加热至80℃,当加热端温度保持不变时另一端的稳态温度。ansys
  • ¥15 django5安装失败
  • ¥15 Java与Hbase相关问题
  • ¥15 后缀 crn 游戏文件提取资源
  • ¥15 ANSYS分析简单钎焊问题
  • ¥20 bash代码推送不上去 git fetch origin master #失败了
  • ¥15 LOL外服加入了反作弊系统,现在游戏录像rofl文件离线都无法打开
  • ¥15 在centos7安装conda
  • ¥15 c#调用yolo3 dll文件获取的数据对不上