前言
一、PWM简介
脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。
二、应用领域
1.调节电机转动,调节变频器。
2.可以用来控制LED灯的亮暗变化。
3.控制无源蜂鸣器发出简单的声音
4.以及实现功率继电器的线圈节能。
三、频率,周期,占空比
1.频率
pwm的频率是指每秒钟信号从高电平到低电平再回到高电平的次数。
例如:
50HZ 1秒中高电平到低电平再回到高电平的次数为50次。
100HZ 1秒中高电平到低电平再回到高电平的次数为100次。
2.周期
一次从高电平到低电平再回到高电平的所需要的时间。
周期=1s/频率
例如:1s/50HZ=20ms
周期:T=1000ms
3.占空比
一个脉冲周期内,高电平的时间除以整个周期时间
占空比:200/1000=20%
占空比:500/1000=50%
四、PWM的控制原理
控制方式就是对逆变电路开关器件的通断进行控制,使输出端得到一系列幅值相等的脉冲,用这些脉冲来代替正弦波或所需要的波形。也就是在输出波形的半个周期中产生多个脉冲,使各脉冲的等值电压为正弦波形,所获得的输出平滑且低次谐波少。按一定的规则对各脉冲的宽度进行调制,即可改变逆变电路输出电压的大小,也可改变输出频率。
PWM信号就是根据需求调节占空比的大小以实现负载端电压的线性变化。
五、PWM的控制呼吸灯
视觉残留:
当频率高时,代表1s内闪烁的次数越多,次数越多就会感觉一直亮着。
当频率低时,代表1s内闪烁的次数越少,次数越少就会明显看到闪烁。
固定在一定频率,周期也就固定了。然后可以改变占空比。
占空比越大,亮的时间就越长,视觉上也就越亮。
六、PWM控制电机转速
原理犹如控制呼吸灯。
PWM不管是高电平还是低电平时电机都是转动的,电机的转速取决于平均电压。
占空比越大,提供给电机的平均电压越大,电机转速就高。
占空比越小。提供给电机的平均电压越小,电机转速就低。
当然要注意不要频率过高,会损坏电机。
如何控制正反转呢?
红色正转:VCC→Q1→电机→Q4→GND
蓝色反转:VCC→Q3→电机→Q2→GND
七、PWM控制舵机角度
舵机图片来自于百度。如有侵权,请联系谢谢!
八、PWM控制电机代码
/************************
函数名称:MotorTim_Config
函数作用:直流电机定时器初始化
函数入口:
psc 预分频
arr 重装载值
引脚说明:
IA PB8 TIM4_CH3
IB PB9 TIM4_CH4
************************/
void MotorTim_Config(uint16_t psc,uint16_t arr)
{
GPIO_InitTypeDef GPIO_InitStructure = {0};//GPIO结构体
TIM_TimeBaseInitTypeDef TIM_BaseInitStructure = {0};
TIM_OCInitTypeDef TIM_OCInitStructure = {0};
//时钟使能
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4,ENABLE);
//GPIO配置
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8|GPIO_Pin_9;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB,&GPIO_InitStructure);
//基本定时配置
TIM_BaseInitStructure.TIM_ClockDivision = TIM_CKD_DIV1; //分频因子
TIM_BaseInitStructure.TIM_CounterMode = TIM_CounterMode_Up; //向上计数
TIM_BaseInitStructure.TIM_Period = arr-1; //重装载值
TIM_BaseInitStructure.TIM_Prescaler = psc-1;//预分频器
TIM_TimeBaseInit(TIM4,&TIM_BaseInitStructure);
TIM_ARRPreloadConfig(TIM4,ENABLE); //ARR影子寄存器
//输出比较配置
TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; //PWM1
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;//高电平有效
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;//输出到对应引脚
TIM_OCInitStructure.TIM_Pulse = 0;
TIM_OC3Init(TIM4,&TIM_OCInitStructure);
TIM_OC4Init(TIM4,&TIM_OCInitStructure);
TIM_OC3PreloadConfig(TIM4,ENABLE);//CCR3影子寄存器
TIM_OC4PreloadConfig(TIM4,ENABLE);//CCR4影子寄存器
//定时器使能
TIM_Cmd(TIM4,ENABLE);
}
总结
纯属个人笔记,大家看看理解就好!
上一篇:我也是醉了,KEIL5程序下载后不自动运行?
下一篇:STM32串口之空闲中断
推荐阅读最新更新时间:2024-11-12 11:13
推荐帖子
- 带状线基础知识
- 本文描述了带状线的基础知识并提到带状线类型即。双导体带状线、偏置带状线和悬挂带状线。带状线定向耦合器也在下面描述。带状线被认为是微带线的扩展版本。如图1所示,它看起来像一个沙宽结构。这里地平面存在于基板的两侧,而设计的金属条位于中间。与未覆盖的微带线结构相比,带状线为EM波提供了均匀的介质。图1描绘了带状线配置中的场配置。如图所示,场配置将保留在带状线内,不会暴露在外
- btty038 RF/无线
- 晒WEBENCH设计的过程+滤波器波形仿真显示及电路导出
- 利用WEBENCH设计一个滤波器并将滤波器的波形仿真显示出来以及将WH中的电路导出TINA或者AD中进行使用,如图:晒WEBENCH设计的过程+滤波器波形仿真显示及电路导出
- hanskying666 模拟与混合信号
- downloadable project下载问题
- 用的是workbench3.0VxWorks6.6,板子已启动并通过ftp下载映像,然后也通过ftpconnecter连接上了,但下载应用程序的时候显示error,format错误,应用程序可以在vxsim中执行的...downloadableproject下载问题应该是你downloadable的文件与你的开发板的CPU型号不匹配,如果是要把程序下载到开发板上的话,一定要确定你的bulidspec选项中的参数跟你开发板一致
- sukha1988 嵌入式系统
- 关于【汽车方向灯】控制电路设计
- 各位大神好!在下新人一枚,在此急求一个经济的【汽车方向灯】的设计电路,输入16V,6课1.5W/颗LED,请各位大神不吝赐教。谢谢!关于【汽车方向灯】控制电路设计6课1.5W/颗LED,这话说的。是6个led吗。也不说输入信号是什么样的。也没有输入输出之间的逻辑。还没有功能的描述。先把思路理清楚吧。 大神好!是我没有说清楚。设计汽车前面转向灯,总共6个LED,左右各3个LED,每个LED1.5W(Vf约6V),输入16V,两边转向灯不同时亮。由于线材要求,需要共
- silencechl 汽车电子
- 关于ADXL203测量倾斜角
- 使用ADXL203测量倾斜角,0°的时候输出应该是2.5V,90°的时候应该是3.5V,我实验测量的输出是2.5038V和3.509V,基本是对的。但是由于我后续电路要接单片机的ADC进行采样,ADC的基准电压是2.5V,所以我把ADXL203的输出利用两个电阻分压,希望用ADC采集ADXL203输出值的一半。但是当ADXL203接分压电阻之后,0°时的输出就不是2.5V了,变为2.459V,9.°的时候是3.4464V,也不是3.5V。老师说可能是ADXL203的输出阻抗和分压电阻有什么关系,
- lene ADI参考电路
- 最小化手机存储器子系统的功耗
- 手机从简单的语音通信设备不断进化到多种功能的多媒体设备.极大的注意集中在开发有功能强大的图像和应用处理器,以及高度集成的灵活的RF区块和重点注意到控制功率预算.但是,较少重视存储器的功耗,它占总功耗的20%左右.本文提供了几种解决方案。最小化手机存储器子系统的功耗
- lorant 移动便携
设计资源 培训 开发板 精华推荐
- M.2接口 OLED 0.91'模块(按键、扬声器、led)
- LTC6263HMS 音频耳机桥式驱动器运算放大器的典型应用
- 具有 3.3V 和 1.8V 输出和排序功能的 LT1940 降压型稳压器的典型应用电路
- DC1496C-C,基于具有 I2C 接口的 LTC2941-1 电池电量计的演示板
- DI-25 - 具有同步整流功能的 30 W DC-DC 转换器
- LTC6991 TimerBlox 的典型应用:可复位的低频振荡器
- 基于STM32F103VET6的多色LED矩阵演示板的主/从控制
- LT6656ACDC-1.25、1.25V ADC 电压基准和桥式激励电源的典型应用
- NUC-PowerCube 四足NUC电源模块
- esp8266-18b20