在电力电子控制中,PWM几乎是无处不在的,不论是AC/DC,DC/AC,还是DC/DC,都涉及到PWM,PWM具体是什么可以自行百度,网上资料非常多,这里就不再赘述。在电力电子变换里面,PWM波形生成有两种方式,模拟和数字,专用的模拟IC不在此文探讨范围之内,本文主要介绍怎样用MCU来生成PWM。
在所有的MCU里,都会有Timer定时器,PWM就是通过这个外设生成的,基本的原理可以通过下图(以STM32F407的寄存器为例)来解释。
计数器TIM_CNT对输入时钟进行计数,比如输入时钟是1MHz(50%占空比方波),对时钟的每一个上升沿(或者下降沿)从数字0开始计数,计数到TIM_ARR=999,一共计数1000个,经历的时间是1000*1/1000000 = 1ms,也就是1kHz,计数到999之后计数器TIM_CNT归零,重新从0开始计数到999,往复循环,这样就形成了1kHz PWM了。
那怎样做到一定的占空比呢?这很简单,设定一个值TIM_CCR,比如199,计数器TIM_CNT从0计数到199,一共200次计数,在TIM_CNT计数值在0-199,PWM输出引脚输出高电平(可以人为设定),计数器达到199,电平翻转到低电平,之后IM_CNT计数999后归零又恢复到高电平,这样也就形成了200/1000 = 20%的PWM了。对这个比较值进行设置就可以形成不同占空比的PWM了,这也是最基本的PWM波形生成方法了,从上面介绍的,可以看出,TIM_ARR的值决定了PWM的频率,TIM_CCR的值决定了PWM的占空比,有了这两个值就可以很容易地生成PWM了,STM32的Timer配置很灵活,功能很多,本文只是介绍最基本的原理,其他的在自行探索就是了。
关键字:MCU PWM波形
引用地址:
MCU是怎样输出PWM波形的
推荐阅读最新更新时间:2024-03-16 15:42
基于单片机技术的全自动横切机研制
1 研究目的和意义 随着家电工业、汽车工业、装潢业的迅速发展,市场对精整薄材、带材及箔材的需求日益扩大,对成品薄带材及箔材的精度要求也越来越高,开发研制高精度薄、带、箔材的精整设备是市场的需要。 在带材的加工过程中,常需要把一卷料定长切断,误差要小;落料张数能自动计数,自动分组;切断时能自动压紧,连续切断。进料、压紧、切断都必须按一定的先后顺序循环往复。对于这样的控制要求,传统的控制系统很难实现。可喜的是,随着单片机、PLC技术的发展,传统的控制系统逐渐被新型智能控制系统取代。鉴于PLC比单片机成本高,且输入输出点数受到限制,在本文中,笔者主要研究应用单片机技术的全自动横切机,分别对其机械结构和控制系统进行了设计。
[单片机]
温度LTC1392 with PIC16C84单片机
Introduction. The Linear Technology LTC1392 is an inexpensive 10-bit A/D converter with the added capability of measuring the temperature of the IC and the value of the nominal +5 V supply. This makes it ideal in monitoring the health of the environment in any electronic equipment. The low power dissipation also mak
[单片机]
AD9850与单片机接口电路的正弦信号发生器设计
1.引言 随着数字大规模集成电路技术的发展,采用数字电路的直接数字频率合成技术(DDS)具有频率转换速度快。频率分辨率高。相位可控。频率稳定度高等优点。频率转换速度快。频率分辨率高的信号源在现代电子通讯。航空航天。自动控制等领域中是必不可少的,因此DDS信号源在上述领域获得广泛的应用。 AD9850是ADI公司生产的低功耗直接数字频率合成技术典型产品之一,AD9850具有频率转换速度快。频率分辨率高。相位噪声低。频率稳定度高等优点。本论文设计的是以直接频率合成(DDS)器件AD9850和MCS-51单片机为核心,配合必要的外围接口器件,在单片机软件控制下,能够产生给定频率和起始相位的附加调制信息的正弦波信号发生器。
[单片机]
MCS-51单片机汇编语言:算数运算指令有哪些?
加法指令(Addtion) ADD A, Rn ; A←(A)+(Rn) ADD A, @Ri ;A←(A)+((Ri)) ADD A, direct ;A←(A)+(direct) ADD A, #data ;A←(A)+#data 带进位加法指令 ADDC A, Rn ; A←(A)+(Rn)+(Cy) ADDC A, @Ri ;A←(A)+((Ri )) +(Cy) ADDC A, direct ;A←(A)+(direct) +(Cy) ADDC A, #data ;A←(A)+#data +(Cy) 加1指令 INC A
[单片机]
AT89S52单片机实现简易计算器(C语言程序)
本文设计基于AT89S52单片机的简易计算器。它的功能是: (1)计算器至少能正常显示8位数。 (2)卡机时,显示0。第一次按下时,显示D1;第二次按下时,显示D1D2。 (3)计算器能对整数进行简单的加、减、乘、除四则运算,在做除法时能自动舍去小数部分。 (4)运算结果超过可显示的位数时能进行出错提示。 总体设计 计算器以AT89S52单片机为核心芯片,通过扫描键盘来得到数据,另外通过CPU将得到的数据按要求进行运算并将结果送到显示电路进行显示。 框图设计 基于AT89S52单片机的简易计算器由电源电路、单片机主控电路、按键电路、显示电路和复位电路几部分组成,框图组成如下图所示。 基于AT89S52单片机的简易计算器
[单片机]
联合体union在单片机位定义时的妙用
在51系列单片机开发中,我们经常喜欢用位定义,对端口某位进行操作,也可以用来做为标志。在开发msp430、avr、arm等单片机时,就不能再使用位定义了。因此给我们带来很多不变,这里介绍一种使用union联合同样也能实现位操作。 这里以MSP430为例,其他单片机类似。 1.用联合体做位标志 __no_init volatile union { uint8 temp; struct { uint8 bit0:1; uint8 bit1:1; uint8 bit2:1; uint8 bit3:1; uint8 bit4:1; uint8
[单片机]
Hi-Tech PICC 8bit MCU 的学习笔记 -- 环境篇
/*---------------------------------------------------------*/ Hi-Tech PICC 8bit MCU 的学习笔记 ---------- 环境篇 /*---------------------------------------------------------*/ 第一节 环境 1.概况 PIC 单片机的 C 语言编译器众多,常见的有 Hitech、CCS、IAR、Bytecraft 等公司,其中最常用的是Hitech 公司的PICC 编译器。在此列出几个主要的针对 PIC 单片机的 C 编译器相关连接网址,供参考: Hitech-PIC
[单片机]
基于89C52单片机的具有通讯口的智能温控表
1 引 言 温控表已广泛应用于工业控制等诸多领域,本文介绍的具有计算机通讯功能的智能温控表是一种新颖的自动化仪表,它以单片机AT89C52为核心,采用电压/频率转换技术和RS-485通信接口芯片MAX487,具有测量精度高、可靠性好、抗干扰性能强、可实现计算机网络控制等优点,可广泛应用于冶金、纺织、化工、医疗等行业。它具有-200~+500°C范围的温度测量和自动控制,是老式温控表的替代产品,市场前景广阔。 2 系统硬件设计 系统硬件框图如图1所示。 系统接通220V交流电源后,通过稳压电路(7805、7905)产生±5V直流工作电源,以满足本系统中集成电路工作需要,系统的遥测电路开始工作:在
[单片机]