一、舵机:
1、1MHZ=1us 1KHZ=1000us 1HZ=1000 000us 1/60HZ=166ms
2、1ms<=脉宽<=2ms --> 1KHZ<=脉宽<=500HZ
3、PWM周期信号20ms;舵机转向左极限角度,正脉冲为2ms,负脉冲为20ms-2ms=18ms
4、舵机控制系统工作稳定,PWM占空比 (0.5~2.5ms 的正脉冲宽度)和舵机的转角(-90°~90°)线性度较好
舵机的控制需要一个20ms左右的时基脉冲(1/0.020s=50HZ),该脉冲的高电平部分为0.5ms~2.5ms范围内的角度控制脉冲部分。以180度角度伺服为例,那么对应的控制关系是:
0.5ms-------------0度; 2.5%
1.0ms------------45度; 5.0%
1.5ms------------90度; 7.5%
2.0ms-----------135度; 10.0%
2.5ms-----------180度; 12.5% C/(180-0)=HL/(2.5-0.5) --> C=90L 一度等于90有效部分脉冲长度比例
def set_servo_angle(channel, angle): #输入角度转换成12^精度的数值
date=4096*((angle*11)+500)/20000 #进行四舍五入运算 date=int(4096*((angle*11)+500)/(20000)+0.5)
pwm.set_pwm(channel, 0, date)
尺寸:21.5mmX11.8mmX22.7mm
重量:9克 (1kg=1公斤=2斤)
无负载速度:0.12秒/60度(4.8V) 0.002s/度
堵转扭矩:1.2-1.4公斤/厘米(4.8V)
使用温度:-30~~+60摄氏度
死区设定:7us (7MHZ)
工作电压:4.8V-6V
三、位置等级有1024个,有效角度范围180度,控制的角度精度是可以达到180/1024度约0.18度了,从时间上看其实要求的脉宽控制精度为2000/1024us约2us。
四、使用的是每0.02ms进入一次中断,那么数每+1,舵机大概转过0.02/2*185=1.85°。0.5ms-2.5ms这段高电平时间越长舵机转过角度越大,0.5ms舵机就转过0°,2.5ms舵机就转到最大角度(大概185°)
1、1MHZ=1us 1KHZ=1000us 1HZ=1000 000us 1/60HZ=166ms
2、1ms<=脉宽<=2ms --> 1KHZ<=脉宽<=500HZ
3、PWM周期信号20ms;舵机转向左极限角度,正脉冲为2ms,负脉冲为20ms-2ms=18ms
4、舵机控制系统工作稳定,PWM占空比 (0.5~2.5ms 的正脉冲宽度)和舵机的转角(-90°~90°)线性度较好
舵机的控制需要一个20ms左右的时基脉冲(1/0.020s=50HZ),该脉冲的高电平部分为0.5ms~2.5ms范围内的角度控制脉冲部分。以180度角度伺服为例,那么对应的控制关系是:
0.5ms-------------0度; 2.5%
1.0ms------------45度; 5.0%
1.5ms------------90度; 7.5%
2.0ms-----------135度; 10.0%
2.5ms-----------180度; 12.5% C/(180-0)=HL/(2.5-0.5) --> C=90L 一度等于90有效部分脉冲长度比例
#2^12精度 角度转换成数值 #angle输入的角度值(0--180) #pulsewidth高电平占空时间(0.5ms--2.5ms) #/1000将us转换为ms #20ms时基脉冲(50HZ)
pulse_width=((angle*11)+500)/1000 //将角度转化为500(0.5)<-->2480(2.5)的脉宽值(高电平时间) angle=180时 pulse_width=2480us(2.5ms)date/2^12=pulse_width/20 ->有上pulse_width的计算结果得date=2^12*( ((angle*11)+500)/1000 )/20 -->int date=4096((angle*11)+500)/20000;
def set_servo_angle(channel, angle): #输入角度转换成12^精度的数值
date=4096*((angle*11)+500)/20000 #进行四舍五入运算 date=int(4096*((angle*11)+500)/(20000)+0.5)
pwm.set_pwm(channel, 0, date)
二、SG90厂家给出的技术数据:
尺寸:21.5mmX11.8mmX22.7mm
重量:9克 (1kg=1公斤=2斤)
无负载速度:0.12秒/60度(4.8V) 0.002s/度
堵转扭矩:1.2-1.4公斤/厘米(4.8V)
使用温度:-30~~+60摄氏度
死区设定:7us (7MHZ)
工作电压:4.8V-6V
三、位置等级有1024个,有效角度范围180度,控制的角度精度是可以达到180/1024度约0.18度了,从时间上看其实要求的脉宽控制精度为2000/1024us约2us。
四、使用的是每0.02ms进入一次中断,那么数每+1,舵机大概转过0.02/2*185=1.85°。0.5ms-2.5ms这段高电平时间越长舵机转过角度越大,0.5ms舵机就转过0°,2.5ms舵机就转到最大角度(大概185°)