如何用51单片机控制舵机的?怎样编写程序啊?大哥帮帮忙

如题所述

舵机是一种位置伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。其工作原理是:控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。它内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。编程的时候也很简单,你将一根管脚初始化为低电平,然后写一个while循环,在循环中将该脚职位高电平,延时,再拉为低电平,如此不停的循环就是PWM波,你需要控制的是高电平产生的时间,根据高电平的时间来控制舵机的角度的,希望能帮的上你追问

能附上编程或者电路连接什么的吗?舵机只有三条线,怎样接啊?比如给个P2~1的输出端给你控制舵机,怎样使它顺转60度后再反转60度啊?我是个菜鸟,最好详细点。谢谢!

追答

这个,舵机只有三根线啊,一根是VCC一根GND剩下那根就是信号线,直接接在单片机的IO口上就可以了,因为舵机的角度是用脉宽来控制的,也就是在20ms内高电平持续的时间,所以如果控制经度没有要求的时候可以用延时函数来做,精确的就得用中断来做了

追问

这些我都已经了解了,但我只是想要个程序

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-09-09
舵机是一种位置伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。其工作原理是:控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。它内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。编程的时候也很简单,你将一根管脚初始化为低电平,然后写一个while循环,在循环中将该脚职位高电平,延时,再拉为低电平,如此不停的循环就是PWM波,你需要控制的是高电平产生的时间,根据高电平的时间来控制舵机的角度的,希望能帮的上你
第2个回答  2011-10-06
舵机控制就是控制pwm波的占空比 不同的占空比对应不同的舵机位置 而单片机产生pwm波的方法和你控制led亮灭一样