收藏 分销(赏)

机器人实训课日志 星期二.doc

上传人:s4****5z 文档编号:8056410 上传时间:2025-02-02 格式:DOC 页数:5 大小:31.50KB 下载积分:10 金币
下载 相关 举报
机器人实训课日志 星期二.doc_第1页
第1页 / 共5页
机器人实训课日志 星期二.doc_第2页
第2页 / 共5页


点击查看更多>>
资源描述
机器人实训课学习日志 星期二 7.1 一、舵机的工作原理 舵机的输入线共有三条,红色中间,是电源线,一边黑色的是地线,这辆根线给舵机提供最基本的能源保证,主要是电机的转动消耗。电源有两种规格,一是4.8V,一是6.0V,分别对应不同的转矩标准,即输出力矩不同,6.0V对应的要大一些,具体看应用条件;另外一根线是控制信号线,Futaba的一般为白色,JR的一般为桔黄色。另外要注意一点,SANWA的某些型号的舵机引线电源线在边上而不是中间,需要辨认。但记住红色为电源,黑色为地线,一般不会搞错。 舵机的控制信号为周期是20ms的脉宽调制(PWM)信号,其中脉冲宽度从0.5ms-2.5ms,相对应舵盘的位置为0-180度,呈线性变化。也就是说,给它提供一定的脉宽,它的输出轴就会保持在一个相对应的角度上,无论外界转矩怎样改变,直到给它提供一个另外宽度的脉冲信号,它才会改变输出角度到新的对应的位置上。舵机内部有一个基准电路,产生周期20ms,宽度1.5ms的基准信号,有一个比较器,将外加信号与基准信号相比较,判断出方向和大小,从而产生电机的转动信号。由此可见,舵机是一种位置伺服的驱动器,转动范围不能超过180度,适用于那些需要角度不断变化并可以保持的驱动当中。比方说机器人的关节、飞机的舵面等。 二、 PWM(舵机的脉冲宽度调制) 1.主函数 #include <lpc213x.h> #include "servo.h" int main(void) { Servo(2,0);//调用伺服子函数(舵机2,角度0) Servo(2,0); } 2.伺服子函数 #include <lpc213x.h> #include "servo.h" /*------------------------------------------------------- Motor_PortNo:舵机端口 Motor_Angle:舵机角度/速度(0--0.5ms,90--1.5ms,180--2.5ms) --------------------------------------------------------*/ void Servo(unsigned int Motor_PortNo,unsigned int Motor_Angle)// 伺服子函数有两个入口参数(舵机编号,转动角度) { switch(Motor_PortNo) { case 1: PINSEL1=(PINSEL1&(~(0x03<<10)))|(0x01<<10);break; //选择PWM5 P0.21 舵机1 case 2: PINSEL0=(PINSEL0&(~(0x03<<14)))|(0x02<<14);break; //选择PWM2 P0.7 舵机2 case 3: PINSEL0=(PINSEL0&(~(0x03<<16)))|(0x02<<16);break; //选择PWM4 P0.8 舵机3 case 4: PINSEL0=(PINSEL0&(~(0x03<<18)))|(0x02<<18);break; //选择PWM6 P0.9 舵机4 case 5: PINSEL0=(PINSEL0&(~(0x03<<0)))|(0x02<<0); break; //选择PWM1 P0.0 舵机5 case 6: PINSEL0=(PINSEL0&(~(0x03<<2)))|(0x02<<2);break; //选择PWM3 P0.1 舵机6 default: break; } PWMPR=0x0; //时钟不分频 PWMMCR=0x02; //设置PWMMR0匹配时复位PWMTCR PWMPCR=0x7e00; //允许PWM1-6输出,单边 PWMMR0=11059200/1000*20; //设置匹配速率 20ms产生的PWM脉冲数 switch(Motor_PortNo) { //舵机0--0.5ms 90--1.5ms 180--2.5ms //每转1°的脉宽=(2.5-0.5)/180=1/90ms case 1: PWMMR5 =11059200/(1000000/(100*Motor_Angle/9+500));break; case 2: PWMMR2 =11059200/(1000000/(100*Motor_Angle/9+500));break; case 3: PWMMR4 =11059200/(1000000/(100*Motor_Angle/9+500));break; case 4: PWMMR6 =11059200/(1000000/(100*Motor_Angle/9+500));break; case 5: PWMMR1 =11059200/(1000000/(100*Motor_Angle/9+500));break; case 6: PWMMR3 =11059200/(1000000/(100*Motor_Angle/9+500));break; //占空比 default: break; } PWMLER=0x7f; //PWM0和PWM1-6匹配时锁存 PWMTCR=0x02; //复位PWMTCR PWMTCR=0x09; //启动PWM输出 }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服