游戏杆->PC机->串口->51单片->步进电机,死机的问题.

kimi66 2007-07-27 08:36:22
我刚刚接触51单片,最近做个一个实验,想用玩飞行游戏的摇杆控制步进电机.根据节流阀或方向舵的动作,按0---9级的速度来控制步进电机的速度.

现在已经通过VC程序捕捉了游戏杆的数据,然后在TIMER函数中,根据数据大小通过串口向51发送0---9指令,然后51接收后根据0---9调用不同的延时来改变步进电机的转速.

整个快慢的变化能够实现,但是电机转动几圈后就停下了,然后就死机了,对于串口发过的数据没有响应了,我把驱动电机的代码改成驱动LED就没有问题,不会死机.0---9的数据能正确的接收.我想问题还是出在电机的部分,我把调速的功能去掉,改成按下按钮就驱动不按就停,但一直按着就可以转几圈,然后死机,只按一次可以走4步,再按第二次就没响应了,还是死机.

请有经验的朋友给指点一下,谢谢了.
...全文
290 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
leq_82 2007-07-29
  • 打赏
  • 举报
回复
你首先要了解步进电机的特,可能原因:
1,步进电机的转速太高,达不到你的转速,步进电机有个空载起动速度,不能太大.你可以尝试减小速度和加速度.
2,相位有否接错.
你说的死机是电机不转对吧.
kimi66 2007-07-27
  • 打赏
  • 举报
回复
谢谢,具体应该怎么隔离呢?我是用实验板做的实验,步进电机都是板上自带的.

关于隔离我也想了,我把电机拔了,光运行代码也还是不行.

甚至我把电机运行的循环我都去掉,就走4步,还是死机.

另外,用51自己来驱动电机是没问题的.
little_wolf 2007-07-27
  • 打赏
  • 举报
回复
驱动和控制部分有没有隔离,一般情况下是驱动部分干扰控制部分,造成单片机死机

27,373

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧