使用8051单片机控制舵机
8051控制舵机
舵机在电子和嵌入式系统中非常有用,由于可以把它旋转到任何特定的角度,所以广泛应用于玩具、机器人、计算机、汽车、飞机等项目中。舵机的适用范围也很广泛,从高扭矩电机到低扭矩电机都有应用。
先简单了解一下舵机的工作原理,舵机主要告靠PWM(脉宽调制)控制,这意味着它的旋转角度是由控制脉冲的持续时间控制制的。舵机基本上由直流电动机组成,而直流电动机由可变电阻(电位器)和一些齿轮控制。直流电机的输出通过齿轮转换成扭矩。电位器连接到舵机的输出轴上,并计算角度,在到达需要的角度时停止直流电机。
舵机角度控制
舵机可旋转0到180度,可以通过1ms到2ms之间的脉冲持续时间来控制这种程度的旋转。1ms可以旋转0度,1.5ms可以旋转90度和2毫秒脉冲可旋转180度。1至2毫秒之间的持续时间可以旋转舵机到0至180度之间的任何角度。
电路原理图:
电路原理图
舵机有三根控制线,红色的VCC(电源),棕色的为GND,橙色是控制线。控制线连接到8051的引脚P2.0。当这个引脚输出高电平1ms,则舵机旋转到0度,输出高电平1.5ms,则舵机旋转到90度,输出高电平2ms,则舵机旋转到180度。函数“servo_delay”使用8051芯片的定时器生成50us延时。
由于使用8051的定时器0模式1,所以在TMOD寄存器中写入0x01。模式1是16位定时器模式,TH0是16位定时器的高字节,TL0是16位定时器的低字节。将0xff写入TH0,将0xd2写入TL0,在11.0592M的晶振下,值0xffd2将使定时器0产生50us延时。TR引脚用于启动定时器,TF是溢出标志,在溢出时由硬件设置标志,需要通过软件重新设置。
C语言代码:
#include<reg51.h>
sbit output=P2^0;
void msdelay(unsigned int time) // 毫秒级延时函数.
{
unsigned i,j ;
for(i=0;i<time;i++)
for(j=0;j<1275;j++);
}
void servo_delay(int times) // 50us整倍延时函数
{
int m;
for(m=0;m<times;m++)
{
TH0=0xFF;
TL0=0xD2;
TR0=1;
while(TF0==0);
TF0=0;
TR0=0;
}
}
void main()
{
int n;
TMOD=0x01; // 选择 Timer 0, Mode 1
output=0;
while(1)
{
for(n=13;n<28;n=n+2)
{
output=1;
servo_delay(n);
output=0;
servo_delay(260);
msdelay(200);
}
}
}
单片机应用分享舵机控制 #编程
每天分享一个单品机应用。大家好,今天给大家分享舵机的控制。用L298来启动舵机,用了两个按键,一个启动,一个停止。舵机可以在正负四十五度之间变化,按启动键的时候躲击循环转动四十五度,正负四十五度角按下停止的时候躲击停止。这个实验用C语言来实现。
相关问答
新人求教,如何用 单片机控制舵机 ,该怎样连线?电压一般4.8v或者6v看你舵机型号。。。信号线上要求输入周期是20ms的脉宽调制(PWM)信号,其中脉冲宽度从0.5m...舵机有三根线,电源正极,电源负极,一根信号线...
怎么用51 单片机控制 4个 舵机 工作,有程序的更好?模拟输出4路PWM即可网上程序很多搞清楚舵机的控制信号就行了舵机的控制信号为周期为20ms高电平时间为1ms-2ms(不同型号时间可能会有微小差别)的pwm信号...
单片机控制舵机 自动来回不停转动程序?要实现单片机控制舵机自动来回不停转动,可以使用循环控制结构。首先,设置舵机初始位置,然后使用一个循环结构,让舵机从初始位置逐渐转动到一个极限位置,再返...
单片机控制舵机 电压不够怎么办?单片机控制舵机电压不够,有可以是使用L298N对stm32供电导致电压不稳,可以取消L298N对stm32供电,用其他稳定电源对stm32供电,即可解决单片机控制舵机电压不够,...
51 单片机控制 9g小 舵机 ,转90度后再复位。求程序?给你个思路0-90度1、IO输出高电平1.5ms2、低电平输出18.5ms(周期20ms)3、循环重复100次步骤1290-0度1、IO输出高电平0.5ms2、低电平输出19.5ms(...
单片机 开发板跟 舵机 多路 控制板 是什么概念?[回答]舵机多路控制板属于单片机的一种应用咯,开发板也可以开发那个四强科技专业、专注、专一为客户提供方案和芯片或者PCBA产品供应、提供选型指导、提...
51 单片机 可以驱动16路 舵机 么?可以。1.51单片机可以驱动多路舵机,包括16路,通过编写程序和使用PWM技术,可以控制舵机的角度和速度,使其按照预定程序运动。2.驱动16路舵机需要一定的计算...
伺服电机 控制 方法有哪些? 单片机 或驱动CPU原理?伺服电机也叫舵机。控制方法很简单不同占空比的pwm可以控制它正转反转。用单片机的引脚产生pwm接到电机的信号脚上即可。伺服电机也叫舵机。控制方法很简单...
sg90 舵机 的三根线怎么接?SG90舵机的三根线分别是红色、棕色和橙色。红色线接正极,棕色线接负极,橙色线接PWM信号输出口。大多数情况下,PWM信号输出口需要连接到单片机或其他控制板上,...
化骨龙怎么外接 舵机 ?1.化骨龙可以外接舵机。2.这是因为化骨龙是一种机械装置,它的运动需要通过舵机来控制。舵机是一种能够精确控制角度的电机,可以根据输入的信号来改变自身的...