如何控制数字舵机

如何控制数字舵机,第1张

1、数字舵机只需要发送一次PWM信号就能保持在规定的某个位置。

2、数字舵机的两个优势是:

1.因为微处理器的关系,数字舵机可以在将动力脉冲发送到舵机马达之前,对输入的信号根据设定的参数进行处理。这意味着动力脉冲的宽度,就是说激励马达的动力,可以根据微处理器的程序运算而调整,以适应不同的功能要求,并优化舵机的性能。

2.数字舵机以高得多的频率向马达发送动力脉冲。就是说,相对与传统的50脉冲/秒,现在是300脉冲/秒。虽然,因为频率高的关系,每个动力脉冲的宽度被减小了,但马达在同一时间里收到更多的激励信号,并转动得更快。这也意味着不仅仅舵机马达以更高的频率响应发射机的信号,而且"无反应区"变小反应变得更快加速和减速时也更迅速、更柔和数字舵机提供更高的精度和更好的固定力量。此外还有防抖动,响应速度快的优点。

int readPin = 0 //用来连接电位器

int servopin = 7 //定义舵机接口数字接口7

void servopulse(int angle)//定义一个脉冲函数

{

int pulsewidth=(angle*11)+500 //将角度转化为500-2480的脉宽值

digitalWrite(servopin,HIGH) //将舵机接口电平至高

delayMicroseconds(pulsewidth) //延时脉宽值的微秒数

digitalWrite(servopin,LOW)//将舵机接口电平至低

delayMicroseconds(20000-pulsewidth)

}

voidsetup()

{

pinMode(servopin,OUTPUT)//设定舵机接口为输出接口

}

voidloop()

{

//读取电位器(传感器)的读数,接到3.3V,值范围从0到660左右

int readValue = analogRead(readPin)

//把值的范围映射到0到165左右

int angle = readValue / 4

//发送50个脉冲

for(int i=0i<50i++)

{

//引用脉冲函数

servopulse(angle)

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11053221.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存