MG996R舵机控制

MG996R舵机控制
MG996R舵机控制

MG996R舵机控制方法

红:+5v,棕:GND,黄:信号

基于单片机的舵机控制方法具有简单、精度高、成本低、体积小的特点,并可根据不同的舵机数量加以灵活应用。

在机器人机电控制系统中,舵机控制效果是性能的重要影响因素。舵机可以在微机电系统和航模中作为基本的输出执行机构,其简单的控制和输出使得单片机系统非常容易与之接口。

舵机是一种位置伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。其工作原理是:控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。它内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。

图1舵机的控制要求

舵机的控制信号是PWM信号,利用占空比的变化改变舵机的位置。一般舵机的控制要求如图1所示。

单片机实现舵机转角控制

可以使用FPGA、模拟电路、单片机来产生舵机的控制信号,但FPGA成本高且电路复杂。对于脉宽调制信号的脉宽变换,常用的一种方法是采用调制信号获取有源滤波后的直流电压,但是需要50Hz(周期是20ms)的信号,这对运放器件的选择有较高要求,从电路体积和功耗考虑也不易采用。5mV以上的控制电压的变化就会引起舵机的抖动,对于机载的测控系统而言,电源和其他器件的信号噪声都远大于5mV,所以滤波电路的精度难以达到舵机的控制精度要求。

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

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

当系统中只需要实现一个舵机的控制,采用的控制方式是改变单片机的一个定时器中断的初值,将20ms 分为两次中断执行,一次短定时中断和一次长定时中断。这样既节省了硬件电路,也减少了软件开销,控制系统工作效率和控制精度都很高。

具体的设计过程:例如想让舵机转向左极限的角度,它的正脉冲为2ms,则负脉冲为20ms-2ms=18ms,所以开始时在控制口发送高电平,然后设置定时器在2ms后发生中断,中断发生后,在中断程序里将控制口改为低电平,并将中断时间改为18ms,再过18ms进入下一次定时中断,再将控制口改为高电平,并将定时器初值改为2ms,等待下次中断到来,如此往复实现PWM信号输出到舵机。用修改定时器中断初值的方法巧妙形成了脉冲信号,调整时间段的宽度便可使伺服机灵活运动。

为保证软件在定时中断里采集其他信号,并且使发生PWM信号的程序不影响中断程序的运行(如果这些程序所占用时间过长,有可能会发生中断程序还未结束,下次中断又到来的后果),所以需要将采集信号的函数放在长定时中断过程中执行,也就是说每经过两次中断执行一次这些程序,执行的周期还是20ms。软

件流程如图2所示。

如图2产生PWM信号的软件流程

如果系统中需要控制几个舵机的准确转动,可以用单片机和计数器进行脉冲计数产生PWM信号。

脉冲计数可以利用51单片机的内部计数器来实现,但是从软件系统的稳定性和程序结构的合理性看,宜使用外部的计数器,还可以提高CPU的工作效率。实验后从精度上考虑,对于FUTABA系列的接收机,当采用1MHz的外部晶振时,其控制电压幅值的变化为0.6mV,而且不会出现误差积累,可以满足控制舵机的要求。最后考虑数字系统的离散误差,经估算误差的范围在±0.3%内,所以采用单片机和8253、8254这样的计数器芯片的PWM信号产生电路是可靠的。图3是硬件连接图。

图3PWA信号的计数和输出电路

基于8253产生PWM信号的程序主要包括三方面内容:一是定义8253寄存器的地址,二是控制字的写入,三是数据的写入。软件流程如图4所示,具体代码如下。

//关键程序及注释:

//定时器T0中断,向8253发送控制字和数据

void T0Int() interrupt 1

{

TH0 = 0xB1;

TL0 = 0xE0; //20ms的时钟基准

//先写入控制字,再写入计数值

SERVO0 = 0x30; //选择计数器0,写入控制字

PWM0 = BUF0L; //先写低,后写高

PWM0 = BUF0H;

SERVO1 = 0x70; //选择计数器1,写入控制字

PWM1 = BUF1L;

PWM1 = BUF1H;

SERVO2 = 0xB0; //选择计数器2,写入控制字

PWM2 = BUF2L;

PWM2 = BUF2H;

}

图4基于8253产生PWA信号的软件流程

当系统的主要工作任务就是控制多舵机的工作,并且使用的舵机工作周期均为20ms时,要求硬件产生的多路PWM波的周期也相同。使用51单片机的内部定时器产生脉冲计数,一般工作正脉冲宽度小于周期的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路舵机控制信号的输出。

也可以采用外部计数器进行多路舵机的控制,但是因为常见的8253、8254芯片都只有3个计数器,所以当系统需要产生多路PWM信号时,使用上述方法可以减少电路,降低成本,也可以达到较高的精度。调试时注意到由于程序中脉冲宽度的调整是靠调整定时器的初值,中断程序也被分成了8个状态周期,并且需要严格的周期循环,而且运行其他中断程序代码的时间需要严格把握。

在实际应用中,采用51单片机简单方便地实现了舵机控制需要的PWM信号。对机器人舵机控制的测试表明,舵机控制系统工作稳定,PWM占空比 (0.5~2.5ms 的正脉冲宽度)和舵机的转角(-90°~90°)线性度较好。

航模舵机控制原理详解

在机器人机电控制系统中,舵机控制效果是性能的重要影响因素。舵机可以在微机电系统和航模中作为基本的输出执行机构,其简单的控制和输出使得单片机系统非常容易与之接口。 舵机是一种位置(角度)伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。目前在高档遥控玩具,如航模,包括飞机模型,潜艇模型;遥控机器人中已经使用得比较普遍。舵机是一种俗称,其实是一种伺服马达。 其工作原理是: 控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。它内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。当然我们可以不用去了解它的具体工作原理,知道它的控制原理就够了。就象我们使用晶体管一样,知道可以拿它来做开关管或放大管就行了,至于管内的电子具体怎么流动是可以完全不用去考虑的。 3. 舵机的控制: 舵机的控制一般需要一个20ms左右的时基脉冲,该脉冲的高电平部分一般为0.5ms~2.5ms 范围内的角度控制脉冲部分。以180度角度伺服为例,那么对应的控制关系是这样的: 0.5ms--------------0度; 1.0ms------------45度; 1.5ms------------90度; 2.0ms-----------135度; 2.5ms-----------180度; 这只是一种参考数值,具体的参数,请参见舵机的技术参数。 小型舵机的工作电压一般为4.8V或6V,转速也不是很快,一般为0.22/60度或0.18/60度,所以假如你更改角度控制脉冲的宽度太快时,舵机可能反应不过来。如果需要更快速的反应,就需要更高的转速了。 要精确的控制舵机,其实没有那么容易,很多舵机的位置等级有1024个,那么,如果舵机的有效角度范围为180度的话,其控制的角度精度是可以达到180/1024度约0.18度了,从时间上看其实要求的脉宽控制精度为2000/1024us约2us。如果你拿了个舵机,连控制精度为1度都达不到的话,而且还看到舵机在发抖。在这种情况下,只要舵机的电压没有抖动,那抖动的就是你的控制脉冲了。而这个脉冲为什么会抖动呢?当然和你选用的脉冲发生器有

飞鸿16路舵机控制器使用说明书

FH24路舵机控制器使用说明书 飞鸿科技 2012-5-24 一、产品介绍 (1) 二、功能特点 (3) 三、接口说明 (4) 四、指令说明 (6) 五、16路舵机调试软件使用说明 (7) 二、连接PC上位机 (9) 三、上位机界面编辑 (10) 四、单路舵机调试 (11) 五、动作组编辑 (12) 六、注意事项及故障解决 (13) 产品介绍 一、 一、产品介绍 设计该舵机控制板是为了方便新手学习多路舵机的控制。多路舵机控制并不很复杂,但至今网上关于多路舵机控制的资源很少,当前淘宝上的舵机控制板也都不提供程序代码。由于这些原因,大批的机器人爱好者不能掌握多路舵机控制。使得很多机器人爱好者停滞不前,在这些最基本的地方浪费大量时间,不能不精力放到更高层的机器人控制方面的研究。如果每个人

都从头做起,整体的进步必将非常的缓慢。别人做好的东西我们不妨拿来学习,这样要节省很多的时间与精力。在这个基础上继续前进,做出属于自己的更高级的机器人。 由于本人在这些基础的东西上耗费的大量的精力,导致我没有时间去做高级的控制,如自平衡,语音识别等。大学接近尾声,没能让自己的机器人进一步升级感到非常遗憾。 基于方便学习的原则,本板子的设计有一下几个特点: 1、选用大家熟悉的,容易掌握的51单片机。但不是普通51单片机,是功能强大的增强型单片机STC12C5A60S2。 有人说51控制的精度肯定不如ARM。是的,这是明显的事实。但是我用ARM的芯片来写教程,只能给少数人看,而且如果那个人ARM掌握的都很好了,也不需要看此教程了。该控制板设计的目的就是给机器人初级爱好者学习,仅仅因为这一点,选择51单片机是最恰当不过了。 我最初做的32路舵机控制板就是在arm芯片上做的,那些不适合新手学习,在51上学会了舵机控制的基本方法,等你会使用更高级单片机的时候可以很容易的移植到上面,实现更多舵机,更高精度的控制。 STC12C5A60S2单片机属于增强型51。他兼容传统的51单片机,也就是说,你原来的学习的、编写的51程序不用改动就能在这个单片机上直接使用,不会出现问题,而且速度提高8~12倍。但是它与传统51相比,在速度性能与资源方面都有了很大的提升。 (1)60K的flash程序存储器。89C52只有8K。 (2)1280字节的SRAM。你课本上学的RAM只有128字节。1280足够用了,省去外部扩展的麻烦。 (3)两个串口。 (4)独立波特率发生器。做机器人定时器往往很不够用,而传统51单片机串口通信还要占用定时器,有了独立波特率发生器就可以节省出一个定时器。 (5)PCA模块。可以硬件输出快速PWM。可以扩展出两个定时器。 (6)8路A/D转换通道。A/D转换在机器人、各种比赛中都很常用,使用这款单片机就不必再做AD转换电路。 2、程序下载接口、IO口引出。该板是单片机最小系统板+16路舵机控制板。不是单纯的舵机控制板,而是一款可以用来学习、编程、二次开发的开发板。可以直接用来参加比赛,DIY,毕业设计。 5、详细的教程,丰富的资料。该板子是淘宝中唯一提供程序代码、可以学习的舵机控制板。提供原理图、接口示意图、程序代码、上位机软件。另外购买该产品赠送本人搜集的单片机开发常用工具软件,机器人资料,单片机视频教程以及丰富的例程。

舵机控制原理详细资料

目录 一.舵机PWM信号介绍 (1) 1.PWM信号的定义 (1) 2.PWM信号控制精度制定 (2) 二.单舵机拖动及调速算法 (3) 1.舵机为随动机构 (3) (1)HG14-M舵机的位置控制方法 (3) (2)HG14-M舵机的运动协议 (4) 2.目标规划系统的特征 (5) (1)舵机的追随特性 (5) (2)舵机ω值测定 (6) (3)舵机ω值计算 (6) (4)采用双摆试验验证 (6) 3.DA V的定义 (7) 4.DIV的定义 (7) 5.单舵机调速算法 (8) (1)舵机转动时的极限下降沿PWM脉宽 (8) 三.8舵机联动单周期PWM指令算法 (10) 1.控制要求 (10) 2.注意事项 (10) 3.8路PWM信号发生算法解析 (11) 4.N排序子程序RAM的制定 (12) 5.N差子程序解析 (13) 6.关于扫尾问题 (14) (1)提出扫尾的概念 (14) (2)扫尾值的计算 (14)

一.舵机PWM 信号介绍 1.PWM 信号的定义 PWM 信号为脉宽调制信号,其特点在于他的上升沿与下降沿之间的时间宽度。具体的时间宽窄协议参考下列讲述。我们目前使用的舵机主要依赖于模型行业的标准协议,随着机器人行业的渐渐独立,有些厂商已经推出全新的舵机协议,这些舵机只能应用于机器人行业,已经不能够应用于传统的模型上面了。 目前,北京汉库的HG14-M 舵机可能是这个过渡时期的产物,它采用传统的PWM 协议,优缺点一目了然。优点是已经产业化,成本低,旋转角度大(目前所生产的都可达到185度);缺点是控制比较复杂,毕竟采用PWM 格式。 但是它是一款数字型的舵机,其对PWM 信号的要求较低: (1) 不用随时接收指令,减少CPU 的疲劳程度; (2) 可以位置自锁、位置跟踪,这方面超越了普通的步进电机; 其PWM 格式注意的几个要点: (1 ) 上升沿最少为0.5mS ,为0.5mS---2.5mS 之间; (2) HG14-M 数字舵机下降沿时间没要求,目前采用0.5Ms 就行;也就是说PWM 波形可以是一个周 期1mS 的标准方波; (3) HG0680为塑料齿轮模拟舵机,其要求连续供给PWM 信号;它也可以输入一个周期为1mS 的标 准方波,这时表现出来的跟随性能很好、很紧密。 图1-1

舵机及舵机的控制

舵机及舵机的控制 1.什么是舵机: 在机器人机电控制系统中,舵机控制效果是性能的重要影响因素。舵机可以在微机电系统和航模中作为基本的输出执行机构,其简单的控制和输出使得单片机系统非常容易与之接口。 舵机是一种位置(角度)伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。目前在高档遥控玩具,如航模,包括飞机模型,潜艇模型;遥控机器人中已经使用得比较普遍。舵机是一种俗称,其实是一种伺服马达。 还是看看具体的实物比较过瘾一点: 2.其工作原理是: 控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。它内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。当然我们可以不用去了解它的具体工作原理,知道它的控制原理就够了。就象我们使用晶体管一样,知道可以拿它来做开关管或放大管就行了,至于管内的电子具体怎么流动是可以完全不用去考虑的。 3.舵机的控制: 舵机的控制一般需要一个20ms左右的时基脉冲,该脉冲的高电平部分一般为 0.5ms~2.5ms范围内的角度控制脉冲部分。以180度角度伺服为例,那么对应的控制关 系是这样的:

0.5ms--------------0度; 1.0ms------------45度; 1.5ms------------90度; 2.0ms-----------135度; 2.5ms-----------180度; 请看下形象描述吧: 这只是一种参考数值,具体的参数,请参见舵机的技术参数。 小型舵机的工作电压一般为4.8V或6V,转速也不是很快,一般为0.22/60度或0.18/60度,所以假如你更改角度控制脉冲的宽度太快时,舵机可能反应不过来。如果需要更快速的反应,就需要更高的转速了。 要精确的控制舵机,其实没有那么容易,很多舵机的位置等级有1024个,那么,如果舵机的有效角度范围为180度的话,其控制的角度精度是可以达到180/1024度约0.18度了,从时间上看其实要求的脉宽控制精度为2000/1024us约2us。如果你拿了个舵机,连控制精度为1度都达不到的话,而且还看到舵机在发抖。在这种情况下,只要舵机的电压没有抖动,那抖动的就是你的控制脉冲了。而这个脉冲为什么会抖动呢?当然和你选用的脉冲发生器有关了。一些前辈喜欢用555来调舵机的驱动脉冲,如果只是控制几个点位置伺服好像是可以这么做的,可以多用几个开关引些电阻出来调占空比,这么做简单吗,应该不会啦,调试应该是非常麻烦而且运行也不一定可靠的。其实主要还是他那个年代,单片机这东西不流行呀,哪里会哟! 使用传统单片机控制舵机的方案也有很多,多是利用定时器和中断的方式来完成控制的,这样的方式控制1个舵机还是相当有效的,但是随着舵机数量的增加,也许控制起来就没有那么方便而且可以达到约2微秒的脉宽控制精度了。听说AVR也有控制32个舵机的试验板,不过精度能不能达到2微秒可能还是要泰克才知道了。其实测试起来很简单,你只需要将其控制信号与示波器连接,然后让试验板输出的舵机控制信号以2微秒的宽度递增。

舵机测试方案

舵机测试方案 1、舵机转速测量 方案一:通过测量舵机无负载的情况下转过60°角所需时间来确定舵机转速。以扇形纸板固定在舵盘上,在舵机从-45°~+45°(或-90°~+90°)位置之间的-30°~+30°角线的适当位置制作两小孔(下图A,B处为红外对管信息采集通道),以给红外射对管提供信息传递通道。这样就可以在这两个信息通道采集舵机在转过60°范围的起始位置和结束位置的信号变化,将采集到的信号经过比较器(LM393)整形后送入单片机进行处理(这里可将整形后的数字变化信号进行定时中断处理),就可以获得舵机在转过60°范围的起始位置和结束位置过程中需要的时间值,并将时间值通过数码管显示出来。从而测得舵机的转速值。

方案二:测试设备:舵机控制器速度测试架 操作方法: 1设定好舵机供电电压 2舵机控制器脉冲宽度制调节在,接上舵机,使舵机静止在舵机的中央位置 3舵机固定在角度测试架上,指针较准在90度 4使舵机控制器的脉宽输出变成2ms,记录正向60度角摆幅的时间(正向1) 5使舵机控制器的脉宽输出变回,记录反向60度角摆幅的时间(反向1) 6使舵机控制器的脉宽输出变成,记录反向60度角摆幅的时间(反向2) 7使舵机控制器的脉宽输出变回,记录正向60度角摆幅的时间(正

向2) 8更改舵机供电电压,重覆步骤2到7 2、转矩测量 方案一:通过实际的测试来验证该舵机的转矩。因为舵机扭矩的单位是Kg·cm,所以可以在舵盘上距舵机轴中心水平 距离1cm处,测试舵机能够带动物体的重量。 注意:因为较高的电压可以提高电机的速度和扭矩,所以在测试其性能参数时应根据具体情况合理选择舵机的工作 电压。

舵机控制板使用说明(中文)

舵机控制板使用说明V1.2 产品特点 ●采用32位ARM 内核的处理器芯片 ●独创的在线升级机制,用户可以在线升级固件 ●自动识别波特率 ●采用USB和UART通讯接口 ●1us的控制精度(相当于舵机的0.09度) ●可以同时同步控制32个舵机(24路舵机控制板可以同时同步控制24个,16路舵机控制板可以同时 同步控制16个舵机) ●内置512K 存储芯片,可存储上百个动作组 ●功能强大的电脑软件(内置3种语言,简体中文、繁体中文、英语) ●拥有Android手机控制软件 供电 舵机控制板需要2个电源: 舵机电源和芯片电源 舵机电源(正极):VS(图中3号位置的蓝色接线端子的左端) 舵机电源(负极):GND(图中3号位置的蓝色接线端子的中间) 舵机电源的参数根据实际所接舵机的参数而定,如TR213舵机的供电电压是4.8-7.2V,那么舵机电源就可以用电压在4.8-7.2V之间的电源。 芯片电源(正极):VSS(图中3号位置的蓝色接线端子的右端)

芯片电源(负极):GND(图中3号位置的蓝色接线端子的中间) VSS的要求是6.5-12V,如果芯片供电是从VSS端口输入的,那么电源的电压必须是6.5-12V之间。 另外: 1. 图中2号位置的USB接口可以给芯片供电,所以USB接口和VSS端口,任选其一即可。 2. 图中1号位置也可以给芯片供电,标记为5V和GND,5V是正极,GND是负极,供电电源的电压必 须是5V。 3. 图中1、2、3号位置都可以给芯片供电,任选其一即可。 4. 图中4号位置的绿色LED灯是芯片电源正常的指示灯,绿色灯亮,表示芯片供电正常,绿色灯灭,表 示芯片供电异常。 5. 图中5号位置的绿色LED灯是舵机电源正常的指示灯,绿色灯亮,表示舵机供电正常,绿色灯灭,表 示舵机供电异常。 如果需要控制舵机,2个绿色的LED灯都亮是前提条件。

STM32舵机控制板原理图

1 2 3 4 5 6 A B C D 6 54321D C B A Titl e Number Revision Size B Date:28-Jan-2010Sheet of File: D:\STM 32多功能多路舵机控制板\STM 32多功能多路舵机控制板PR OTEL\STM 32舵机控制板.Ddb Drawn B y :BOOT060NR ST 7 OS C_IN/PD0 5 OS C_OUT/PD1 6 PA0-WKUP 14 PA115PA216PA317PA420PA521PA622PA7 23PA841 PA942PA1043PA1144PA12 45 PA13/JTMS/S WDIO 46PA14/JTCK/S WCLK 49PA15/JTDI 50 PB 026PB 1 27 PB 2/BOOT128PB 3/JTDO 55PB 4/JNTRST 56PB 557PB 658PB 7 59PB 861PB 962PB 1029PB 1130PB 1233PB 1334PB 1435PB 1536PC 08PC 19PC 210PC 311PC 424PC 525PC 637PC 7 38PC 839PC 940PC 1051PC 1152PC 12 53PC 13-TAMPER-RTC 2PC 14-OS C32_IN 3PC 15-OS C32_OUT 4PD254VB AT 1VDD_132VDD_248VDD_364VDD_419VDDA 13 VS S_131VS S_247VS S_363VS S_418VS SA 12 U1 STM 32F 103RB T6 CD/DAT3 1CM D 2VS S 3VDD 4CLK 5VS S 6DAT07DAT18DAT2 9 JP7 SD 卡座 A 1 1A 2A 23 B 16B 5B 2 4 JP11KEY C1+ 1 V+2C1-3C2+4 C2-5 V-6 T2out 7 R2i n 8VC C 16 GND 15T1out 14R1i n 13R1out 12T1i n 11T2i n 10R2out 9 JP13MAX232 1 62738495J7 DB 9 Y18M HZ C3 20p C4 20p OS C_IN OS C_OUT US ART1_TX US ART1_RX C9 0.1uf C110.1uf C100.1uf C80.1uf C12 0.1uf 1 234J5CON4 1234J6CON4 1 234J4CON4 1234567 8 JP4HEADER 4X2 1234567 8 JP6HEADER 4X2 1234567 8 JP3HEADER 4X2 1234567 8 JP1 HEADER 4X2 1234567 8 JP2 HEADER 4X2 1234567 8 JP5 HEADER 4X2 1234J1CON4 1234J2CON4 1234J3CON4 vcc VC C VC C VC C VC C VC C 5V VC C02VC C11 GND04NTRST 3GND16TDI 5GND28TM S 7GND310TC K 9GND412RTCK 11GND514TDO 13GND616NR ST 15GND718NC 017GND820 NC 1 19 JP8JTAG 3V3 JTR ST JTDO JTR ST JTDO R1310k C5 100nf 3V3 S1 SW-PB SPI1_NS S SPI1_SC K SPI1_MISO SPI1_MOSI SPI1_NS S R3 100R1100R2 100 SPI1_MOSI SPI1_SC K SPI1_MISO C2100nf 3V3 3V3 C1100nf OS C_IN OS C_OUT US ART1_TX US ART1_RX 12345 6 JP12 HEADER 3X2 3V3R1210K R1110K BOOT1 BOOT0 BOOT0 BOOT11234 8765S2SW DIP-4 3V3 R710K R810K R910K R1010K PA0PA1PA2PA3 PA0PA1PA2PA33V3 C610p C710p US B_DM US B_DP US B_DISCONNEC T PC 0PC 1PC 2PC 3 PC 7PC 6PC 4PC 5 PC 8PC 9PC 10PC 11 PC 12PB 5PB 6PB 7PB 8 PB 11PB 10PB 9PB 12 PB 13PB 14PB 15 PB 5PB 6PB 7PB 8PB 9PB 10PB 11PB 12PB 13PB 14PB 15PC 0PC 1PC 2PC 3PC 4PC 5PC 6PC 7PC 8PC 9PC 10PC 11PC 12 VUSB 1GND 5 ID 4D+3D-2C24 MINI_USB 5V R422 R522R61.5k US B_DM US B_DP US B_DISCONNEC T Y2 32.768KHZ R15 1k 5V 2 3 1 R16 POWER 5V 1 2JP10 HEADER 212JP9 HEADER 2 VC C 3V3 C13100nf C1410uf C15 100nf C1647u f C17 100n f C184.7u f C19100n f C20100n f C21100n f C22100n f C23 100n f R141K +C251000u f Vin 3 G N D 1 Vout 2U2 VOLTREG Vin 3 G N D 1 Vout 2 U3 VOLTREG D2 LED D1LED

舵机原理及其使用详解

舵机的原理,以及数码舵机VS模拟舵机 一、舵机的原理 标准的舵机有3条导线,分别是:电源线、地线、控制线,如图2所示。 以日本FUTABA-S3003型舵机为例,图1是FUFABA-S3003型舵机的内部电路。 3003舵机的工作原理是:PWM信号由接收通道进入信号解调电路BA6688的12脚进行解调,获得一个直流偏置电压。该直流偏置电压与电位器的电压比较,获得电压差由BA6688的3脚输出。该输出送入电机驱动集成电路BAL6686,以驱动电机正反转。当电机转动时,通过级联减速齿轮带动电位器Rw1旋转,直到电压差为O,电机停止转动。 舵机的控制信号是PWM信号,利用占空比的变化,改变舵机的位置。 有个很有趣的技术话题可以稍微提一下,就是BA6688是有EMF控制的,主要用途是控制在高速时候电机最大转速。 原理是这样的:

收到1个脉冲以后,BA6688内部也产生1个以5K电位器实际电压为基准的脉冲,2个脉冲比较以后展宽,输出给驱动使用。当输出足够时候,马达就开始加速,马达就能产生EMF,这个和转速成正比的。 因为取的是中心电压,所以正常不能检测到的,但是运行以后就电平发生倾斜,就能检测出来。超过EMF 判断电压时候就减小展宽,甚至关闭,让马达减速或者停车。这样的好处是可以避免过冲现象(就是到了定位点还继续走,然后回头,再靠近) 一些国产便宜舵机用的便宜的芯片,就没有EMF控制,马达、齿轮的机械惯性就容易发生过冲现象,产生抖舵 电源线和地线用于提供舵机内部的直流电机和控制线路所需的能源.电压通常介于4~6V,一般取5V。注意,给舵机供电电源应能提供足够的功率。控制线的输入是一个宽度可调的周期性方波脉冲信号,方波脉冲信号的周期为20ms(即频率为50Hz)。当方波的脉冲宽度改变时,舵机转轴的角度发生改变,角度变化与脉冲宽度的变化成正比。某型舵机的输出轴转角与输入信号的脉冲宽度之间的关系可用围3来表示。

舵机控制原理以及分类作用

一、舵机的原理 标准的舵机有3条导线,分别是:电源线、地线、控制线,如图2所示。 以日本FUTABA-S3003型舵机为例,图1是FUFABA-S3003型舵机的内部电路。 3003舵机的工作原理是:PWM信号由接收通道进入信号解调电路BA6688的12脚进行解调,获得一个直流偏置电压。该直流偏置电压与电位器的电压比较,获得电压差由BA6688的3脚输出。该输出送入电机驱动集成电路BAL6686,以驱动电机正反转。当电机转动时,通过级联减速齿轮带动电位器Rw1旋转,直到电压差为O,电机停止转动。 舵机的控制信号是PWM信号,利用占空比的变化,改变舵机的位置。 有个很有趣的技术话题可以稍微提一下,就是BA6688是有EMF控制的,主要用途是控制在高速时候电机最大转速。 原理是这样的: 收到1个脉冲以后,BA6688内部也产生1个以5K电位器实际电压为基准的脉冲,2个脉冲比较以后展宽,

输出给驱动使用。当输出足够时候,马达就开始加速,马达就能产生EMF,这个和转速成正比的。 因为取的是中心电压,所以正常不能检测到的,但是运行以后就电平发生倾斜,就能检测出来。超过EMF 判断电压时候就减小展宽,甚至关闭,让马达减速或者停车。这样的好处是可以避免过冲现象(就是到了定位点还继续走,然后回头,再靠近) 一些国产便宜舵机用的便宜的芯片,就没有EMF控制,马达、齿轮的机械惯性就容易发生过冲现象,产生抖舵 电源线和地线用于提供舵机内部的直流电机和控制线路所需的能源.电压通常介于4~6V,一般取5V。注意,给舵机供电电源应能提供足够的功率。控制线的输入是一个宽度可调的周期性方波脉冲信号,方波脉冲信号的周期为20 ms(即频率为50 Hz)。当方波的脉冲宽度改变时,舵机转轴的角度发生改变,角度变化与脉冲宽度的变化成正比。某型舵机的输出轴转角与输入信号的脉冲宽度之间的关系可用围3来表示。

舵机控制型机器人设计要点

课程设计项目说明书 舵机控制型机器人设计 学院机械工程学院 专业班级2013级机械创新班 姓名吴泽群王志波谢嘉恒袁土良指导教师王苗苗 提交日期 2016年4 月1日

华南理工大学广州学院 任务书 兹发给2013级机械创新班学生吴泽群王志波谢嘉恒袁土良 《产品设计项目》课程任务书,内容如下: 1. 题目:舵机控制型机器人设计 2.应完成的项目: 1.设计舵机机器人并实现运动 2.撰写机器人说明书 3.参考资料以及说明: [1] 孙桓.机械原理[M].北京.第六版;高等教育出版社,2001 [2] 张铁,李琳,李杞仪.创新思维与设计[M].国防工业出版社,2005 [3] 周蔼如.林伟健.C++程序设计基础[M].电子工业出版社.北京.2012.7 [4] 唐增宏.常建娥.机械设计课程设计[M].华中科技大学出版社.武汉.2006.4 [5] 李琳.李杞仪.机械原理[M].中国轻工业出版社.北京.2009.8 [6] 何庭蕙.黄小清.陆丽芳.工程力学[M].华南理工大学.广州.2007.1 4.本任务书于2016 年2 月27 日发出,应于2016 年4月2 日前完 成,然后提交给指导教师进行评定。 指导教师(导师组)签发2016年月日

评语: 总评成绩: 指导教师签字: 年月日

目录 摘要 (1) 第一章绪论 (2) 1.1机器人的定义及应用范围 (2) 1.2舵机对机器人的驱动控制 (2) 第二章舵机模块 (3) 2.1舵机 (3) 2.2舵机组成 (3) 2.3舵机工作原理 (4) 第三章总体方案设计与分析 (6) 3.1 机器人达到的目标动作 (6) 3.2 设计原则 (6) 3.3 智能机器人的体系结构 (6) 3.4 控制系统硬件设计 (6) 3.4.1中央控制模块 (7) 3.4.2舵机驱动模块 (7) 3.5机器人腿部整体结构 (8) 第四章程序设计 (9) 4.1程序流程图 (9) 4.2主要中断程序 (9) 4.3主程序 (11) 参考文献 (13) 附录 (14) 一.程序 (14) 二.硬件图 (17)

舵机控制原理

舵机的相关原理与控制原理 1. 什么是舵机: 在机器人机电控制系统中,舵机控制效果是性能的重要影响因素。舵机可以在微机电系统和航模中作为基本的输出执行机构,其简单的控制和输出使得单片机系统非常容易与之接口。 舵机是一种位置(角度)伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。目前在高档遥控玩具,如航模,包括飞机模型,潜艇模型;遥控机器人中已经使用得比较普遍。舵机是一种俗称,其实是一种伺服马达。 还是看看具体的实物比较过瘾一点: 2.其工作原理是: 控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。它内部有一个基准电路,产生周期为20ms,宽度为1.5m s的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。当然我们可以不用去了解它的具体工作原理,知道它的控制原理就够了。就象我们使用晶体管一样,知道可以拿它来做开关管或放大管就行了,至于管内的电子具体怎么流动是可以完全不用去考虑的。

3.舵机的控制: 舵机的控制一般需要一个20ms左右的时基脉冲,该脉冲的高电平部分一般为0.5ms~2.5ms范围内的角度控制脉冲部分。以180度角度伺服为例,那么对应的控制关系是这样的: 0.5ms--------------0度; 1.0ms------------45度; 1.5ms------------90度; 2.0ms-----------135度; 2.5ms-----------180度; 请看下形象描述吧: 这只是一种参考数值,具体的参数,请参见舵机的技术参数。 小型舵机的工作电压一般为4.8V或6V,转速也不是很快,一般为0.22/60度或0.18/60度,所以假如你更改角度控制脉冲的

32路舵机控制器

miniUSB32路舵机控制器一、接口 1 、Mini USB接口 2、TTL串口跳线 3、比特率设置 4、对外5V供电接口 5、4路输入接口 6、舵机信号接口 7、舵机电源正极 8、舵机电源负极 9、舵机供电

10、控制板电源 二、指令 1、舵机移动 指令格式:# P S ... # P S T

关于舵机的控制

电子科技大学:(清晰明了,代码看不懂) 其实在车速不快的情况下只用车前40cm 内的黑线偏差就可以让赛车沿黑线行驶,问题是在赛车高速行驶时需要对前方 更远的赛道信息进行预判,例如控制赛车入弯前减速、使赛车走最优路径等。因此我们使用距离车前第21 行、22 行、23 行的黑线平均位置计算赛车离黑线 的偏差控制舵机拐向,用更远端的黑线来进行赛道预判。计算相邻两段黑线的 斜率还可以判断出小S 弯,让赛车在小S 弯直冲。 如图5.5.3.1 所示,Mid_Erro 为赛车当前的方向偏差,用于控制舵机当前时 刻的转向。Top_Erro 为图像最远端离中线的偏差,用于进行赛车前方赛道预判,Top_Erro 越大,减速越大 如图5.5. 3.2 所示,只要计算相隔S_Row 行的黑线的相对斜率Up_Erro 和Down_Erro ,如果Up_Erro 和Down_Erro 方向相反而且大于预设的阈值就可 以判定出小S 弯,让输出的偏移量Erro 缩小,减小舵机的转向,使小车减小 抖动。 桂林理工: D_zhongxin DJ_chu+ (D_Kp = + + xiu_D_Kp) (error dd_error)/ 10 - * error/10 D_Kd * 其中,D_zhongxin是车模前轮摆正时的参数,为1460;D_Kp是舵机PD控制的P值;xiu_D_Kp 是舵机P值的修正值;error是当前图像的黑线中心的偏差;D_Kd是舵机PD控制中的D值;dd_error是上次图像黑线中心的偏差。DJ_chu是输出给舵机的PWM值。 军械工程:斜率做赛道判断(同桂林) void Direction_Control(void) { Control_Row = Good_Road_End-1; if(Control_Row_Far == 1) //40 行控制

SSC32舵机控制器用户手册

概述: USBSSC32路舵机控制是专为人形机器人、蜘蛛机器人、机械手等多舵机使用而量身定做的多路舵机控制器。该控制器不但保留了原版的所有功能,还在原版的基础上作了升级,将原来的RS232串口改成了USB接口,方便电脑没有串口的用户使用。控制器还增加蓝牙接口,可实现无线远程控制。USBSSC32路舵机控制控制方式包括实时、定时、定速控制等,与lynxmotion的控制软件完全兼容. 参数: 1.输出通道:32路(脉冲调制输出或TTL电平输出); 2.舵机供电:根据所接舵机额定电压供电,典型DC4.8V~6V; 3.逻辑供电:DC6V~12V或USB供电(具有自恢复保险丝,调试时使用); 4.驱动分辨率:1uS,0.09°; 5.驱动速度分辨率:1uS/秒,0.09°/秒; 6.通讯接口:USB/TTL串口接口; 7.串口波特率:2400、9600、38.4k、115.2k可设置; 接口描述: SSC32舵机控制板接口如下图所示:

1.16-31号舵机信号控制引脚,其中G表示GND(黑色排针);V表示VCC(红色排针);S表示信号控制引脚(白色排针)。使用时不要把线接反。 2.0-15号舵机信号控制引脚,其中G表示GND(黑色排针);V表示VCC(红色排针);S表示信号控制引脚(白色排针)。使用时不要把线接反。 3.主控制芯片,采用DIP28脚的Atmega8L单片机,工作频率1 4.7456MHZ。 4.16-31号舵机控制电源输入,可以用来驱动一般的模拟或者是数字舵机。工作电压4.8V -6V,可以使用5片镍氢电池组供电,其中VS2接电源正极,GND接电源负极。 5.0-15号舵机控制电源输入,可以用来驱动一般的模拟或者是数字舵机。工作电压4.8V -6V,可以使用5片镍氢电池组供电,其中VS1接电源正极,GND接电源负极。 6.逻辑供电输入端,输入电压范围 7.5-15V,通过内部的降压给电源提供稳定的5V电源,其中VIN接电源的正极,GND接电源的负极。 7.通信速率选择,通过两组指拨开关选择不同的通信波特率,对应关系如下: 8.ABCD四组模拟/数字输入端子,可以设置为静止或者是锁存。 9.FT232rl通信芯片,提高通信的稳定性。 10.串口选择,默认通过跳线帽连接T、R引脚,去除引脚可以将串口留作它用。 https://www.360docs.net/doc/4f1003753.html,B接口,用来连接控制板到电脑。 12.内部降压模块,采用78D05降压模块为控制单元提供稳定的5V电源。 13.扩展功能,暂时用不到。 14.蓝牙接口,可以通过额外的蓝牙模块轻松实现无线控制。 15.VS1与VS2短接跳线,当两组都插有跳线时,VS1=VS2.这时只需要在VS1或者VS2任意输入一组舵机电源即可;如果去除跳线,VS1与VS2为两组不同的电源输入,不同的舵机电源从VS1与VS2分别输入。

舵机控制

利用单片机PWM信号进行舵机控制(图) 基于单片机的舵机控制方法具有简单、精度高、成本低、体积小的特点,并可根据不同的舵机数量加以灵 活应用。 在机器人机电控制系统中,舵机控制效果是性能的重要影响因素。舵机可以在微机电系统和航模中作为基本的输出执行机构,其简单的控制和输出使得单片机系统非常容易与之接口。 舵机是一种位置伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。其工作原理是:控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。它内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。 图1舵机的控制要求 舵机的控制信号是PWM信号,利用占空比的变化改变舵机的位置。一般舵机的控制要求如图1所示。 单片机实现舵机转角控制 可以使用FPGA、模拟电路、单片机来产生舵机的控制信号,但FPGA成本高且电路复杂。对于脉宽调制信号的脉宽变换,常用的一种方法是采用调制信号获取有源滤波后的直流电压,但是需要50Hz(周期是20ms)的信号,这对运放器件的选择有较高要求,从电路体积和功耗考虑也不易采用。5mV以上的控制电压的变化就会引起舵机的抖动,对于机载的测控系统而言,电源和其他器件的信号噪声都远大于5mV,所以滤波电路的精度难以达到舵机的控制精度要求。 也可以用单片机作为舵机的控制单元,使PWM信号的脉冲宽度实现微秒级的变化,从而提高舵机的转角精度。单片机完成控制算法,再将计算结果转化为PWM信号输出到舵机,由于单片机系统是一个数字系统,其控制信号的变化完全依靠硬件计数,所以受外界干扰较小,整个系统工作可靠。 单片机系统实现对舵机输出转角的控制,必须首先完成两个任务:首先是产生基本的PWM周期信号,本设

舵机控制详解

舵机控制详解 Document number【AA80KGB-AA98YT-AAT8CB-2A6UT-A18GG】

本人学习了一段时间的舵机,将自己所遇到的问题与解决方案和大家分享一下,希望对初学者有所帮助!!!! 一、舵机介绍 1、舵机结构 舵机简单的说就是集成了直流电机、电机控制器和减速器等,并封装在一个便于安装的外壳里的伺服单元。 舵机安装了一个电位器(或其它角度传感器)检测输出轴转动角度,控制板根据电位器的信息能比较精确的控制和保持输出轴的角度。这样的直流电机控制方式叫闭环控制,所以舵机更准确的说是伺服马达,英文 servo。 舵机组成:舵盘、减速齿轮、位置反馈电位计、直流电机、控制电路板等。 舵盘 上壳 齿轮组 中壳 电机 控制电路 控制线 下壳 工作原理:控制信号控制电路板电机转动齿轮组减速 舵盘转动位置反馈电位器控制电路板反馈 简单的工作原理是控制电路接收信号源的控制信号,并驱动电机转动; 齿轮组将电机的速度成大倍数缩小,并将电机的输出扭矩放大响应倍 数,然后输出;电位器和齿轮组的末级一起转动,测量舵机轴转动角 度;电路板检测并根据电位器判断舵机转动角度,然后控制舵机转动 到目标角度或保持在目标角度。 舵机接线方法:三线接线法:(1)黑线(地线) 红线(电源线)两个标准:和6V 蓝线/黄线(信号线) (2)棕线(地线) 红线(电源线)两个标准:和6V

黄线(信号线) 二、舵机PWM信号介绍 1、PWM信号的定义 PWM信号为脉宽调制信号,其特点在于他的上升沿与下降沿之间的时间宽度。具体的时间宽窄协议参考下列讲述。我们目前使用的舵机主要依赖于模型行业的标准协议,随着机器人行业的渐渐独立,有些厂商已经推出全新的舵机协议,这些舵机只能应用于机器人行业,已经不能够应用于传统的模型上面了。 关于舵机PWM信号的基本样式如下图 其PWM格式注意的几个要点: (1)上升沿最少为,为之间; (2)控制舵机的PWM信号周期为20ms; 2.PWM信号控制精度制定 1 DIV = 8uS ; 250DIV=2mS PWM上升沿函数: + N×DIV 0uS ≤ N×DIV ≤ 2mS ≤ +N×DIV ≤ 3、舵机位置控制方法 舵机的转角达到185度,由于采用8为CPU控制,所以控制精度最大为256份。目 8位AT89C52CPU,其数 据分辨率为256,那么经过 舵机极限参数实验,得到应 该将其划分为250份。 那么的宽度为2mS = 2000uS。 2000uS÷250=8uS 则:PWM的控制精度为8us 我们可以以8uS为单位 递增控制舵机转动与定位。 舵机可以转动185度, 那么185度÷250=度, 则:舵机的控制精度为度

MG996R舵机控制

MG996R舵机控制方法 红:+5v,棕:GND,黄:信号 基于单片机的舵机控制方法具有简单、精度高、成本低、体积小的特点,并可根据不同的舵机数量加以灵活应用 在机器人机电控制系统中,舵机控制效果是性能的重要影响因素。舵机可以在微机电系统和航模中作为基本的输出执行机构,其简单的控制和输出使得单片机系统非常容易与之接口。 舵机是一种位置伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。其工作原理是:控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。它内部有一个基准电路,产生周期为20ms,宽度为1.5ms 的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。 图1 舵机的控制要求 舵机的控制信号是PWM信号,利用占空比的变化改变舵机的位置。一般舵机的控制要求如图1 所示。 单片机实现舵机转角控制 可以使用FPGA、模拟电路、单片机来产生舵机的控制信号,但FPGA成本高且电路复杂。对于脉宽调制信号的脉宽变换,常用的一种方法是采用调制信号获取有源滤波后的直流电压,但是需要50Hz(周期是20ms)的信号,这对运放器件的选择有较高要求,从电路体积和功耗考虑也不易采用。5mV以上的控制电压的变化就会引起舵机的抖动,对于机载的测控系统而言,电源和其他器件的信号噪声都远大于5mV,所以滤波电路的精度难以达到舵机的控制精度要求。

也可以用单片机作为舵机的控制单元,使PWM信号的脉冲宽度实现微秒级的变化,从而提高舵机的转角精度。单片机完成控制算法,再将计算结果转化为PWM信号输出到舵机,由于单片机系统是一个数字系统,其控制信号的变化完全依靠硬件计数,所以受外界干扰较小,整个系统工作可靠。 单片机系统实现对舵机输出转角的控制,必须首先完成两个任务:首先是产生基本的PWM周期信号,本设计是产生20ms的周期信号;其次是脉宽的调整,即单片机模拟PWM信号的输出,并且调整占空比。 当系统中只需要实现一个舵机的控制,采用的控制方式是改变单片机的一个定时器中断的初值,将20ms分为两次中断执行,一次短定时中断和一次长定时中断。这样既节省了硬件电路,也减少了软件开销,控制系统工作效率和控制精度都很高。 具体的设计过程:例如想让舵机转向左极限的角度,它的正脉冲为2ms,则负脉冲为20ms-2ms=18m,s 所以开始时在控制口发送高电平,然后设置定时器在 2ms 后发生中断,中断发生后,在中断程序里将控制口改为低电平,并将中断时间改为18ms,再过18ms进入下一次定时中断,再将控制口改为高电平,并将定时器初值改为2ms,等待下次中断到来,如此往复实现PWM信号输出到舵机。用修改定时器中断初值的方法巧妙形成了脉冲信号,调整时间段的宽度便可使伺服机灵活运动。 为保证软件在定时中断里采集其他信号,并且使发生PWM信号的程序不影响中断程序的运行(如果这些程序所占用时间过长,有可能会发生中断程序还未结束,下次中断又到来的后果),所以需要将采集信号的函数放在长定时中断过程中执行,也就是说每经过两次中断执行一次这些程序,执行的周期还是20ms。 软件流程如图2 所示。

相关文档
最新文档