1、PWM概念
脉冲宽度调制(PWM)是一种高效的数字电压控制技术,它利用微处理器的数字输出来对模拟电路进行控制,通过控制固定电压的直流电源开关频率,改变负载两端的电压,进而达到控制要求的一种电压调整方法。主要理解“频率” 和“占空比”两个概念
1.1、频率:脉冲信号时间周期的倒数
1.2、占空比:输出的PWM脉冲信号中,高电平保持的时间与该PWM的时钟周期的时间之比。
占空比 = t1/T ----用来控制一个脉冲信号周期的信号强弱。例如,高电平3.3V 占空比20%,那么对应的电压为满幅(3.3V)的20%(3.3V*20% = 0.66V)
2、树莓派 pwm
RPi.GPIO库就提供了一个PWM功能
2.1 PWM实例化
import RPi.GPIO as GPIO
pwm = GPIO.PWM(channel, frequency)
channel : 输出PWM信号的GPIO引脚
frequency:PWM信号的初始频率,单位为Hz,其值应大于0.0
2.1 启动PWM
pwm.start(dc)
dc : 初始占空比,且0.0 ≤ dc ≤ 100.0
2.2 更改pwm频率
pwm.ChangeFrequency(freq)
freq:指定PWM的新频率,单位为Hz,其值应大于0.0
2.3 更改PWM占空比
pwm.ChangeDutyCycle(dc)
2.4 停止PWM
pwm.stop()