找回密码
 马上注册

QQ登录

只需一步,快速开始

查看: 7197|回复: 5

如何判断电机已卡住了

[复制链接]
发表于 2015-4-26 09:51:47 | 显示全部楼层 |阅读模式
电机上带绳运动,到头了,还在转,如何判定后停止转动呀?
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2015-4-26 12:53:41 | 显示全部楼层
换个风格
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2015-4-26 18:03:32 | 显示全部楼层
角度控制
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

 楼主| 发表于 2015-4-26 22:41:04 | 显示全部楼层
吊车的线就不知道什么时候已经拉到头了
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2015-4-27 21:44:34 | 显示全部楼层
本帖最后由 捞屎人 于 2015-4-27 22:04 编辑

/*以下是robotC代码,ev3和NXT-G算法可以参照这个代码。程序设计思路是单位时间内检测马达转过的角度,如果本次转过角度小于上次转过的角度v-v1则视作马达卡死,跳出循环。v1和循环时间可以根据实际调节*/
void C_he()
{
int v1=2;                                                //*设置阀值
int v=-1;                                                 //*初始化每次循环马达转过的角度
nMotorEncoder[motorC]=0;                      //*初始化马达
while (abs(nMotorEncoder[motorC])>v-v1)  //*当马达本次循环中转过的角度大于上次马达转过的角度v-2即执行本次循环,否则跳出循环终止马达
          {
     v=abs(nMotorEncoder[motorC]);         //*将上次循环马达转过的角度存入v
     nMotorEncoder[motorC]=0;                //*初始化马达
     motor[motorC]=30;                           //*马达功率30
    wait1Msec(150);                                //*采样率150毫秒,即每次循环时间150毫秒
     }
motor[motorC]=0;                                  //* 循环终止,马达停转
}

如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

 楼主| 发表于 2015-5-8 22:45:02 | 显示全部楼层
捞屎人 发表于 2015-4-27 21:44
/*以下是robotC代码,ev3和NXT-G算法可以参照这个代码。程序设计思路是单位时间内检测马达转过的角度,如果 ...

恩不错,"abs(nMotorEncoder[motorC])>v-v1",是否该为"abs((nMotorEncoder[motorC])-v)>2",还没验正过.
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

手机版|中文乐高 ( 桂ICP备13001575号-7 )

GMT+8, 2024-11-26 05:05 , Processed in 0.103828 second(s), 24 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表