您的位置:首页 > 编程语言 > ASP

基于树莓派的舵机控制原理

2015-01-25 20:35 411 查看
舵机控制原理。

分为数字舵机和模拟舵机。

数字舵机,又称伺服电机。

舵机的控制原理

舵机一般由三根线组成。灰线GND,红线电源,黄线信号线。舵机的控制,通过PWM波调制,发出控制电平,

产生控制电压与舵机内的电位器作比较,获得电压差输出。最后由电压差,决定舵机转向的角度。

SR-1501舵机,是一种不错的标准的机器人舵机。

数字舵机的代码编程控制。

一般原理:

                当在20ms内,连续地通过gpio模拟输出高电平(即PWM波),在0.5ms~2.5ms时间内,舵机就能线性地转角0度---180度,

即(当给0.5ms高电平给舵机,它就会转为对应的0度,当给1.5ms高电平给舵机,它就会转为对应的90度角)。

SR-1501舵机总结:

                基于SR-1501舵机,当给定一个合适的PWM波给舵机,舵机就会转向一个特定的角度。并且舵机会通过内部的调正,会固定在一个角度中,

即(只要输出一次转角的PWM波,舵机就会一直维持在那个角度中,直到下一次产生角度的变化,就算拔出信号线,也不影响角度的固定,除非拔掉电源线)。

基于树莓派16路舵机控制原理。

                 在Linux系统下,由于通过模拟PWM波的输出,需要通过内核控制物理硬件,很浪费时间,从而产生精度不能很好地控制。在linux系统中,

有一些定时器 ,如usleep()的api,settimer(),select().,都可以名义上的微秒级别的api,但是,实际上还是有所差别。

通过定时器settimer(),定义系统中断,产生一个定时周期,来处理16路舵机的控制。为了保持一定精度,由于基于Linux操作系统级别的控制,系统

的运行会执行时间片轮转的方法。所以精度难于控制,因而通过设置程序的优先级,就可以在一定的范围稳定地完成任务。

                              
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  raspberry pi