首頁>Club>
15
回覆列表
  • 1 # 科技電小二

    普通IO埠模擬PWM,其實是有侷限的,尤其是要輸出高頻率的PWM波形時,更不適合,建議不要選用普通埠模擬PWM,而建議選用定時器複用硬體PWM輸出。

    什麼是PWM

    PWM其實就是電平有周期的高低電平變化。PWM輸出是由兩個引數:佔空比和週期頻率決定的。

    在電子產品控制領域,PWM控制是一項運用非常廣泛的技術,有很多行業都需要使用到它。

    普通埠如何模擬PWM

    有些微控制器內部擁有帶PWM輸出功能的定時器,只需要簡單的配置引數和使能,就能夠在特定的複用IO引腳,輸出想要的PWM波形。

    但當設計電路當中,微控制器引腳沒有PWM功能時,如果想要實現模擬PWM訊號的功能,則可以與內部普通定時器去實現。

    假設實現1Khz,50%佔空比的波形,即實現週期為1ms的pwm輸出,需要設定一個0.5ms的定時器中斷,每次進入一次定時器,則對普通的IO埠輸出電平進行一次翻轉,以達到PWM輸出波形的作用。

    模擬PWM優點:

    普通IO埠模擬PWM,可以增加硬體引腳的適配程度,並不受微控制器特定限制。

    模擬PWM缺點

    模擬PWM的輸出頻率越高,進入定時器中斷的次數就越快,中斷間隔的時間越短,如果再有其他型別的中斷也要處理時,會因為中斷的優先順序巢狀等待響應,影響控制精度,PWM輸出誤差增大,也會影響其他如ADC等中斷處理,甚至會較出現微控制器邏輯出錯,宕機或者跑飛的情況。

    模擬PWM,適用範圍

    模擬pwm,適合低頻率,固定週期和固定佔空比的場合, 複雜的高頻率的PWM控制應用,需要專用的pwm輸出硬體來進行。

    哪些行業需要使用PWM

    舞臺燈光RGB

    舞臺燈光控制RGB顏色漸變和亮滅控制,都是透過單片機發出PWM訊號,驅MOS管,配合PWM專用控制晶片,再調節佔空比,達到對RGB燈珠的供電電流大小變化,而實現強弱變化,並且控制各種不同的顏色燈珠的色度來混合成各種不同的顏色和效果。

    無人機控制/六軸機器人/智慧機器人

    無人機控制/六軸機器人/智慧機器人,都是經過Pwm控制電路,控制電機轉速,同時微控制器不斷採集相關資料,如三軸加速度感測器和角速度感測器,確定機身的姿態,再用pwm的佔空比進行增加或者降低,改變舵機轉速,達到調整姿態和高度,或者完成控制肢體動作的目的.

    總結

    普通IO模擬PWM,可以在某一些低頻率週期的應用場合使用,高頻率的PWM,需要使用特定的硬體PWM輸出控制器。PWM控制是微控制器程式設計的一個重要利器,學好PWM控制演算法,那麼高薪工作唾手可得。

  • 2 # 電子及工控技術

    PWM我們稱之為脈衝寬度調製,這種調製技術在直流電機調速、變頻調速和燈具調光中用的很廣泛,現在有很多可以產生PWM波形的應用晶片可以產生PWM波形,有時候在一些以微處理器為控制核心的電子電路中需要PWM控制時,為了“挖掘”微控制器的潛力節省產品的成本會看到常常用微處理器(MCU)的I/O(輸入與輸出口)來模擬輸出PWM控制訊號。為什麼微處理器的I/O口可以模擬出PWM訊號呢?下面我們一探究竟。

    PWM訊號產生的基本原理

    顧名思義題目中的“PWM”訊號其實就是就是一種模擬訊號電平進行數字編碼的一種方法,也就是使用數字訊號達到一個模擬訊號的效果。為了更能說明問題我們看圖說話吧!以下面我所繪製的PWM波形為例子,從下面圖形示意圖看這是一個週期是10毫秒的矩形波圖,換算成頻率來說是100HZ。朋友們仔細觀看會發現在每個10毫秒的週期內其高低電平所佔的比例是不一樣的,也就是說高電平的佔空比是不同的。第一個週期佔空比是4/10、第二個週期佔空比是6/10、第三個週期佔空比是8/10。這樣只要能夠調節在每個週期的佔空比就能夠調節所控制目標的快慢或者亮滅,這就是PWM訊號產生的基本原理,如下圖所示。

    微控制器普通I/O口模擬PWM波形的方法

    前面我們對PWM訊號產生的基本原理已經清楚了,下面我們主要來談談用微處理器I/O口如何實現PWM的波形輸出的問題,我們從上圖可以很容易知道PWM波形就是由一系列高低電平構成的,只不過高電平佔整個週期的比例不同而已,因此對於高電平我們可以用“1”表示,對於低電平我們可以用“0”表示,因為由“1”和“0”組成的資訊是微處理器處理這些資訊的“強項”。所以我們把高低電平用“1“和”0”表示。

    第二個問題是何時讓微處理器的I/O口“吐出”高低電平呢?這就牽扯到微處理器裡的軟體和特殊定時暫存器配置的問題。其實現的方法是透過在微處理器的定時暫存器中設定一個需要定時的初值,也就是透過定時器設定出高、低電平的初始值。然後利用微處理器的定時中斷函式對高電平和低電平進行自動的控制輸出,透過特殊暫存器的定時功能在當I/O口輸出為高電平的時候時,給寄定時存器裝載低電平值並使I/O輸出低電平;當I/O口輸出為低電平的時候時,給寄定時存器裝載高電平值並使I/O輸出高電平。就這樣在微處理器的I/O口就會輸出相應高低電平的PWM波形。

  • 3 # 電子產品設計方案

    PWM(Pulse Width Modulation)是脈衝寬度調製

    PWM有兩個指標:佔空比和頻率,普通的IO只要能控制高低電平變化就可以模擬PWM訊號了

    什麼叫佔空比

    高電平時間佔整個週期時間的比例叫佔空比,比如一個週期為100ms,高電平部分佔了40ms,那麼佔空比就是40%

    什麼叫頻率

    每秒種的週期數叫做頻率,假如每秒產生50個波形,那麼頻率就是50Hz

    MCU怎麼用普通IO模擬PWM訊號?

    只要用定時器產生週期性的時間計數,按設計要求,讓IO迴圈輸出指定的高低電平訊號就可以了。因為受MCU時鐘和IO電平轉換速度的限制,頻率很高的PWM訊號是沒法用普通IO模擬,需要選用帶PWM外設的MCU。

  • 4 # 電子芯庫

    PWM英文全拼就是PlUSE WIDTH MODE也就是脈衝寬度調製。它的引數就是有頻率和佔空比,當然還有峰值電壓。

    然而微控制器的IO口,一般都具有高低電平輸出的功能。然而要控制輸出一個PWM訊號,輸出變化的高低電平就可以。但是透過程式只能控制頻率和佔空比。脈衝的幅度微控制器是控制不了的。只能透過外圍電路。如圖所示。微控制器一般供電3.3V或5V如果要控制一個12V電壓驅動一個N溝道MOS就需要外圍電路了有用晶片驅動的,也有直接用MOS驅動的。

    要控制輸出穩定的頻率和佔空比PWM訊號有三種方法。

    一、透過延時指令nop。也就是空指令,如圖所示。

    二、用微控制器定時器,如圖所示TIM1定時器中斷函式。在中段中處理IO口輸出。

    三、有部分微控制器的定時器有PWM輸出功能。如圖所示STM8S中間對齊輸出脈衝模式設定和PWM初始化函式設定。

  • 5 # 玩轉嵌入式

    微控制器的GPIO口可以產生PWM訊號,可以使用定時器來實現。使用定時器控制GPIO口的高電平和低電平的翻轉時間即可實現輸出方波的頻率控制和佔空比控制。

    1微控制器輸出PWM訊號的思路

    所謂PWM訊號是指脈衝寬度調製訊號,透過改變高電平持續時間和低電平持續時間實現訊號的調節。如果微控制器的GPIO口輸出高電平持續的時間為1秒鐘,然後輸出低電平持續時間也是1秒鐘,則該訊號的週期就為2秒鐘,佔空比為50%。所以只需要改變高電平持續的時間或者低電平持續的時間,就可以實現脈衝寬度的調製。這裡就需要用到定時器來控制GPIO口的定時翻轉。

    假設微控制器輸出高電平所持續的時間為T1,翻轉為低電平後持續的時間為T2,那麼週期就為T1+T2,佔空比就為T1/(T1+T2),所以如果保持頻率不變只改變佔空比,就只修改T1,且保證T1+T2不變。

    2PWM基本引數及用途

    PWM在使用時,具有兩個非常重要的引數:頻率/週期,佔空比。前文提過佔空比就是在一個週期中高電平所佔用的比例,而頻率和週期是互為倒數的。PWM訊號非常有用,平時所講的電機調速、電機驅動都是透過PWM來實現的。

    在PWM調速時,佔空比越大電機轉速越快,佔空比越小電機轉速越慢。佔空比為100%時即為持續的高電平;為0%時即為持續的低電平。在BLDC驅動中,也透過PWM來控制電機的轉動和調速。

  • 6 # 物聯網全棧開發

    透過微控制器定時器中斷實現軟體模擬而非硬體模組實現的pwm。

    具體的流程如下:

    1.根據產品功能分析需要的pwm功能的頻率,以及佔空比可以調節的檔位數。

    比如對led進行調光,為了讓人眼不感覺到閃爍,我們選擇100Hz的頻率,根據功能我們要提供10檔的亮度調節。

    2.根據公式pwm/檔位數得到定時器的中斷頻率,以1中提到的例子,定時器中斷週期=1/100/10s=1ms。

    3.將定時器的中斷週期設定為2所計算出的週期,定義兩個全域性變數,一個對中斷次數進行計數。

    在定時器中斷中,計算變數a++,當變數大於等於檔位數時,變數a清零,同時io口置高,當變數a大於變數b時,io口置低。

    需要注意的是,輸出的佔空比會抖動,原因是程式中斷保護現場花費的時間每次進出中斷都有偏差,主程式為了做變數訪問互斥可能會關閉中斷,這裡也會導致偏差,另外當有多箇中斷時,特別是同級以及更高優先順序的中斷不能打斷,當定時器中斷到來時,必須要等待其他同優先順序正在執行的中斷執行完成,也會導致偏差。

    所以必須計算所有這些導致的偏差,特別要注意要把所有同優先順序以及更高優先順序的中斷的執行時間,評估總的偏差是否會影響功能,比如led會不會閃爍。

  • 中秋節和大豐收的關聯?
  • 室內水泥頂能直接刷塗料嗎?有什麼需要注意的嗎?