電位計(jì)訊號轉(zhuǎn)換器 AT-PM1-P1-DN-ADL 1.產(chǎn)品說明 AT系列轉(zhuǎn)換器/分配器主要設(shè)計(jì)使用于一般訊號迴路中之轉(zhuǎn)換與隔離;如 4~20mA、0~10V、熱電偶(Type K, J, E, T)、熱電阻(Rtd-Pt100Ω)、荷重元、電位計(jì)(三線式)、電阻(二線式)及交流電壓/電流等訊號,機(jī)種齊全。 此款薄型設(shè)計(jì)的轉(zhuǎn)換器/分配器,除了能提供兩組訊號輸出(輸出間隔離)或24V激發(fā)電源供傳送器使用外,切換式電源亦提供了安裝的便利性。上方并設(shè)計(jì)了電源、輸入及輸出指示燈及可插拔式接線端子方便現(xiàn)場施工及工作狀態(tài)檢視。 2.產(chǎn)品特點(diǎn) 可選擇帶指撥開關(guān)切換,六種常規(guī)輸出信號0-5V/0~10V/1~5V/2~10V/4~20mA/ 0~20mA 可自行切換。 雙回路輸出完全隔離,可選擇不同信號。 設(shè)計(jì)了電源、輸入及輸出LED指示燈,方便現(xiàn)場工作狀態(tài)檢視。 規(guī)格選擇表中可指定選購0.1%精度 17.55mm薄型35mm導(dǎo)軌安裝。 依據(jù)CE國際標(biāo)準(zhǔn)規(guī)范設(shè)計(jì)。 3.技術(shù)規(guī)格 用途:信號轉(zhuǎn)換及隔離 過載輸入能力:電流:10×額定10秒 第二組輸出:可選擇 輸入范圍:P1:0 Ω ~ 50.0 Ω / ~ 2.0 KΩ P2:0 Ω ~ 2.0 KΩ / ~ 100.0 KΩ 精確度: ≦±0.2% of F.S. ≦±0.1% of F.S. 偵測電壓:1.6V 輸入耗損: 交流電流:≤ 0.1VA; 交流電壓:≤ 0.15VA 反應(yīng)時間: ≤ 250msec (10%~90% of FS) 輸出波紋: ≤ ±0.1% of F.S. 滿量程校正范圍:≤ ±10% of F.S.,2組輸出可個別調(diào)整 零點(diǎn)校正范圍:≤ ±10% of F.S.,2組輸出可個別調(diào)整 隔離:AC 2.0 KV 輸出1與輸出2之間 隔離抗阻:DC 500V 100MΩ 工作電源: AC 85~265V/DC 100~300V, 50/60Hz 或 AC/DC 20~56V (選購規(guī)格) 消耗功率: DC 4W, AC 6.0VA 工作溫度: 0~60 ºC 工作濕度: 20~95% RH, 無結(jié)露 溫度系數(shù): ≤ 100PPM/ ºC (0~50 ºC) 儲存溫度: -10~70 ºC 保護(hù)等級: IP 42 振動測試: 1~800 Hz, 3.175 g2/Hz 外觀尺寸: 94.0mm x 94.0mm x 17.5mm 外殼材質(zhì): ABS防火材料,UL94V0 安裝軌道: 35mm DIN導(dǎo)軌 (EN50022) 重量: 250g 安全規(guī)范(LVD): IEC 61010 (Installation category 3) EMC: EN 55011:2002; EN 61326:2003 EMI: EN 55011:2002; EN 61326:2003 常用規(guī)格:AT-PM1-P1-DN-ADL 電位計(jì)訊號轉(zhuǎn)換器,一組輸出,輸入范圍:0 Ω ~ 50.0 Ω / ~ 2.0 KΩ,輸出一組輸出4-20mA,工作電源AC/DC20-56V
標(biāo)簽: 電位計(jì) 訊號 轉(zhuǎn)換器
上傳時間: 2013-11-05
上傳用戶:feitian920
半導(dǎo)體的產(chǎn)品很多,應(yīng)用的場合非常廣泛,圖一是常見的幾種半導(dǎo)體元件外型。半導(dǎo)體元件一般是以接腳形式或外型來劃分類別,圖一中不同類別的英文縮寫名稱原文為 PDID:Plastic Dual Inline Package SOP:Small Outline Package SOJ:Small Outline J-Lead Package PLCC:Plastic Leaded Chip Carrier QFP:Quad Flat Package PGA:Pin Grid Array BGA:Ball Grid Array 雖然半導(dǎo)體元件的外型種類很多,在電路板上常用的組裝方式有二種,一種是插入電路板的銲孔或腳座,如PDIP、PGA,另一種是貼附在電路板表面的銲墊上,如SOP、SOJ、PLCC、QFP、BGA。 從半導(dǎo)體元件的外觀,只看到從包覆的膠體或陶瓷中伸出的接腳,而半導(dǎo)體元件真正的的核心,是包覆在膠體或陶瓷內(nèi)一片非常小的晶片,透過伸出的接腳與外部做資訊傳輸。圖二是一片EPROM元件,從上方的玻璃窗可看到內(nèi)部的晶片,圖三是以顯微鏡將內(nèi)部的晶片放大,可以看到晶片以多條銲線連接四周的接腳,這些接腳向外延伸並穿出膠體,成為晶片與外界通訊的道路。請注意圖三中有一條銲線從中斷裂,那是使用不當(dāng)引發(fā)過電流而燒毀,致使晶片失去功能,這也是一般晶片遭到損毀而失效的原因之一。 圖四是常見的LED,也就是發(fā)光二極體,其內(nèi)部也是一顆晶片,圖五是以顯微鏡正視LED的頂端,可從透明的膠體中隱約的看到一片方型的晶片及一條金色的銲線,若以LED二支接腳的極性來做分別,晶片是貼附在負(fù)極的腳上,經(jīng)由銲線連接正極的腳。當(dāng)LED通過正向電流時,晶片會發(fā)光而使LED發(fā)亮,如圖六所示。 半導(dǎo)體元件的製作分成兩段的製造程序,前一段是先製造元件的核心─晶片,稱為晶圓製造;後一段是將晶中片加以封裝成最後產(chǎn)品,稱為IC封裝製程,又可細(xì)分成晶圓切割、黏晶、銲線、封膠、印字、剪切成型等加工步驟,在本章節(jié)中將簡介這兩段的製造程序。
上傳時間: 2014-01-20
上傳用戶:蒼山觀海
交直流轉(zhuǎn)換器 AT-VA2-D-A3-DD-ADL 1.產(chǎn)品說明 AT系列轉(zhuǎn)換器/分配器主要設(shè)計(jì)使用于一般訊號迴路中之轉(zhuǎn)換與隔離;如 4~20mA、0~10V、熱電偶(Type K, J, E, T)、熱電阻(Rtd-Pt100Ω)、荷重元、電位計(jì)(三線式)、電阻(二線式)及交流電壓/電流等訊號,機(jī)種齊全。 此款薄型設(shè)計(jì)的轉(zhuǎn)換器/分配器,除了能提供兩組訊號輸出(輸出間隔離)或24V激發(fā)電源供傳送器使用外,切換式電源亦提供了安裝的便利性。上方并設(shè)計(jì)了電源、輸入及輸出指示燈及可插拔式接線端子方便現(xiàn)場施工及工作狀態(tài)檢視。 2.產(chǎn)品特點(diǎn) 可選擇帶指撥開關(guān)切換,六種常規(guī)輸出信號0-5V/0~10V/1~5V/2~10V/4~20mA/ 0~20mA 可自行切換。 雙回路輸出完全隔離,可選擇不同信號。 設(shè)計(jì)了電源、輸入及輸出LED指示燈,方便現(xiàn)場工作狀態(tài)檢視。 規(guī)格選擇表中可指定選購0.1%精度 17.55mm薄型35mm導(dǎo)軌安裝。 依據(jù)CE國際標(biāo)準(zhǔn)規(guī)范設(shè)計(jì)。 3.技術(shù)規(guī)格 用途:信號轉(zhuǎn)換及隔離 過載輸入能力:電流:10×額定10秒 第二組輸出:可選擇 精確度: 交流: ≦±0.5% of F.S. 直流: ≦±0.2% of F.S. 輸入耗損: 交流電流:≤ 0.1VA; 交流電壓:≤ 0.15VA 反應(yīng)時間: ≤ 250msec (10%~90% of FS) 輸出波紋: ≤ ±0.1% of F.S. 滿量程校正范圍:≤ ±10% of F.S.,2組輸出可個別調(diào)整 零點(diǎn)校正范圍:≤ ±10% of F.S.,2組輸出可個別調(diào)整 隔離:AC 2.0 KV 輸出1與輸出2之間 隔離抗阻:DC 500V 100MΩ 工作電源: AC 85~265V/DC 100~300V, 50/60Hz 或 AC/DC 20~56V (選購規(guī)格) 消耗功率: DC 4W, AC 6.0VA 工作溫度: 0~60 ºC 工作濕度: 20~95% RH, 無結(jié)露 溫度系數(shù): ≤ 100PPM/ ºC (0~50 ºC) 儲存溫度: -10~70 ºC 保護(hù)等級: IP 42 振動測試: 1~800 Hz, 3.175 g2/Hz 外觀尺寸: 94.0mm x 94.0mm x 17.5mm 外殼材質(zhì): ABS防火材料,UL94V0 安裝軌道: 35mm DIN導(dǎo)軌 (EN50022) 重量: 250g 安全規(guī)范(LVD): IEC 61010 (Installation category 3) EMC: EN 55011:2002; EN 61326:2003 EMI: EN 55011:2002; EN 61326:2003 常用規(guī)格:AT-VA2-D-A3-DD-ADL 交直流轉(zhuǎn)換器,2組輸出,輸入交流輸入0-19.99mA,輸出1:4-20mA,輸出2:4-20mA,工作電源AC/DC20-56V
標(biāo)簽: 交直流 轉(zhuǎn)換器
上傳時間: 2013-11-22
上傳用戶:nem567397
AL-LJ(K)系列零序電流互感器 保定奧蘭電氣科技有限責(zé)任公司生產(chǎn)的AL-LJ(K)系列零序電流互感器經(jīng)電力工業(yè)部電氣設(shè)備質(zhì)量檢測中心檢測,質(zhì)量優(yōu)于國標(biāo)GB1208-1997《電流互感器》,具有精度高,線性度好,運(yùn)行可靠,安裝方便,外型美觀等特點(diǎn)。 零序電流互感器(電纜型)的孔徑范圍為Ф40~Ф360,有各種容量、變比、準(zhǔn)確限值系數(shù),可與小電流接地選線裝置、繼電器、儀表等配套使用,實(shí)現(xiàn)對系統(tǒng)的檢測和保護(hù)。裝置具有靈敏度高,線性度好等優(yōu)點(diǎn)。產(chǎn)品分整體式和組合式兩類。互感器采用工程塑料外殼、樹脂澆注全密封;外型美觀、安裝方便、節(jié)省安裝空間、規(guī)格品種多,可適用各種保護(hù)裝置和電力系統(tǒng)各種運(yùn)行方式(中性點(diǎn)接地,中性點(diǎn)不接地,大電阻接地,小電阻接地和消弧線圈接地)的需要。 空格:用于小電流接地選線裝置 A:與DD11/60型繼電器配合使用 J:用于微機(jī)型繼電保護(hù) B:與DL11/0.2型繼電器配合使用 保定市奧蘭電氣科技有限責(zé)任公司開發(fā)生產(chǎn)的零序電流互感器是一種套在電纜上的CT,它的一次繞組為穿過CT內(nèi)孔的三相一次導(dǎo)體電纜,它的一次電流是一次三相電流的向量和(在正常、三相平衡時為0),當(dāng)發(fā)生一次系統(tǒng)單相接地時三相平衡關(guān)系被打破,這時零序電流互感器的二次就有電流輸出,供給保護(hù)裝置,實(shí)現(xiàn)保護(hù)和監(jiān)控。 零序電流互感器的一次絕緣就是電纜自身絕緣,所以這種零序電流互感器可以套在任一電壓等級的電纜上。
標(biāo)簽: 零序電流互感器
上傳時間: 2013-10-30
上傳用戶:fengzimili
概述:近年來,通信開關(guān)電源遭雷害事故時有發(fā)生。大家感到,不但損壞次數(shù)在顯著增多,而且每次的損壞程度也很嚴(yán)重。作為通信系統(tǒng)的“心臟”,通信電源在自身損壞的同時,對其負(fù)載側(cè)通信設(shè)備將構(gòu)成威脅,若不及時搶修,很容易引發(fā)二次事故,甚至出現(xiàn)通信中斷等嚴(yán)重后果。隨著大量無人值守站的建設(shè),這類問題顯得更加突出。因此,如何做好通信開關(guān)電源的雷電過電壓保護(hù),是擺在眾多設(shè)備制造廠家面前的一個很緊迫的問題。通信開關(guān)電源主要由交流配電、高頻整流、直流配電和本機(jī)監(jiān)控共4個單元組成,其基本功能是向交換、傳輸、微波或移動等通信設(shè)備提供安全可靠的直流基礎(chǔ)電源。通信開關(guān)電源的直流輸出電壓的標(biāo)稱值主要有48V和24V兩種,額定電流從幾十安到幾千安不等,主要取決于通信負(fù)載的功率和蓄電池組的容量。通信開關(guān)電源內(nèi)部含有大量的耐受能力更低的先進(jìn)電子元器件如集成電路、二極管和三極管等,它們極大地降低了通信開關(guān)電源承受雷電過電壓的能力。
標(biāo)簽: J.P 防雷 方案 通信開關(guān)
上傳時間: 2013-11-07
上傳用戶:lo25643
芯嵌stm32開發(fā)板配套教程
上傳時間: 2013-10-29
上傳用戶:Huge_Brother
注:1.這篇文章斷斷續(xù)續(xù)寫了很久,畫圖技術(shù)也不精,難免錯漏,大家湊合看.有問題可以留言. 2.論壇排版把我的代碼縮進(jìn)全弄沒了,大家將代碼粘貼到arduino編譯器,然后按ctrl+T重新格式化代碼格式即可看的舒服. 一、什么是PWM PWM 即Pulse Wavelength Modulation 脈寬調(diào)制波,通過調(diào)整輸出信號占空比,從而達(dá)到改 變輸出平均電壓的目的。相信Arduino 的PWM 大家都不陌生,在Arduino Duemilanove 2009 中,有6 個8 位精度PWM 引腳,分別是3, 5, 6, 9, 10, 11 腳。我們可以使用analogWrite()控 制PWM 腳輸出頻率大概在500Hz 的左右的PWM 調(diào)制波。分辨率8 位即2 的8 次方等于 256 級精度。但是有時候我們會覺得6 個PWM 引腳不夠用。比如我們做一個10 路燈調(diào)光, 就需要有10 個PWM 腳。Arduino Duemilanove 2009 有13 個數(shù)字輸出腳,如果它們都可以 PWM 的話,就能滿足條件了。于是本文介紹用軟件模擬PWM。 二、Arduino 軟件模擬PWM Arduino PWM 調(diào)壓原理:PWM 有好幾種方法。而Arduino 因?yàn)殡娫春蛯?shí)現(xiàn)難度限制,一般 使用周期恒定,占空比變化的單極性PWM。 通過調(diào)整一個周期里面輸出腳高/低電平的時間比(即是占空比)去獲得給一個用電器不同 的平均功率。 如圖所示,假設(shè)PWM 波形周期1ms(即1kHz),分辨率1000 級。那么需要一個信號時間 精度1ms/1000=1us 的信號源,即1MHz。所以說,PWM 的實(shí)現(xiàn)難點(diǎn)在于需要使用很高頻的 信號源,才能獲得快速與高精度。下面先由一個簡單的PWM 程序開始: const int PWMPin = 13; int bright = 0; void setup() { pinMode(PWMPin, OUTPUT); } void loop() { if((bright++) == 255) bright = 0; for(int i = 0; i < 255; i++) { if(i < bright) { digitalWrite(PWMPin, HIGH); delayMicroseconds(30); } else { digitalWrite(PWMPin, LOW); delayMicroseconds(30); } } } 這是一個軟件PWM 控制Arduino D13 引腳的例子。只需要一塊Arduino 即可測試此代碼。 程序解析:由for 循環(huán)可以看出,完成一個PWM 周期,共循環(huán)255 次。 假設(shè)bright=100 時候,在第0~100 次循環(huán)中,i 等于1 到99 均小于bright,于是輸出PWMPin 高電平; 然后第100 到255 次循環(huán)里面,i 等于100~255 大于bright,于是輸出PWMPin 低電平。無 論輸出高低電平都保持30us。 那么說,如果bright=100 的話,就有100 次循環(huán)是高電平,155 次循環(huán)是低電平。 如果忽略指令執(zhí)行時間的話,這次的PWM 波形占空比為100/255,如果調(diào)整bright 的值, 就能改變接在D13 的LED 的亮度。 這里設(shè)置了每次for 循環(huán)之后,將bright 加一,并且當(dāng)bright 加到255 時歸0。所以,我們 看到的最終效果就是LED 慢慢變亮,到頂之后然后突然暗回去重新變亮。 這是最基本的PWM 方法,也應(yīng)該是大家想的比較多的想法。 然后介紹一個簡單一點(diǎn)的。思維風(fēng)格完全不同。不過對于驅(qū)動一個LED 來說,效果與上面 的程序一樣。 const int PWMPin = 13; int bright = 0; void setup() { pinMode(PWMPin, OUTPUT); } void loop() { digitalWrite(PWMPin, HIGH); delayMicroseconds(bright*30); digitalWrite(PWMPin, LOW); delayMicroseconds((255 - bright)*30); if((bright++) == 255) bright = 0; } 可以看出,這段代碼少了一個For 循環(huán)。它先輸出一個高電平,然后維持(bright*30)us。然 后輸出一個低電平,維持時間((255-bright)*30)us。這樣兩次高低就能完成一個PWM 周期。 分辨率也是255。 三、多引腳PWM Arduino 本身已有PWM 引腳并且運(yùn)行起來不占CPU 時間,所以軟件模擬一個引腳的PWM 完全沒有實(shí)用意義。我們軟件模擬的價(jià)值在于:他能將任意的數(shù)字IO 口變成PWM 引腳。 當(dāng)一片Arduino 要同時控制多個PWM,并且沒有其他重任務(wù)的時候,就要用軟件PWM 了。 多引腳PWM 有一種下面的方式: int brights[14] = {0}; //定義14個引腳的初始亮度,可以隨意設(shè)置 int StartPWMPin = 0, EndPWMPin = 13; //設(shè)置D0~D13為PWM 引腳 int PWMResolution = 255; //設(shè)置PWM 占空比分辨率 void setup() { //定義所有IO 端輸出 for(int i = StartPWMPin; i <= EndPWMPin; i++) { pinMode(i, OUTPUT); //隨便定義個初始亮度,便于觀察 brights[ i ] = random(0, 255); } } void loop() { //這for 循環(huán)是為14盞燈做漸亮的。每次Arduino loop()循環(huán), //brights 自增一次。直到brights=255時候,將brights 置零重新計(jì)數(shù)。 for(int i = StartPWMPin; i <= EndPWMPin; i++) { if((brights[i]++) == PWMResolution) brights[i] = 0; } for(int i = 0; i <= PWMResolution; i++) //i 是計(jì)數(shù)一個PWM 周期 { for(int j = StartPWMPin; j <= EndPWMPin; j++) //每個PWM 周期均遍歷所有引腳 { if(i < brights[j])\ 所以我們要更改PWM 周期的話,我們將精度(代碼里面的變量:PWMResolution)降低就行,比如一般調(diào)整LED 亮度的話,我們用64 級精度就行。這樣速度就是2x32x64=4ms。就不會閃了。
上傳時間: 2013-10-08
上傳用戶:dingdingcandy
本文提出j以通用陣列邏輯器件GAL 和只讀存貯器EPROM 為核心器件.設(shè)計(jì)測量 顯示控制裝置的方法。配以數(shù)字式傳感器及用 最小二乘法編制的曲線自動分段椒合程序生成 的EPROM 中的數(shù)據(jù).可用于力、溫度、光強(qiáng)等 非電量的測量顯示和控制。該裝置與采用微處 理器的電路相比.有相同的洲量精度,電路簡 單.而且保密性好
上傳時間: 2013-11-10
上傳用戶:langliuer
半導(dǎo)體的產(chǎn)品很多,應(yīng)用的場合非常廣泛,圖一是常見的幾種半導(dǎo)體元件外型。半導(dǎo)體元件一般是以接腳形式或外型來劃分類別,圖一中不同類別的英文縮寫名稱原文為 PDID:Plastic Dual Inline Package SOP:Small Outline Package SOJ:Small Outline J-Lead Package PLCC:Plastic Leaded Chip Carrier QFP:Quad Flat Package PGA:Pin Grid Array BGA:Ball Grid Array 雖然半導(dǎo)體元件的外型種類很多,在電路板上常用的組裝方式有二種,一種是插入電路板的銲孔或腳座,如PDIP、PGA,另一種是貼附在電路板表面的銲墊上,如SOP、SOJ、PLCC、QFP、BGA。 從半導(dǎo)體元件的外觀,只看到從包覆的膠體或陶瓷中伸出的接腳,而半導(dǎo)體元件真正的的核心,是包覆在膠體或陶瓷內(nèi)一片非常小的晶片,透過伸出的接腳與外部做資訊傳輸。圖二是一片EPROM元件,從上方的玻璃窗可看到內(nèi)部的晶片,圖三是以顯微鏡將內(nèi)部的晶片放大,可以看到晶片以多條銲線連接四周的接腳,這些接腳向外延伸並穿出膠體,成為晶片與外界通訊的道路。請注意圖三中有一條銲線從中斷裂,那是使用不當(dāng)引發(fā)過電流而燒毀,致使晶片失去功能,這也是一般晶片遭到損毀而失效的原因之一。 圖四是常見的LED,也就是發(fā)光二極體,其內(nèi)部也是一顆晶片,圖五是以顯微鏡正視LED的頂端,可從透明的膠體中隱約的看到一片方型的晶片及一條金色的銲線,若以LED二支接腳的極性來做分別,晶片是貼附在負(fù)極的腳上,經(jīng)由銲線連接正極的腳。當(dāng)LED通過正向電流時,晶片會發(fā)光而使LED發(fā)亮,如圖六所示。 半導(dǎo)體元件的製作分成兩段的製造程序,前一段是先製造元件的核心─晶片,稱為晶圓製造;後一段是將晶中片加以封裝成最後產(chǎn)品,稱為IC封裝製程,又可細(xì)分成晶圓切割、黏晶、銲線、封膠、印字、剪切成型等加工步驟,在本章節(jié)中將簡介這兩段的製造程序。
上傳時間: 2013-11-04
上傳用戶:372825274
注:1.這篇文章斷斷續(xù)續(xù)寫了很久,畫圖技術(shù)也不精,難免錯漏,大家湊合看.有問題可以留言. 2.論壇排版把我的代碼縮進(jìn)全弄沒了,大家將代碼粘貼到arduino編譯器,然后按ctrl+T重新格式化代碼格式即可看的舒服. 一、什么是PWM PWM 即Pulse Wavelength Modulation 脈寬調(diào)制波,通過調(diào)整輸出信號占空比,從而達(dá)到改 變輸出平均電壓的目的。相信Arduino 的PWM 大家都不陌生,在Arduino Duemilanove 2009 中,有6 個8 位精度PWM 引腳,分別是3, 5, 6, 9, 10, 11 腳。我們可以使用analogWrite()控 制PWM 腳輸出頻率大概在500Hz 的左右的PWM 調(diào)制波。分辨率8 位即2 的8 次方等于 256 級精度。但是有時候我們會覺得6 個PWM 引腳不夠用。比如我們做一個10 路燈調(diào)光, 就需要有10 個PWM 腳。Arduino Duemilanove 2009 有13 個數(shù)字輸出腳,如果它們都可以 PWM 的話,就能滿足條件了。于是本文介紹用軟件模擬PWM。 二、Arduino 軟件模擬PWM Arduino PWM 調(diào)壓原理:PWM 有好幾種方法。而Arduino 因?yàn)殡娫春蛯?shí)現(xiàn)難度限制,一般 使用周期恒定,占空比變化的單極性PWM。 通過調(diào)整一個周期里面輸出腳高/低電平的時間比(即是占空比)去獲得給一個用電器不同 的平均功率。 如圖所示,假設(shè)PWM 波形周期1ms(即1kHz),分辨率1000 級。那么需要一個信號時間 精度1ms/1000=1us 的信號源,即1MHz。所以說,PWM 的實(shí)現(xiàn)難點(diǎn)在于需要使用很高頻的 信號源,才能獲得快速與高精度。下面先由一個簡單的PWM 程序開始: const int PWMPin = 13; int bright = 0; void setup() { pinMode(PWMPin, OUTPUT); } void loop() { if((bright++) == 255) bright = 0; for(int i = 0; i < 255; i++) { if(i < bright) { digitalWrite(PWMPin, HIGH); delayMicroseconds(30); } else { digitalWrite(PWMPin, LOW); delayMicroseconds(30); } } } 這是一個軟件PWM 控制Arduino D13 引腳的例子。只需要一塊Arduino 即可測試此代碼。 程序解析:由for 循環(huán)可以看出,完成一個PWM 周期,共循環(huán)255 次。 假設(shè)bright=100 時候,在第0~100 次循環(huán)中,i 等于1 到99 均小于bright,于是輸出PWMPin 高電平; 然后第100 到255 次循環(huán)里面,i 等于100~255 大于bright,于是輸出PWMPin 低電平。無 論輸出高低電平都保持30us。 那么說,如果bright=100 的話,就有100 次循環(huán)是高電平,155 次循環(huán)是低電平。 如果忽略指令執(zhí)行時間的話,這次的PWM 波形占空比為100/255,如果調(diào)整bright 的值, 就能改變接在D13 的LED 的亮度。 這里設(shè)置了每次for 循環(huán)之后,將bright 加一,并且當(dāng)bright 加到255 時歸0。所以,我們 看到的最終效果就是LED 慢慢變亮,到頂之后然后突然暗回去重新變亮。 這是最基本的PWM 方法,也應(yīng)該是大家想的比較多的想法。 然后介紹一個簡單一點(diǎn)的。思維風(fēng)格完全不同。不過對于驅(qū)動一個LED 來說,效果與上面 的程序一樣。 const int PWMPin = 13; int bright = 0; void setup() { pinMode(PWMPin, OUTPUT); } void loop() { digitalWrite(PWMPin, HIGH); delayMicroseconds(bright*30); digitalWrite(PWMPin, LOW); delayMicroseconds((255 - bright)*30); if((bright++) == 255) bright = 0; } 可以看出,這段代碼少了一個For 循環(huán)。它先輸出一個高電平,然后維持(bright*30)us。然 后輸出一個低電平,維持時間((255-bright)*30)us。這樣兩次高低就能完成一個PWM 周期。 分辨率也是255。 三、多引腳PWM Arduino 本身已有PWM 引腳并且運(yùn)行起來不占CPU 時間,所以軟件模擬一個引腳的PWM 完全沒有實(shí)用意義。我們軟件模擬的價(jià)值在于:他能將任意的數(shù)字IO 口變成PWM 引腳。 當(dāng)一片Arduino 要同時控制多個PWM,并且沒有其他重任務(wù)的時候,就要用軟件PWM 了。 多引腳PWM 有一種下面的方式: int brights[14] = {0}; //定義14個引腳的初始亮度,可以隨意設(shè)置 int StartPWMPin = 0, EndPWMPin = 13; //設(shè)置D0~D13為PWM 引腳 int PWMResolution = 255; //設(shè)置PWM 占空比分辨率 void setup() { //定義所有IO 端輸出 for(int i = StartPWMPin; i <= EndPWMPin; i++) { pinMode(i, OUTPUT); //隨便定義個初始亮度,便于觀察 brights[ i ] = random(0, 255); } } void loop() { //這for 循環(huán)是為14盞燈做漸亮的。每次Arduino loop()循環(huán), //brights 自增一次。直到brights=255時候,將brights 置零重新計(jì)數(shù)。 for(int i = StartPWMPin; i <= EndPWMPin; i++) { if((brights[i]++) == PWMResolution) brights[i] = 0; } for(int i = 0; i <= PWMResolution; i++) //i 是計(jì)數(shù)一個PWM 周期 { for(int j = StartPWMPin; j <= EndPWMPin; j++) //每個PWM 周期均遍歷所有引腳 { if(i < brights[j])\ 所以我們要更改PWM 周期的話,我們將精度(代碼里面的變量:PWMResolution)降低就行,比如一般調(diào)整LED 亮度的話,我們用64 級精度就行。這樣速度就是2x32x64=4ms。就不會閃了。
上傳時間: 2013-10-23
上傳用戶:mqien
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1