【四足大创】1.1让舵机动起来

什么是舵机

舵机是一种小型伺服电机系统。通过向伺服发送编码信号,可以将该轴定位到特定的角度位置。当编码信号存在于输入线上时,伺服将保持轴的角位置;当编码信号改变时,轴的角位置改变。控制信号一般为T=20ms的PWM信号。

比例控制:施加到电机上的功率与其需要行进的距离成比例,即偏差角越大,电机转速越快。

闭环控制:控制电路监视伺服电机的当前角度,如果角度正确,则电机关闭;否则转动电机直到处于所需的角度。

接线:红色接电源,黑色/棕色接地,橙色/黄色/白色为控制线。

MG995参数

产品尺寸 40.719.742.9mm
工作扭矩 13KG/cm
反应转速 53-62R/M
死区设定 4微秒
转动角度 最大180度
舵机类型 模拟舵机
工作电流 100mA
使用电压 3~7.2V

Tip:鉴于过去的使用经验,MG995的扭矩其实并不是很大,整机装成后,狗儿的运动可能会稍显吃力。此外,此前多个舵机连接至控制板后,曾出现过”抽搐“的情况,目前暂时没有出现,日后若遇到再说。

机械腿的伸直与弯曲

我们通过设置初始值使其呈伸直状态。要使其呈直角前曲,只需使连接大腿的舵机向前转45°,连接小腿的舵机向后转90°即可(旋转对轴不对地!)。

此处的前曲没有考虑大小腿长度不同。若要保持支撑点落在大腿与躯干连接点的投影上,应适当增加连接大腿的舵机的转动度数,而连接小腿的舵机依旧后转90°。

代码实现

该代码实现让机械腿呈直角弯曲。相关语法可查看Arduino伺服电机教程

#include <Servo.h>

Servo leg;//create a servo object
Servo foot; 
int leg_straight=95,foot_straight=90;

void setup() {
  leg.attach(9);//attach the servo on specific pin to the servo object
  foot.attach(10);
}

void loop() {
  //leg.write(leg_straight);//set the servo position
  //foot.write(foot_straight);
  leg.write(leg_straight+45);
  foot.write(foot_bent-90);
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值