一個定時器生成多路PWM波形的原理和方法

2020-12-07 電子工程世界網

在很多工程應用中,需要使用到PWM波(脈寬調製),例如電機調速、溫度控制調整功率等。本文講述怎麼利用單片機的一個定時器生成多路PWM波形。


一般的,PWM的周期t1是一個固定值,如1ms,10ms,100ms等,在一個周期中包含了高電平t2和低電平t3,它們的關係是t2+t3=t1。改變一個周期中高電平的時間,就能達到速度或者功率調整的目的。PWM適用於高速開關器件的控制,不適合於繼電器等低速開關元件的控制,因為繼電器等低速元件達不到如此快的開關速度。


PWM控制的關鍵是控制改變PWM的高電平時間t2,這個時間在其他子程序中由控制算法中進行修改,如PID控制算法。
 
圖 1


在微處理器,如單片機中,實現一個定時器生成多路PWM的方法如下。


首先來看看用一個定時器實現一路PWM輸出的方法:
>>定義一個時間基準刻度t,這個也是計時器中斷周期,一般在程序中t不改變。PWM的周期、高低電平時間由若干個基準時間t組成;
>>定義一個全局計時變量n,n表示這段時間經過了多少個基準時間t;
>>定義一個全局計時變量n1,n1表示一個PWM的周期包含多少個基準時間t,n1=t1/t。一般在程序中n1,t1不改變。


>>定義一個全局計時變量n2,n2表示一個PWM周期中高電平包含多少個基準時間t,n2=t2/t。由於高電平的時間受其他算法控制改變的,n2也是隨時在改變。
程序的流程如下:


①初始化定時器,定時器中斷時間設置為t,如設置t為1ms或其他;


②初始化變量:n=0;//計時變量n清零
n1=t1/t;//一個PWM的周期t1包含了多少個基準時間t.
//假如設PWM周期為100ms,則n1=100;

n2=t2/t;//計算一個PWM中高電平時間t2由多少個基準時間//t組成。t2由其他控制算法改變。


③開始計時,打開定時器中斷。定時器中斷程序中n++;
當n當n>=n2&& n當n>n1時,返回步驟①進行下一個周期的PWM.


程序流程圖如下:
 
圖2


如果在同一個定時器中需要多路PWM,再定義多組類似的變量,按照圖2 中流程處理即可。

關鍵字:定時器  PWM波形  脈寬調製 編輯:什麼魚 引用地址:http://news.eeworld.com.cn/mcu/ic479694.html

推薦閱讀

STM32F10x 學習筆記之基本定時器

大容量的STM32F101xx、STM32F103xx系列和互聯型產品中包含了兩個基本定時器,TIM6和TIM7。這兩個定時器功能非常簡單,基本上和SysTick 定時器相當。但是我在使用的時候確是費了一番周折才調試通過,所以還是應該將這兩個定時器的使用方法好好的寫一寫。基本定時器TIM6和TIM7各包含一個16位自動裝載計數器,由各自的可編程預分頻器驅動。簡單的說兩個定時器是從0計數到N(由自動裝載計數器來確定N的具體值),然後復位回0 重新計數。每次復位到0 的時候可以產生對應的中斷信號,或者產生DMA 請求,還可以觸發DAC 同步電路。不過這次筆記不討論觸發DAC 的問題,等寫到DAC 的使用時在講解如何用這兩定時器驅動

發表於 2020-11-21

STM32F10x 學習筆記之SysTick 定時器

SysTick 定時器被集成在NVIC中。因此,只要是Cortex-M3 內核的單片機,就都有它。這個學習筆記就用SysTick 定時器來實現走馬燈的功能。SysTick 定時器非常簡答,只有四個寄存器。這四個寄存器的含義在《Cortex-M3權威指南》那本書中講的非常的清楚,這裡不複述了,下面只講講在STM32上SysTick有什麼特殊之處。按照CMSIS 標準,用C語言訪問這四個寄存器時使用的寄存器名稱分別如下:SysTick->CTRLSysTick->LOADSysTick->VALSysTick->CALIBSysTick->CALIB 的值固定為9000,因此,只有當系統嘀嗒時鐘設定

發表於 2020-11-11

STM32通用定時器---基本定時學習

1.STM32的Timer簡介STM32中一共有11個定時器,其中2個高級控制定時器,4個普通定時器和2個基本定時器,以及2個看門狗定時器和1個系統嘀嗒定時器。其中系統嘀嗒定時器是前文中所描述的SysTick,看門狗定時器以後再詳細研究。今天主要是研究剩下的8個定時器。定時器計數器解析度計數器類型預分頻係數產生DMA請求捕獲/比較通道互補輸出TIM1TIM816位向上,向下,向上/向下1-65536之間的任意數可以4有TIM2TIM3TIM4TIM516位向上,向下,向上/向下1-65536之間的任意數可以4沒有TIM6TIM716位向上1-65536之間的任意數可以0沒有其中TIM1和TIM8是能夠產生3對PWM互補輸出的高級

發表於 2020-11-11

基於MSP430的定時器Timer_A 介紹

一、定時器TImer_A 介紹TImer_A是一個具有多路捕獲/比較寄存器的16位定時/計數器,主要有TAxCTL,TAxR,TAxCCTLn,TAxIV,TAxEX0 幾個寄存器。其中最主要的是TAxCTL寄存器,它決定TImer_A的輸入時鐘信號,TImer_A的工作模式,Timer_A的開啟與停止,中斷的申請等。中斷可以來自定時器溢出或者任意的捕獲/比較寄存器Timer_A的特徵包括:具有4種工作模式的異步定時/計數器可選擇配置的時鐘源可配置的PWM輸出功能異步輸入和同步鎖存二、Timer_A 操作1. 16位定時/計數器16位定時/計數寄存器TAxR,在每個時鐘信號的上升沿做增一計數或減一計數。TAxR可以通過置位

發表於 2020-10-29

淺談STM32F10X晶片SysTick系統時鐘定時器

1、介紹實現Cortex-M3系統定時器SysTick的配置,需要具備以下知識:Cortex-M3系統定時器默認頻率是HCLK的8分頻(如下圖所示),因此需要會RCC時鐘的配置;然後配置SysTick系統定時器;編寫SysTick中斷處理函數。系統時鐘及系統定時器時鐘(詳見手冊)2、寄存器描述SysTick控制及狀態寄存器STK_CTRLSysTick重裝載數值寄存器STK_LOADSysTick當前數值寄存器STK_VALSysTick校準數值寄存器STK_CALIB 與SysTick相關的固件庫函數有以下幾個:配置SysTick系統時鐘:SysTick_CLKSourceConfig();設置SysTick重裝值

發表於 2020-10-19

初識STM8S105K心得

  3,定時器1的使用    首先,使用IAR新建一個基礎工程    對於STM8S的IO口操作,我們可以向使用51單片機那樣簡單直接位操作,我通過宏定義來對於位操作:#define LED0_Toggle PE_ODR_bit.ODR5 = !PE_ODR_bit.ODR5 //LED接在PE5上  #define LED1_Toggle PC_ODR_bit.ODR1 = !PC_ODR_bit.ODR1 //LED接在PC1上  #define

發表於 2020-10-12

相關焦點

  • 多路舵機控制PWM發生器的設計與Proteus仿真
    以Proteus和Keil軟體為基礎,介紹了在Proteus環境下利用51單片機產生多路PWM脈衝的實現方法。最後以一個典型的應用實例驗證了設計的可行性與可靠性。實驗證明,本系統可在單片機定時器資源有限的情況下同時對多個舵機的輸出轉角進行控制。
  • MSP430 定時器輸出PWM波形
    MSP430F16x和MSP430F14x單片機內部均含有兩個定時器,TA和TB;TA有三個模塊,CCR0-CCR2;TB含有CCR0-CCR67個模塊;其中CCR0模塊不能完整的輸出PWM波形(只有三種輸出模式可用);TA可以輸出完整的2路PWM波形;TB可以輸出6路完整的PWM波形。
  • pwm輸出波形的特點
    由傅立葉分析可知,不對稱波形會帶來大量低次諧波、偶次諧波以及餘弦項。因此PWM脈衝波形的對稱性對輸出特性有很大影響。   PWM的實現方法一般有兩種:比較法和計算法。   隨著數位技術的迅速發展和計算機功能的提高,計算法以其方便靈活的特點成為PWM實現方法的主流。採用計算法實現PWM時,按照每個載波周期內調製波的取法,可以分為規則採樣PWM和自然採樣PWM。
  • 5Hz三檔三相SPWM波形的生成方法
    摘要:本文介紹5Hz/50V、60V、70V三檔三相SPWM波形生成的硬體電路和軟體設計,並給出本文引用地址:http://www.eepw.com.cn/article/179878.htm逆變器的輸出波形。
  • PWM原理
    PWM就是脈衝寬度調製,也就是佔空比可變的脈衝波形。該技術以該結論為理論基礎,對半導體開關器件的導通和關斷進行控制,使輸出端得到一系列幅值相等而寬度不相等的脈衝,用這些脈衝來代替正弦波或其他所需要的波形。按一定的規則對各脈衝的寬度進行調製,既可改變逆變電路輸出電壓的大小,也可改變輸出頻率。
  • stm32f407之高級定時器 死區互補PWM(操作寄存器)
    推薦閱讀 CubeMX Stm32F407 生成一定周期的佔空比不同的方波 DMA + 定時器 先上圖如圖 是我生成的一個波形  這個波形的佔空比在連續的四個周期內分別是10%,20%,30%,40%, 並且按照這個順序循環這裡大致介紹一下實現的方式
  • 產生精確PWM波形的DDS電路
    脈寬調製是一種調製或改變某個方波的簡單方法。方波佔空比基本形式是隨輸入信號變化的。佔空比是指方波的高電平時間和低電平時間之比。一個50%佔空比的波形會具有50%的高電平時間和50%的低電平時間,而一個10%佔空比的波形則具有10%的高電平時間和90%的低電平時間。
  • PWM基本原理介紹
    PWM(PulseWidthModulation)控制——脈衝寬度調製技術,通過對一系列脈衝的寬度進行調製,來等效地獲得所需要波形(含形狀和幅值)。
  • PWM是什麼
    導讀:PWM(Pulse Width Modulation)控制——脈衝寬度調製技術,通過對一系列脈衝的寬度進行調製,來等效地獲得所需要波形(含形狀和幅值)。
  • STM32定時器捕獲PWM脈衝頻率
    每個定時器有四個輸入捕獲通道IC1、IC2、IC3、IC4。且IC1 IC2一組,IC3 IC4一組。並且可是設置管腳和寄存器的對應關係。2. 同一個TIx輸入映射了兩個ICx信號。3. 這兩個ICx信號分別在相反的極性邊沿有效。4. 兩個邊沿信號中的一個被選為觸發信號,並且從模式控制器被設置成復位模式。5.
  • 信號源生成和下載波形的常用方法
    但是信號源硬體上自帶的信號發生功能一般只支持幾種標準的信號產生,如果用戶需要針對自己特定的應用產生對應的波形,則需要自己編寫波形文件並下載到信號源中播放。以下我們將以Keysight是德科技矢量信號源為例,介紹幾種常用的波形產生和下載方法。
  • 濾波器對PWM變頻調速電動機端子上電壓波形的影響分析
    本文主要研究在不同電纜長度下,濾波器的參數對電機端電壓特性的影響,確定電纜長度、濾波器的電阻和電容與電機端子過電壓幅值及脈衝上升沿時間的關係,找出濾波器參數的選擇範圍,為變頻調速驅動系統的製造和使用提供試驗依據和理論基礎。
  • STM32F4輸出PWM波形的配置總結
    單片機輸出pwm的原理涉及模塊:GPIO、TIM1主要寄存器:TIMx_CCR、TIMx_ARR、TIMx_CNT原理圖通用定時器可以利用GPIO引腳進行脈衝輸出,在配置為比較輸出、PWM輸出功能時,捕獲/比較寄存器TIMx_CCR被用作比較功能,下面把它簡稱為比較寄存器。
  • 用Arduino剖析PWM脈寬調製
    即:使用數字控制產生佔空比不同的方波(一個不停在開與關之間切換的信號)來控制模擬輸出。我們要在數字電路中輸出模擬信號,就可以使用PWM技術實現。在嵌入式開發中,我們常用PWM來驅動LED的暗亮程度,電機的轉速等。原理 我們知道,在數字電路中,電壓信號是離散的:不是 0(0V)  就是 1(5V或者3.3V), 那麼如何輸出介於 0v 和  5V之間的某個電壓值呢?
  • AT89C2051多路舵機控制電路詳解
    在微機電系統和航模中,它是一個基本的輸出執行機構。以FUTABA-S3003型舵機為例,圖1是FUFABA-S3003型舵機的內部電路。本文引用地址:http://www.eepw.com.cn/article/282107.htm  舵機的工作原理是:PWM信號由接收通道進入信號解調電路BA66881。的12腳進行解調,獲得一個直流偏置電壓。
  • 單相橋式PWM逆變器死區補償的一種方法
    補償的一種方法。為改善輸出電壓波形,可採取多種方法,相關資料也介紹了死區補償的方法,但未能採用圖文形象、直觀的介紹死區補償的過程,而採用純數學推理和文字說明較抽象,不易理解。本文詳細介紹了一種死區補償的方法。1 單相橋式PWM逆變電路 在採用IGBT作為開關器件的單相橋式PWM逆變電路中,假設負載為阻感負載。
  • 用SST單片機的PCA功能產生PWM脈衝
    利用PCA的脈衝寬度調製(PWM)模式可以產生一個8位PWM,它通過比PCA定時器的低位(CL)和比較寄存器的低位(CCAPnL)產生。當CLCCAPnL時輸出為低;當CL>=CCAPnL是輸出為高。要進入這個模式,可以對CCAPMn的PWM和ECOM位置位。在PWM 模式,輸出的頻率決定於PCA定時器的源。由於只有一對CH 和CL寄存器,所有模塊共享PCA定時器和頻率。
  • 抗電磁幹擾的PWM風扇控制器原理及應用
    為了利用PWM波形的佔空比來控制風扇速度,可以使用外部 NTC(負溫度係數)熱敏電阻或微芯公司的一種PIC微控制器及其 SMBus 串行數據總線。圖1示出了TC664 和 TC665 控制器數據資料描述的一種典型應用(參考文獻2)。利用電容值為1mF的頻率控制電容器CF和風扇控制器IC1產生一個PWM脈衝串,它的標稱頻率為30 Hz,依賴於溫度或命令的佔空比變化範圍是30%~100%。
  • 專家解析:SPWM工作原理透徹分析
    1.1.1 SPWM控制的基本原理在採樣控制理論中有一個重要的結論:衝量相等而形狀不同的窄脈衝加在具有慣性的環節上時,其效果基本相同。衝量即指窄脈衝的面積。這裡所說的效果基本相同,是指環節的輸出響應波形基本相同。即當它們分別加在具有慣性的同一個環節上時,其輸出響應基本相同。如果把各輸出波形用傅立葉變換分析,則其低頻段非常接近,僅在高頻段略有差異。
  • 脈衝寬度調製(PWM)器件的測試(圖)
    摘 要:本文介紹了pwm器件的出現、功能、結構和優點。同時,結合sts 2110b脈衝寬度調製器件測試系統,對pwm器件的測試原理和實現方法加以闡述和介紹。