吴忠躺衫网络科技有限公司

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

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

3天內不再提示

PWM脈沖的產生與使用

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

PWM脈沖是一種占空比和周期都可調的脈沖。

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

1.波形改變方式

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

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

2.產生PWM脈沖的編程方法

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

3.產生PWM脈沖的編程實例

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

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

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

圖1 產生PWM脈沖的程序

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

程序工作過程說明如下。

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

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

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

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

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

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

審核編輯:湯梓紅

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

    關注

    114

    文章

    5198

    瀏覽量

    214886
  • 編程
    +關注

    關注

    88

    文章

    3637

    瀏覽量

    93986
  • 波形
    +關注

    關注

    3

    文章

    379

    瀏覽量

    31658
  • PWM脈沖
    +關注

    關注

    0

    文章

    8

    瀏覽量

    7868
收藏 人收藏

    評論

    相關推薦

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

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

    請問PWM怎樣產生固定的脈沖

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

    DSP問題

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

    如何用內部pwm直接產生脈沖

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

    使用FPGA產生一個連續(xù)的脈沖調制PWM信號

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

    脈沖波形的產生和整形

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

    用TPM2產生PWM和作脈沖寬度、周期測量

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

    脈沖波形的產生與變換

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

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

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

    PWM脈沖驅動電路

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

    脈沖信號怎么產生

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

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

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

    PWM脈沖寬度調制產生方波時,調制波可否采用三角波?為什么?

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

    什么是PWM 為什么要使用PWM 怎么產生PWM控制信號

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

    PWM信號產生的原理及方式

    PWM脈沖寬度調制,Pulse Width Modulation)信號產生的原理及方式是一個涉及電子技術和控制理論的重要話題。以下將從PWM信號的基本原理、
    的頭像 發(fā)表于 08-12 17:23 ?3493次閱讀
    百家乐官网在发牌技巧| 百家乐AG| 百家乐官网系统足球博彩通| 明升国际娱乐| 百家乐赚水方| 金域百家乐娱乐城| 百家乐下注技术| 网址百家乐官网的玩法技巧和规则| 沙龙百家乐娱乐场| 百家乐网页游戏网址| 真人百家乐官网网络游戏信誉怎么样 | 赌神网百家乐的玩法技巧和规则| 百家乐攻略投注法| 百家乐官网的玩法和技巧| 百家乐官网实战技术| 3U百家乐官网游戏| 太阳城百家乐官网群| 太阳城百家乐官网坡解| 百家乐官网赢钱皇冠| 唐河县| 百家乐官网视频大厅| 百家乐官网路单资料| 百家乐官网庄闲局部失衡| 百家乐官网开闲几率| 尊龙百家乐官网娱乐平台| 678百家乐官网博彩娱乐场开户注册| 闲和庄百家乐官网娱乐| 百家乐官网太阳娱乐网| 百家乐官网必胜方法如果你还想继续不看可能后悔一生 | 澳门百家乐官网几副牌| 百家乐官网赌博程序| 金木棉百家乐官网网络破解| 百家乐官网真人玩下载| 免费百家乐官网倍投工具| 百家乐真人娱乐注册| 百家乐网上真钱娱乐| 二代百家乐官网破解| 百家乐官网波音独家注册送彩| 网上百家乐作弊不| 电脑百家乐的玩法技巧和规则| 大发888娱乐城casino|