当前位置:首页 > 单片机 > 单片机
[导读]调试了几天的舵机今天终于可以受我控制了,把学习到得知识和大家分享一下。对遇到的问题期待和大家一起讨论。

调试了几天的舵机今天终于可以受我控制了,把学习到得知识和大家分享一下。对遇到的问题期待和大家一起讨论。

下面和大家分享一下有关舵机的资料(资料来源于天祥电子)。

1、舵机实物图片

2、舵机介绍

舵机英文叫Servo,也称伺服机。其特点是结构紧凑、易安装调试、控制简单、大扭力、成本较低等。舵机的主要性能取决于最大力矩和工作速度(一般是以秒 /60°为单位)。它是一种位置伺服的驱动器,适用于那些需要角度不断变化并能够保持的控制系统。在机器人机电控制系统中,舵机控制效果是性能的重要影响因素。舵机能够在微机电系统和航模中作为基本的输出执行机构,其简单的控制和输出使得单片机系统很容易与之接口。

3、舵机的工作原理

标准的舵机有3条引线,分别是:电源线Vcc、地线GND和控制信号线,如图3所示。

图3 标准舵机引线示意图

在航模遥控系统中,控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。他内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压和电位器的电压比较,获得电压差输出。最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。其实我们可以不用去了解它内部的具体工作原理,知道它的控制原理就够了。就象我们使用三极管一样,知道可以拿它来做开关管或放大管就行了,至于管内的电子具体怎么流动是可以完全不用去考虑的。舵机的控制信号也是PWM信号,利用占空比的变化改变舵机的位置。图4为舵机输出转角与输入信号脉冲宽度的关系,其脉冲宽度在0.5~2.5ms之间变化时,舵机输出轴转角在0°~180°之间变化。

图4 舵机输出转角与输入信号脉冲宽度的关系

4、用单片机实现舵机转角控制

单片机系统实现对舵机输出转角的控制,必须首先完成两个任务:首先是产生基本的PWM周期信号,即产生20ms的周期信号;其次是脉宽的调整,即单片机调节PWM信号的占空比。

单片机作为舵机的控制部分,能使PWM信号的脉冲宽度实现微秒级的变化,从而提高舵机的转角精度。单片机完成控制算法,再将计算结果转化为PWM信号输出到舵机,由于单片机系统是个数字系统,其控制信号的变化完全依靠硬件计数,所以受外界干扰较小,整个系统工作可靠。

单片机控制单个舵机是比较简单的,利用一个定时器即可,假设仅控制舵机5个角度转动,其控制思路如下:只利用一个定时器T0,定时时间为0.5ms,定义一个角度标识,数值可以为1、2、3、4、5,实现0.5ms、1ms、1.5ms、2ms、2.5ms高电平的输出,再定义一个变量,数值最大为40,实现周期为20ms。每次进入定时中断,判断此时的角度标识,进行相应的操作。比如此时为5,则进入的前5次中断期间,信号输出为高电平,即为2.5ms的高电平。剩下的35次中断期间,信号输出为低电平,即为17.5ms的低电平。这样总的时间是20ms,为一个周期。

当用单片机系统控制多个舵机工作时,可以参考下以方法:以驱动8路舵机为例,假设使用的舵机工作周期均为20ms时,那么用单片机定时器产生的多路PWM波的周期也相同。使用单片机的内部定时器产生脉冲计数,一般来说,舵机工作正脉冲宽度小于周期的1/8,这样能够在1个周期内分时启动各路PWM波的上升沿,再利用定时器中断T0确定各路PWM波的输出宽度,定时器中断T1控制20ms的基准时间。第1次定时器中断T0按20ms的1/8配置初值,并配置输出I/O口,第1次T0定时中断响应后,将当前输出I/O口对应的引脚输出置高电平,配置该路输出正脉冲宽度,并启动第2次定时器中断,输出I/O口指向下一个输出口。第2次定时器定时时间结束后,将当前输出引脚置低电平,配置此中断周期为20ms的1/8减去正脉冲的时间,此路PWM信号在该周期中输出完毕,往复输出。在每次循环的第16次(2×8=16)中断实行关定时中断T0的操作,最后就能够实现8路舵机控制信号的输出。

5、舵机与单片机连接原理图

在用单片机驱动舵机之前,要先确定相应舵机的功率,然后选择足够功率的电源为舵机供电,控制端无需大电流,直接用单片机的I/O口就可操作,扩展板上舵机信号线接单片机的P1.7,舵机与单片机连接原理图如图5所示。

图5 舵机和单片机连接原理图

根据我的调试经验,选择足够功率的电源为舵机供电是非常重要的,开始时我用单片机学习板调试,用示波器观察了输出地波形、占空比和脉宽都和资料里提到的完全一样,但是舵机转动的就是不正常,有的时候吱吱的转不动,有时候只是转向一边,怎么也不转回来。个人觉得,所有问题的根源都在电源上,如果舵机供电正常,应该没有什么问题。

以下是我测试舵机的C语言代码,参考至网络。

#include

#define uint unsigned int

#define uchar unsigned char

uint j,a,num=2;

uchar pro;

uchar tab[]={10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,28,28,

25,24,30,30,30,20,19,18,17,16,15,14,13,12,11,10};

sbit PWM=P1^0; //舵机pwm//

sbit key1=P1^6;

sbit key2=P1^7;

void init()

{

TMOD=0x01;

EA=1;

TR0=1;

TH0 = 0xff;

TL0 = 0xce;

ET0=1;

}

void delay_us(uint x)

{

do {

x--;

}

while(x>1);

}

void delay_ms(uint x)

{

while(x!=0)

{

delay_us(500);

x--;

}

}

void dj(uint m) //舵机控制

{

pro=m;

}

void main()

{

init();

while(1)

{

// baidong();

if(key1==0)

{

delay_ms(5);

if(key1==0)

{

while(!key1);

num++;

if(num==6)

num=1;

}

}

if(key2==0)

{

delay_ms(5);

if(key2==0)

{

while(!key2);

num--;

if(num==0)

num=6;

}

}

if(num==1)

{

for(a=0;a<10;a++)

{

dj(tab[0]);

}

}

if(num==2)

{

for(a=0;a<10;a++)

{

dj(tab[6]);

}

}

if(num==3) //

{

for(a=0;a<10;a++)

{

dj(tab[9]);

}

}

if(num==4)

{

for(a=0;a<10;a++)

{

dj(tab[12]);

}

}

if(num==5)

{

for(a=0;a<10;a++)

{

dj(tab[15]);

}

}

}

}

void timer0() interrupt 1//定时0.1ms

{

TH0=0xff;

TL0=0xce;

j++;

if(j<=pro)

{

PWM=1;

}

else

{

PWM=0;

}

if(j==400) //周期20ms

{

j=0;

PWM=~PWM;

}

}

希望大家看了本文后能有些小收获。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

摘要:为了推广stewart平台的应用与研究,设计了一个体积小、价格低廉的stewart平台,它是一种6-Rss机构,目的在于降低研究stewart平台的门槛。该机构采用Arduino控制器作为控制中心,以6个并联舵机作...

关键字: 并联机构 陀螺仪 舵机

舵机是伺服电机的一种,伺服电机就是带有反馈环节的电机,我们可以通过伺服电机进行精确的位置控制或者输出较高的扭矩。

关键字: 舵机 伺服器

舵机是伺服电机的一种,伺服电机就是带有反馈环节的电机,我们可以通过伺服电机进行精确的位置控制或者输出较高的扭矩。

关键字: 舵机 伺服电机

舵机在自动控制场合被广泛应用,其输出力矩、转动速度、命令更新频率等标准了舵机的工作性能。在全国大学生智能车竞赛中 ,大多数车模作品的方向控制都使用了舵机控制。在赛道上运行的车模速度,在控制参数设置合理的情况下,最高速度取...

关键字: 舵机 人工智能

现在,对于很多驾驶者或者交通管理者而言,安全是汽车行业最关键的问题,整个汽车行业的目标当然是零受伤和零死亡人数,这对世界上的任何一个汽车制造商而言都是一个令人难以置信的结果,但却是一个积极且非常

关键字: 飞思卡尔 娱乐系统

  当今电子产品如果不能具有移动接入网络的功能似乎已经成为古董,因为在信息化的时代,能够随时获取移动数据已经成为大部分人的生活必需。智能互联设备以及数据、视频内容的爆发式增长引发了移动数据传输需

关键字: 飞思卡尔 宏蜂窝 基站设备

  第一季度瑞萨电子的汽车半导体营业收入为7.27亿美元,遥遥领先于其它竞争对手,紧排在其后的厂商是英飞凌、意法半导体、飞思卡尔和恩智浦。虽然市场总体库存仍然处于高位,库存严重过剩,但供应商对于

关键字: 飞思卡尔 汽车电子 意法半导体 瑞萨电子

  为期近5个月的雷士照明控制权之争出人意料地以“和解”告终。《中国企业报》记者获悉,雷士照明创始人吴长江,与公司现任董事长、赛富亚洲基金创始合伙人阎焱以及公司战略投资者

关键字: MCU 飞思卡尔 血糖监测仪

  最新的市场数据显示,美国LED灯泡的零售价格已经降到8美元,而节能荧光灯的价格约为5美元,在这一价差下,消费者选择更为节能的LED灯的倾向性将进一步增强,预计到2015年,将真正迎来LED照

关键字: 微控制器 飞思卡尔 汽车工业 汽车芯片 传动系统

  家庭医疗中心正在获得市场关注   在中国,血压计、血糖仪、血氧仪等便携医疗设备的家庭普及率很低。中国的糖尿病患者人口比例很高(占总人口的1/10),但在这些糖尿病患者中,城市的血糖仪

关键字: 飞思卡尔 医疗设备 血压计 血糖仪 便携医疗
关闭
关闭