舵机测试报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
舵机PWM原理:舵机的控制一般需要一个20ms左右的时基脉冲,该脉冲的高电平部分一般为
0.5ms~2.5ms范围内的角度控制脉冲部分。以180度角度伺服为例,那么对应的控制关系是这样的:
0.5ms--------------0度;1.0ms----------45度;1.5ms------------90度;2.0ms--------135度;
2.5ms-----------180度。
控制占空比:产生周期20 ms的脉冲信号,根据需要,改变输出脉宽。基本思路
我用的晶振频率为12M,2051一个时钟周期为12个晶振周期,正好是1/1000 ms,计数器每隔1/1000 ms计一次数。以计数器1为例,先设定脉宽的初始值,程序中初始为1.5ms,在for循环中可以随时通过改变a值来改变,然后设定计数器计数初始值为a,并置输出p13为高位。当计数结束时,触发计数器溢出中断函数,就是void timer0(void) interrupt 1 using1 ,在子函数中,改变输出p13为反相(此时跳为低位),在用20000(代表20ms周期)减去高位用的时间a,就是本周期中低位的时间,c=20000-a,并设定此时的计数器初值为c,直到定时器再次产生溢出中断,重复上一过程。舵机测试数据整理
周期20.00ms
定时器初值角度a值占空比
20460 -45 1895 9.262
20460 -40 1880 9.189
20460 -35 1865 9.115
20460 -30 1850 9.042
20460 -25 1835 8.969
20460 -20 1820 8.895
20460 -15 1805 8.822
20460 -10 1790 8.749
20460 -5 1775 8.675
20460 0 1760 8.602
20460 5 1745 8.529
20460 10 1730 8.456
20460 15 1715 8.382
20460 20 1700 8.309
20460 25 1685 8.236
20460 30 1670 8.162
20460 35 1655 8.089
20460 40 1640 8.016
20460 45 1625 7.942
角度是从-45度到+45度之间19个数值。 角度与控制脉宽的初值之间关系:
1450
1500
1550
1600
1650
1700
1750
1800
1850
1900
1950-45-35-25
-15-55
152535
45