水下机器人之电机控制

分享一下水下机器人的电机控制(针对的是直流无刷电机+双向电调的模式)。
其实一句话就说明白了,频率50hz的方波,1.5毫秒占空比是初始化;假如1~1.5毫秒正转,1.5~2毫秒反转,反之亦然。1.5毫秒占空比是初始化状态,电机不转;以1.5毫秒为界限,增加或者减少电机都会转的越来越快。

我以arduino为例贴出一段代码(arduino有Servo库,比较方便,别的单片机需要生成pwm波,计算占空比,套路是一样的。)

#include <Servo.h>
Servo myservo;//电机控制变量

int value;
void setup()
{
  Serial.begin(9600);
  myservo.attach(4);//arduino4号数字引脚。
  myservo.writeMicroseconds(1500);//初始化,如果不先初始化,电机没有办法旋转。
  delay(500);
}

void loop()
{
  while(Serial.available() > 0)
  {
    value = Serial.parseInt();//接收串口发来的整型数据
  }

if(value>2000)//限幅,超过这个范围,电机依然不会旋转。
  {
    value=2000;
  }
  if(value<1000)
  {
    value=1000;
  }

    Serial.println(value);
    myservo.writeMicroseconds(value);//将串口发来的数值作用到电机上,实现电机旋转。

}

最重要的一点,arduino的地要和电机的地共到一起。

  • 10
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
免费下载,论文、设计请注明引用! 微小型AUV具有体积小,灵活性高、隐蔽性好等特点,可以工作于其它大型水下机器人无法进入的区域。民用上可以应用于海洋矿产勘探、海底地形探测,沉船打捞,水下考古,海洋生物探测等;军事上可以用来反水雷,作为自航水雷的载体、监察海战时水下敌情等。 首先,本文对所设计的微小型AUV的结构、推进器分布进行介绍,并对其进行受力分析和建立运动方程。结合运动方程设计了被控对象模型未知的AUV自动定深、自动定航控制器;同时研究了传统的PID控制、模糊控制、自适应控制等算法,并最终设计了应用于该微小型AUV的模糊参数自适应PID控制算法。 其次,对该具有多传感器的微小型AUV控制系统进行了研究设计。针对分布式控制系统总体机构及其通信总线进行了设计;分别详细设计了分布式系统的各个子系统;着重研究、设计了理论、算法及软件实现方案;计了基于CAN总线的分布式微小型AUV控制系统,提高了系统的稳定性和模块化程度,在结构上优化了系统的复杂性。最终形成了由软硬件系统组成分布式控制系统。 再其次,根据SINS、DVL和深度计这三个传感器的姿态角、角速度,线速度、加速度,深度等导航信息进行了AUV的航位推算研究与实现;并使用综合水池实验室的X-Y航车系统,反复试验,对航位推算进行了标定,修正了安装误差角和刻度因子。提高了航位推算精度。结合航位推算和AUV制导控制设计了有海流影响的AUV自动巡航控制器。抗海流自动巡航控制器除抗海流功能外可以补偿SINS与艏向安装误差带来的控制性能缺陷。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值