RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

PWM脈沖的產(chǎn)生與使用

laidenongfhs ? 來源:中泰PLC自動化教學(xué) ? 2023-12-29 14:19 ? 次閱讀

PWM脈沖是一種占空比和周期都可調(diào)的脈沖。

PWM脈沖的周期范圍為10~65535μs或2~65535ms,在設(shè)置脈沖周期時(shí),如果周期小于兩個(gè)時(shí)間單位,系統(tǒng)會默認(rèn)周期值為兩個(gè)時(shí)間單位;PWM脈寬時(shí)間為0~65535μs或0~65535ms,若設(shè)定的脈寬等于周期(即占空比為100%),輸出一直接通,設(shè)定脈寬等于0(即占空比為0%),輸出斷開。

1.波形改變方式

PWM脈沖的波形改變方式有兩種:同步更新和異步更新。同步更新。如果不需改變時(shí)間基準(zhǔn),則可以使用同步更新方式。利用同步更新,信號波形特性的變化發(fā)生在周期邊沿,使波形能平滑轉(zhuǎn)換。異步更新。如果需要改變PWM發(fā)生器的時(shí)間基準(zhǔn),就要使用異步更新。異步更新會使PWM功能被瞬時(shí)禁止, PWM信號波形過渡不平滑,這會引起被控設(shè)備的振動。

由于異步更新生成的PWM脈沖有較大的缺陷,一般情況下盡量使用脈寬變化、周期不變的PWM脈沖,這樣可使用同步更新。

2.產(chǎn)生PWM脈沖的編程方法

要讓高速脈沖發(fā)生器產(chǎn)生PWM脈沖,可按以下步驟編程。根據(jù)需要設(shè)置控制字節(jié)SMB67(Q0.0)、SMB77(Q0.1)或SMB567(Q0.3)。根據(jù)需要設(shè)置脈沖的周期值和脈寬值。周期值在SMW68、SMW78或SMB568中設(shè)置,脈寬值在SMW70、SMW80或SMW570中設(shè)置。執(zhí)行高速脈沖輸出PLS指令,系統(tǒng)則會讓高速脈沖發(fā)生器按設(shè)置從Q0.0、Q0.1或Q0.3端子輸出PWM脈沖。

3.產(chǎn)生PWM脈沖的編程實(shí)例

圖1所示是一個(gè)產(chǎn)生PWM脈沖的程序,其實(shí)現(xiàn)的功能是:讓PLC從Q0.0端子輸出PWM脈沖,要求PWM脈沖的周期固定為5s,初始脈寬為0.5s,每周期脈寬遞增0.5s,當(dāng)脈寬達(dá)到4.5s后開始遞減,每周期遞減0.5s,直到脈寬為0。以后重復(fù)上述過程。

5007de3c-a610-11ee-8b88-92fbcf53809c.png

501a009e-a610-11ee-8b88-92fbcf53809c.png

圖1 產(chǎn)生PWM脈沖的程序

該程序由主程序、SBR_0子程序和INT_0、INT_1兩個(gè)中斷程序組成,SBR_0子程序?yàn)镻WM初始化程序,用來設(shè)置脈沖控制字節(jié)和初始脈沖參數(shù),INT_0中斷程序用于實(shí)現(xiàn)脈寬遞增,INT_1中斷程序用于實(shí)現(xiàn)脈寬遞減。由于程序采用中斷事件0(I0.0上升沿中斷)產(chǎn)生中斷,因此要將脈沖輸出端子Q0.0與I0.0端子連接,這樣在Q0.0端子輸出脈沖上升沿時(shí),I0.0端子會輸入脈沖上升沿,從而觸發(fā)中斷程序,實(shí)現(xiàn)脈沖遞增或遞減。

程序工作過程說明如下。

在主程序中,PLC上電首次掃描時(shí)SM0.1觸點(diǎn)接通一個(gè)掃描周期,子程序調(diào)用指令執(zhí)行,轉(zhuǎn)入執(zhí)行SBR_0子程序。在子程序中,先將M0.0線圈置1,然后設(shè)置脈沖的控制字節(jié)和初始參數(shù),再允許所有的中斷,最后執(zhí)行高速脈沖輸出PLS指令,讓高速脈沖發(fā)生器按設(shè)定的控制字節(jié)和參數(shù)產(chǎn)生并從Q0.0端子輸出PWM脈沖,同時(shí)從子程序返回到主程序網(wǎng)絡(luò)2。由于網(wǎng)絡(luò)2、3指令條件不滿足,程序執(zhí)行網(wǎng)絡(luò)4,M0.0常開觸點(diǎn)閉合(在子程序中M0.0線圈被置1),中斷連接ATCH指令執(zhí)行,將INT_0中斷程序與中斷事件0(I0.0上升沿中斷)連接起來。當(dāng)Q0.0端子輸出脈沖上升沿時(shí),I0.0端子輸入脈沖上升沿,中斷事件0馬上發(fā)出中斷請求,系統(tǒng)響應(yīng)該中斷而執(zhí)行INT_0中斷程序。

在INT_0中斷程序中,ADD_I指令將脈沖寬度值增加0.5s,再執(zhí)行PLS指令,讓Q0.0端子輸出完前一個(gè)PWM脈沖后按新設(shè)置的寬度輸出下一個(gè)脈沖,接著執(zhí)行中斷分離DTCH指令,將中斷事件0與INT_0中斷程序分離,然后從中斷程序返回主程序。在主程序中,又執(zhí)行中斷連接ATCH指令,又將INT_0中斷程序與中斷事件0連接起來,在Q0.0端子輸出第二個(gè)PWM脈沖上升沿時(shí),又會產(chǎn)生中斷而再次執(zhí)行INT_0中斷程序,將脈沖寬度值再增加0.5s,然后執(zhí)行PLS指令讓Q0.0端子輸出的第三個(gè)脈沖寬度增加0.5s。以后INT_0中斷程序會重復(fù)執(zhí)行,直到SMW70單元中的數(shù)值增加到4500。

當(dāng)SMW70單元中的數(shù)值增加到4500時(shí),主程序中的“SMW70|>=I|4500”觸點(diǎn)閉合,將M0.0線圈復(fù)位;網(wǎng)絡(luò)4中的M0.0常開觸點(diǎn)斷開,中斷連接ATCH指令無法執(zhí)行,INT_0中斷程序也無法執(zhí)行;網(wǎng)絡(luò)5中的M0.0常閉觸點(diǎn)閉合,中斷連接ATCH指令執(zhí)行,將INT_1中斷程序與中斷事件0連接起來。當(dāng)Q0.0端子輸出脈沖上升沿(I0.0端子輸入脈沖上升沿)時(shí),中斷事件0馬上發(fā)出中斷請求,系統(tǒng)響應(yīng)該中斷而執(zhí)行INT_1中斷程序。

在INT_1中斷程序中,將脈沖寬度值減0.5s,再執(zhí)行PLS指令,讓Q0.0端子輸出PWM脈沖寬度減小0.5s,接著執(zhí)行中斷分離DTCH指令,分離中斷,然后從中斷程序返回主程序。在主程序中,又執(zhí)行網(wǎng)絡(luò)5中的中斷連接ATCH指令,又將INT_1中斷程序與中斷事件0連接起來,在Q0.0端子輸出PWM脈沖上升沿時(shí),又會產(chǎn)生中斷而再次執(zhí)行INT_1中斷程序,將脈沖寬度值再減0.5s。以后INT_1中斷程序會重復(fù)執(zhí)行,直到SMW70單元中的數(shù)值減小到0。

當(dāng)SMW70單元中的數(shù)值減小到0時(shí),主程序中的“SMW70|==I|0”觸點(diǎn)閉合,子程序調(diào)用指令執(zhí)行,轉(zhuǎn)入執(zhí)行SBR_0子程序,又進(jìn)行PWM初始化操作。

以后程序重復(fù)上述工作過程,從而使Q0.0端子輸出先遞增0.5s、后遞減0.5s、周期為5s連續(xù)的PWM脈沖。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • PWM
    PWM
    +關(guān)注

    關(guān)注

    114

    文章

    5181

    瀏覽量

    213796
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3614

    瀏覽量

    93686
  • 波形
    +關(guān)注

    關(guān)注

    3

    文章

    379

    瀏覽量

    31544
  • PWM脈沖
    +關(guān)注

    關(guān)注

    0

    文章

    8

    瀏覽量

    7825
收藏 人收藏

    評論

    相關(guān)推薦

    pwm如何產(chǎn)生指定個(gè)數(shù)脈沖,而不占用cpu?

    pwm如何產(chǎn)生指定個(gè)數(shù)脈沖,而不占用cpu?目前我能想到的辦法是:1.定時(shí)器產(chǎn)生一次中斷,在中斷函數(shù)里計(jì)數(shù)。這種方法頻繁中斷,影響cpu效率。并且當(dāng)所
    發(fā)表于 03-14 06:34

    請問PWM怎樣產(chǎn)生固定的脈沖

    PWM輸出,怎么能夠達(dá)到設(shè)置的脈沖數(shù)后就停止輸出
    發(fā)表于 10-17 17:13

    DSP問題

    哪位大神可以分享下基于DSP2812的 PWM脈沖產(chǎn)生的可運(yùn)行的代碼
    發(fā)表于 06-17 09:28

    如何用內(nèi)部pwm直接產(chǎn)生脈沖

    之前寫過用內(nèi)部pwm直接產(chǎn)生脈沖:這次寫的是用定時(shí)器,不推薦用延時(shí)來模擬。此程序結(jié)合了我之前發(fā)的矩陣按鍵程序,按鍵進(jìn)行亮度調(diào)整。#include"lcd12864.h"#includeuchar code num1[]={" 1
    發(fā)表于 01-19 07:34

    使用FPGA產(chǎn)生一個(gè)連續(xù)的脈沖調(diào)制PWM信號

    1、使用FPGA產(chǎn)生脈沖調(diào)制(PWM)信號編寫程序,使用FPGA產(chǎn)生脈沖調(diào)制(PWM)信號,且信
    發(fā)表于 07-13 15:37

    脈沖波形的產(chǎn)生和整形

    脈沖波形的產(chǎn)生和整形:介紹矩形脈沖產(chǎn)生電路和脈沖整形電路。在脈沖整形電路中介紹了最常用施密特觸發(fā)
    發(fā)表于 09-16 08:59 ?121次下載

    用TPM2產(chǎn)生PWM和作脈沖寬度、周期測量

    用TPM2產(chǎn)生PWM和作脈沖寬度、周期測量:SPMC75F2413A的TPM2除具有一般的定時(shí)/計(jì)數(shù)的功能外,還有兩路的PWM輸出/兩路的捕獲功能,因此增強(qiáng)和擴(kuò)展了TPM2在一般領(lǐng)域中
    發(fā)表于 09-19 11:42 ?38次下載

    脈沖波形的產(chǎn)生與變換

    脈沖波形的產(chǎn)生與變換1.學(xué)習(xí)利用集成邏輯門、555定時(shí)器設(shè)計(jì)脈沖信號產(chǎn)生電路。2.掌握影響脈沖波形參數(shù)的定時(shí)元件參數(shù)的計(jì)算方法。3.學(xué)習(xí)
    發(fā)表于 12-09 18:24 ?0次下載

    脈沖寬度控制pwm的工作原理

    脈沖寬度控制pwm的工作原理和模擬電路PWM的實(shí)現(xiàn)  1 脈沖
    發(fā)表于 08-01 09:50 ?7383次閱讀
    <b class='flag-5'>脈沖</b>寬度控制<b class='flag-5'>pwm</b>的工作原理

    PWM脈沖驅(qū)動電路

    PWM脈沖驅(qū)動電路
    發(fā)表于 01-01 01:21 ?5618次閱讀
    <b class='flag-5'>PWM</b><b class='flag-5'>脈沖</b>驅(qū)動電路

    脈沖信號怎么產(chǎn)生

    本文首先介紹了脈沖信號怎么產(chǎn)生的以及產(chǎn)生脈沖信號的方法,其次介紹了脈沖信號的基本參數(shù),最后介紹了脈沖
    的頭像 發(fā)表于 08-21 18:01 ?4.5w次閱讀

    基于DSP器件TMS320F2812芯片的新型PWM算法的研究

    在用數(shù)字化控制技術(shù)產(chǎn)生PWM脈沖時(shí),三角載波實(shí)際上是不存在的,完全由軟件及硬件定時(shí)器代替,圖1為三角載波的產(chǎn)生原理(Ttimer為定時(shí)器的值)。 P
    發(fā)表于 09-02 10:20 ?2176次閱讀
    基于DSP器件TMS320F2812芯片的新型<b class='flag-5'>PWM</b>算法的研究

    PWM脈沖寬度調(diào)制產(chǎn)生方波時(shí),調(diào)制波可否采用三角波?為什么?

    PWM脈沖寬度調(diào)制產(chǎn)生方波時(shí),調(diào)制波可采用三角波。
    的頭像 發(fā)表于 03-10 15:12 ?6702次閱讀
    <b class='flag-5'>PWM</b><b class='flag-5'>脈沖</b>寬度調(diào)制<b class='flag-5'>產(chǎn)生</b>方波時(shí),調(diào)制波可否采用三角波?為什么?

    什么是PWM 為什么要使用PWM 怎么產(chǎn)生PWM控制信號

    PWM拆開來就是:【P=Pulse、W=Width、M=Modulation】=>脈沖寬度調(diào)制。
    的頭像 發(fā)表于 07-22 16:49 ?6765次閱讀
    什么是<b class='flag-5'>PWM</b> 為什么要使用<b class='flag-5'>PWM</b> 怎么<b class='flag-5'>產(chǎn)生</b><b class='flag-5'>PWM</b>控制信號

    PWM信號產(chǎn)生的原理及方式

    PWM脈沖寬度調(diào)制,Pulse Width Modulation)信號產(chǎn)生的原理及方式是一個(gè)涉及電子技術(shù)和控制理論的重要話題。以下將從PWM信號的基本原理、
    的頭像 發(fā)表于 08-12 17:23 ?2457次閱讀
    RM新时代网站-首页