基于STM32的MDK软件仿真输出PWM波形
文章目录
- 一、PWM相关
- 1、PWM是什么
- 2、PWM原理
- 3、PWM应用
- 4、PWM信号输出
- 二、实验相关
- 1、实验要求
- 2、实验过程
- (1)实验代码
- (2)Keil仿真设置
- (3)实验结果
- 三、总结
一、PWM相关
1、PWM是什么
PWM(Pulse Width Modulation)控制——脉冲宽度调制技术,通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形(含形状和幅值)。
对模拟信号电平进行数字编码,也就是说通过调节占空比的变化来调节信号、能量等的变化,占空比就是指在一个周期内,信号处于高电平的时间占据整个信号周期的百分比,例如方波的占空比就是50%。
2、PWM原理
脉宽调制(PWM)基本原理:控制方式就是对逆变电路开关器件的通断进行控制,使输出端得到一系列幅值相等的脉冲,用这些脉冲来代替正弦波或所需要的波形。也就是在输出波形的半个周期中产生多个脉冲,使各脉冲的等值电压为正弦波形,所获得的输出平滑且低次谐波少。按一定的规则对各脉冲的宽度进行调制,即可改变逆变电路输出电压的大小,也可改变输出频率。
例如,把正弦半波波形分成N等份,就可把正弦半波看成由N个彼此相连的脉冲所组成的波形。这些脉冲宽度相等,都等于 ∏/n ,但幅值不等,且脉冲顶部不是水平直线,而是曲线,各脉冲的幅值按正弦规律变化。如果把上述脉冲序列用同样数量的等幅而不等宽的矩形脉冲序列代替,使矩形脉冲的中点和相应正弦等分的中点重合,且使矩形脉冲和相应正弦部分面积(即冲量)相等,就得到一组脉冲序列,这就是PWM波形。可以看出,各脉冲宽度是按正弦规律变化的。根据冲量相等效果相同的原理,PWM波形和正弦半波是等效的。对于正弦的负半周,也可以用同样的方法得到PWM波形。
在PWM波形中,各脉冲的幅值是相等的,要改变等效输出正弦波的幅值时,只要按同一比例系数改变各脉冲的宽度即可,因此在交-直-交变频器中,PWM逆变电路输出的脉冲电压就是直流侧电压的幅值。
根据上述原理,在给出了正弦波频率,幅值和半个周期内的脉冲数后,PWM波形各脉冲的宽度和间隔就可以准确计算出来。按照计算结果控制电路中各开关器件的通断,就可以得到所需要的PWM波形。
3、PWM应用
PWM既经济、节约空间、抗噪性能强,是一种值得广大工程师在许多设计应用中使用的有效技术。PWM控制技术在逆变电路中应用最广,应用的逆变电路绝大部分是PWM型,广泛应用在从测量、通信到功率控制与变换的许多领域中。
PWM信号把模拟信号转化为数字电路所需要的编码,现在基本是采用数字电路,因此在很多场合都采用PWM信号,我们经常见到的就是交流调光电路,也可以说是无级调速,高电平占多一点,也就是占空比大一点亮度就亮一点,占空比小一点亮度就没有那么亮,前提是PWM的频率要大于我们人眼识别频率,要不然会出现闪烁现象。
除了在调光电路应用,还有在直流斩波电路、蜂鸣器驱动、电机驱动、逆变电路、加湿机雾化量等都会有应用。
4、PWM信号输出
- 可以直接通过芯片内部模块输出PWM信号,前提是这个I/O口要有集成模块,只需要简单几步操作即可,这种自带有PWM输出的功能模块在程序设计更简便,同时数据更精确。如下图,一般的IC口都会标明这个是否是PWM口;
- 但是如果IC内部没有PWM功能模块,或者要求不是很高的话可以利用I/O口设置一些参数来输出PWM信号,因为PWM 信号其实就是一高一低的一系列电平组合在一起。具体方法是给I/O加一个定时器,对于你要求输出的PWM信号频率与你的定时器一致,用定时器中断来计数,但是这种方法一般不采用,除非对于精度、频率等要求不是很高可以这样实现。
二、实验相关
1、实验要求
- 用STM32F103输出一路PWM波形,建议采用定时器方法,用示波器观察输出波形。(野火和网上大多数资源采用此方法,有完整源码)
2、实验过程
(1)实验代码
此处采用野火自带的PWM例程
(2)Keil仿真设置
配置调试工具
打开调试
设置检测GPIO的输出引脚
设置输出类型
(3)实验结果
全速运行,观察示波器
输出波形如下
将生成的hex文件烧录到stm32板子中,用示波器观察输出波形(根据引脚定义,示波器探头输入可以接开发板的PA8和PB13两个引脚,任选其一即可)
参考:
详解基于STM32的keil4 MDK 软件仿真输出IO口的波形图!
(stm32f103学习总结)—stm32 PMW输出实验
三、总结
以上即为用MDK软件仿真输出PWM波形全过程。
基于STM32的MDK软件仿真输出PWM波形相关推荐
- STM32输出PWM波形以及实现LED呼吸灯
目录 一.PWM的简介 1.PWM的定义 2.PWM的优点 3.PWM的几种控制方法 (1)等脉宽PWM法 (2)随机PWM (3)SPWM法 4.PWM的主要参数 (1)PWM占空比 (2)PWM的 ...
- 【资料转发分享】基于STM32智能路灯灯光自动控制系统设计-基于STM32无刷电机BLDC速度控制器系统设计-基于STM32热释人体感应智能门禁报警系统设计-基于STM32居家加湿器控制仿真系统设计
1604基于STM32智能路灯灯光自动控制系统设计-毕设课设资料 实现的功能如下,下图是仿真原理图: 通过ARM内部的ADC采集光敏电阻电压,判断电压值 电压值低于设定的值,表示光强太弱,开路灯 光强 ...
- STM32输出PWM波形及LED呼吸灯
目录 一.PWM的介绍 1.概述 2.优点 3.主要产生方法 SPWM法 1.等面积法 2.硬件调制法 3.软件生成法 4.PWM电路图 5.PWM基本原理 二.cubemx项目的建立 1.选择芯片S ...
- STM32输出PWM波形并实现呼吸灯
文章目录 一.环境配置 二.PWM简介 三.使用STM32CubeMX配置工程 四.使用Keil配置代码 五.运行效果 六.用Keil自带的逻辑仿真器观察占空比 七.总结 八.参考资料 一.环境配置 ...
- 使用STM32输出PWM波形LED呼吸灯的效果
文章目录 前言 一.PWM简介 1.1 关于PWM 1.2 使用步骤 二.使用STM32CUBEMX实现2个 LED呼吸灯的效果 2.1.配置环境 2.2 代码配置 2.3.输出PWM波形 2.4 呼 ...
- 使用STM32输出PWM波形实现2个 LED呼吸灯
目录 一.PWM简介 二.STM32配置PWM输出 三.keil仿真 四.烧录运行 五.现象 六.总结 七.参考链接 一.PWM简介 含义 PWM(Pulse Width Modulation)即脉冲 ...
- 基于STM32风速风向检测仿真
目录 一.项目描述 二.仿真 三.程序 资料下载地址:基于STM32风速风向检测仿真 一.项目描述 获取风速风向值并在OLED液晶上显示. 二.仿真 系统未上电 系统上电 更改风速风向 ...
- 基于STM32指纹密码锁proteus仿真设计
基于STM32指纹密码锁proteus仿真设计. 有仿真,程序,原文. 功能: 1.六位密码,设定初始密码(123456) 2.Electronic Locks(电子密码锁) (等待输入密码,密码用* ...
- 基于STM32可调时钟仿真
目录 一.项目功能概述 二.仿真 三.程序 资料下载地址:基于STM32可调时钟仿真 一.项目功能概述 1.LCD1602液晶屏实时显示当前时间 2.通过按键调整时间 二.仿真 定时使用stm32内部 ...
最新文章
- 使用GitHub存储库中的更改更新本地存储库
- spring第一个小例子(Spring_xjs1)
- if shell 条件语句简写_Shell if条件判断语句用法详解
- redis主从搭建和分片集群搭建
- mxnet实战系列(一)入门与跑mnist数据集
- Spring Security AuthenticationManagerBuilder
- 他曾经复读才考上三本,如今让华为开出 201 万年薪(其实还拒绝了 360 万 offer)...
- ArcGIS 起伏度、坡度、交通便利度数据生成
- minist数据集训练与测试
- 安装Google play 服务等四件套
- 用计算机控制神舟十号,整理后的计算机控制系统复习题答案
- python定时发送qq消息
- Python压缩文件夹
- (病毒安全)服务器被中了木马,如何清除
- 解决Failed to load module canberra-gtk-module错误
- 以STC的单片机为例A/D做按键扫描应用原理介绍
- js的变量命名需要遵循什么规则?
- 【实战】Windows 10 CodeSoft 6 条形码标签打印开发实战 【产品标签设计印刷】【Codesoft】
- STM32CubeIDE界面设置为黑色
- PS可选颜色调整图层对应颜色调节表
热门文章
- 英特尔 82801DB ICH4 - AC'97 Audio 控制器 [A-1] 声卡驱动安装!
- 关于电脑连接蓝牙耳机出现的一些问题,以及解决方案
- 攻克3D神器Blender的第五天-【多边形建形、旋转】
- 川崎机器人零点调整_机器人零点标定方法
- 汉高2020财年销售额193亿欧元,洗涤剂及家用护理业务部有机销售额增长强劲
- 编写一个python程序用来计算投资回收期_智慧职教Python程序设计基础题目答案
- Flac3D常用命令部分
- 采用联发科芯片的手机为何不值得买?看看芯片工艺落后就知道了
- Xlinx Zynq7035 PL SFP光口通信例程
- 【Python面试必看系列】之Python 中的三元运算子