医院网站备案前置审批,河南网站seo设计,wordpress 取消标签,济南官网优化推广文章目录 前言1、舵机参数2、功能测试参考文献 前言 为了实现垃圾分类和倾倒功能#xff0c;于是购买了180度舵机 避坑提示#xff1a;360度舵机无法像180度舵机一样控制角度#xff0c;它只能控制旋转方向和速度#xff0c;所以别买360度的舵机。 1、舵机参数
我买的舵机… 文章目录 前言1、舵机参数2、功能测试参考文献 前言 为了实现垃圾分类和倾倒功能于是购买了180度舵机 避坑提示360度舵机无法像180度舵机一样控制角度它只能控制旋转方向和速度所以别买360度的舵机。 1、舵机参数
我买的舵机参数如下 工作电压3.5V-6V 接线红线(接高电平)、棕线(接地)、橙线(信号线)
**工作原理**舵机的控制信号为周期是20ms频率就是50HZ的脉宽调制PWM信号其中脉冲宽度从0.5ms-2.5ms相对应舵盘的位置为0180度呈线性变化。也就是说给它提供一定的脉宽它的输出轴就会保持在一个相对应的角度上直到给它提供一个另外宽度的脉冲信号输出轴才会改变角度。
初始位置0° 脉冲宽度 0.5ms 占空比 0.5ms / 20ms 2.5 中间位置90° 1.5 ms的脉冲宽度 占空比 1.5ms / 20ms 7.5 最终位置180° 2.5 ms的脉冲宽度 占空比 2.5ms / 20ms 12.5 所以占空比范围2.5~12.5
角度angle和占空比dutyCycle的转换dutyCycle 2.5 angle/180*10
2、功能测试 说明 servo_pin17,针对是水平方向输入一个度数舵机转轴上的指针就水平转到对应的位置。servo_pin18,针对是垂直方向输入一个度数舵机转轴上的指针就垂直转到对应的位置。 实现控制代码control.py
import RPi.GPIO as GPIO
from time import sleepGPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)# servo_pin 舵机信号线接树莓派GPIO17
def complex_change(servo_pin): GPIO.setup(servo_pin, GPIO.OUT, initialFalse)p GPIO.PWM(servo_pin, 50) # 初始频率为50HZp.start(angleToDutyCycle(90)) # 舵机初始化角度为90sleep(0.5)p.ChangeDutyCycle(0) # 清空当前占空比使舵机停止抖动return p# 旋转角度转换到PWM占空比
def angleToDutyCycle(angle):return 2.5 angle / 180.0 * 10if __name__ __main__:print(当前为90度)while True:angle int(input(旋转度数))if angle 0 and angle 180:# 水平转动pcomplex_change(17)p.ChangeDutyCycle(angleToDutyCycle(angle))# 垂直方向回正pcomplex_change(18)p.ChangeDutyCycle(angleToDutyCycle(0))sleep(0.1)p.ChangeDutyCycle(0) # 清空当前占空比使舵机停止抖动else:print(旋转度数在0-180之间)
舵机初始角度为90度你可以把转轴上面的指针调到垂直方向表示90度 参考文献
【树莓派-网络监控3角度遥控】基于python3控制两自由度舵机实现摄像头拍摄角度的遥控树莓派 — 控制舵机