<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何在兩個PWM信號之間實現180°相移?

電子說 ? 來源:EDN ? 作者:ALPEREN AKKUNCU ? 2021-05-13 07:50 ? 次閱讀

我們大多數人都了解PWM DAC。它們易于實現,價格便宜,并且對于低性能應用程序是可接受的。

該方法是對PWM信號的HF分量進行濾波,只剩下與占空比成正比的LF或DC分量。但是,低通濾波器無法完全濾除PWM頻率,因此,LF / DC信號通常會產生一些紋波。

有兩種方法可以減少PWM DAC的紋波。您可以降低低通濾波器的截止頻率,或者提高PWM信號的頻率。當通過在給定的時鐘頻率下減小計數器大小來實現時,較低的截止頻率不可避免地會導致上升時間變慢,而較快的PWM頻率會導致分辨率下降。

我將談論一個有趣的設計思想,該思想集中在不使用上述方法的情況下降低PWM DAC的紋波。

事實證明,我們可以通過使用兩個相位差為180°的PWM信號來降低紋波。直觀地講,當兩個正弦信號在相同頻率上存在180°的相位差時,它們會相互抵消,因此當我們使用兩個具有180°相位差的PWM信號時,我們期望諧波能夠相互抵消。好吧,這是事實,但并非對PWM信號的所有諧波都如此。其中一些被取消,但其中一些

o4YBAGCc34iAJe2jAACF7OeOx4k006.png

別。它與傅立葉級數有關,在本文中涉及到太多,所以我將不涉及數學。

如何在兩個PWM信號之間實現180°相移?我使用了TIMSP430FR5969 LaunchPad,但是這種方法通常是通用的。為了實現相移,您將需要兩個計時器。其中一個定時器必須具有兩個“比較捕捉PWM”(CCP)模塊,另一個僅需要一個CCP。

您可以使用一個CCP在具有兩個CCP的定時器中設置PWM頻率和占空比,而另一個使用CCP產生中斷以啟動另一個定時器,該延遲等于PWM周期的一半。其他定時器中的單個CCP用于設置為相同的PWM頻率和占空比。您還必須“微調”延遲,因為軟件將在PWM信號之間引入額外的時間。例如,在我的代碼的第102行中,我將比較寄存器的值從(timer_period + 1)/ 2更改為(timer_period + 1)/ 2-27。

我做了一點研究,看看其他微控制器是否具有類似的硬件以及實現我使用的方法的能力:許多Atmel微控制器都有一個以上的計時器,通常每個計時器都有兩個CCP(例如ATmega 328)。因此,應該有可能實現此方法。另一個流行的例子是STM32F051R8(這是一些流行的ST板使用的微控制器)具有11個定時器,其中許多具有不止一個CCP。德州儀器(TI)的基于ARM的微控制器通常具有單獨的PWM和計時器模塊(例如TM4C123GH6PM),因此實現相移應該更容易。使用一個定時器可以啟動兩個PWM模塊,延遲時間為PWM周期的一半。如果您嘗試為不同的微控制器實現這種相移方法,請在評論部分讓我知道。

o4YBAGCc37mAD5lQAADVa6mUY0A214.png

圖1 單PWM和雙PWM電路

在 相移DAC的V out處,將兩個PWM信號相加,并希望某些諧波相互抵消,因此最終可以降低紋波。

讓我們看一下使用不同電阻值的三種情況。每個PWM信號在25%占空比下均為100 kHz。

o4YBAGCc39iAMTKCAAGD7scy854817.png

圖2 上面的跡線是常規PWM。較低的是雙相移PWM。伏/格 從左到右遞減:100mV,50mV,5mV。

通過查看結果,我們觀察到兩件事。首先,降低了峰峰值紋波。其次,常規PWM DAC的紋波基頻等于PWM信號的頻率(100 kHz)。相移PWM DAC的紋波基頻等于 PWM信號的二次諧波(200 kHz),這意味著我們已成功通過相移DAC消除了PWM信號的一次諧波。

這種方法的一個優點是在不增加上升時間的情況下降低了紋波(或在上升時間的一半處具有相同的紋波)。

另一個潛在的優勢是,通過將兩個PWM的計數間隔設置為一個中間值,可使DAC的有效分辨率加倍。這確實會引起輕微的不對稱并增加紋波,但是影響可以忽略不計。

編輯:hfy

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 驅動器
    +關注

    關注

    51

    文章

    7535

    瀏覽量

    143511
  • 德州儀器
    +關注

    關注

    123

    文章

    1627

    瀏覽量

    139961
  • PWM
    PWM
    +關注

    關注

    114

    文章

    4923

    瀏覽量

    210354
  • 低通濾波器
    +關注

    關注

    13

    文章

    453

    瀏覽量

    47009
收藏 人收藏

    評論

    相關推薦

    為什么在2PSK中存在180°的相移呢?

    二進制相移鍵控(2PSK)是一種相干解調的數字調制技術。
    的頭像 發表于 05-21 18:26 ?933次閱讀

    stm32控制三相全橋,怎么使pwm移相120度?

    我想用stm32f控制一三相電機,也就是控制一三相全橋,現在已經能實現stm32輸出6路互補且帶死區的pwm波,現在的問題是怎么能使每對pwm
    發表于 04-22 07:09

    運放的穩定性相位裕度的關系?

    度,增益裕度表示單位增益頻率點與-180相依頻率點之間的增益之差的絕對值,相位增益裕度表示為180度的相移與單位增益處之差的絕對值(這個參數是在開環條件下測量的)。在這
    發表于 04-01 22:46

    tc377tp如何使用TOM模塊配置PWM實現恒定相移?

    嗨我想使用 TOM 模塊配置 PWM實現恒定相移,我使用的是 tc377tp 控制器,我想知道如何配置。 CAN 提供要配置的示例代碼 注意:我沒有使用 ATOM
    發表于 01-25 07:49

    TC2xx如何利用TIM模塊檢測兩個PWM信號的邊沿判斷相位差?

    我想要捕獲兩個PWM的邊沿信號判斷電機正轉和反轉,應該怎么配置TIM模塊,謝謝。
    發表于 01-19 07:49

    AD2S1210相移指的是哪兩個信號?

    電路筆記CN0276里 EXC輸出經運放電路后輸出的信號和EXC已經發生了約180度的相移, 而旋變信號接收電路部分不存在180
    發表于 12-06 07:47

    同一塊ADRV9009 DEMO板上兩個通道發射出來的信號為什么相位會差180°?

    同一塊ADRV9009 DEMO板上兩個通道發射出來的信號為什么相位會差180°
    發表于 12-05 06:47

    塊ADA4870差分輸出驅動變壓器,不平衡導致效率低下怎么解決?

    ADA4870輸出的波形,相移不是180°,而是150°。并且兩個幅值不相等,一是14V,一是26V,波形失真嚴重。 當輸入為4V
    發表于 11-23 07:13

    求助,關于運算放大器信號放大后會產生相移的問題

    各位大蝦好,最近本人在做一微弱信號放大的設計,設計要求如下: ①有路需要放大的信號頻率為3Hz以下,幅度為2~3mV,放大后幅值1.5V左右(多級放大)。 ②按照設計需求,
    發表于 11-20 06:54

    通過兩個不同的定時器控制PWM的輸出,如何讓者同步?

    通過兩個不同的定時器控制PWM的輸出,希望兩個PWM可以同步,該如何處理?
    發表于 11-06 06:47

    ch340怎么實現兩個單片機之間的io口通信?

    使用ch340,怎么實現兩個單片機之間的io口通信
    發表于 11-03 06:33

    兩個51單片機之間實現藍牙通信嗎?

    兩個51單片機之間實現藍牙通信?
    發表于 10-28 07:48

    如何判別兩個信號波形的相似度?

    獲得兩個波形,即組數據,如何判別它們之間的相似度呢
    發表于 10-18 06:49

    同一定時器的兩個通道怎樣設置為不同的PWM模式?

    同一定時器的兩個通道怎樣設置為不同的PWM模式
    發表于 10-17 06:13

    Pwm_SetDutyPhaseShift() 總是為EMIOS_PWM_IP_MCB_UP_COUNTER總線模式的相移值加1怎么解決?

    Emios_Pwm_Ip_SetPhaseShift 函數,該函數將 EMIOS_PWM_IP_MCB_UP_COUNTER 總線模式的相移值增加 1,并將 1001 寫入第一邊沿
    發表于 06-07 07:15
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>