亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲蟲首頁(yè)| 資源下載| 資源專輯| 精品軟件
登錄| 注冊(cè)

速度監(jiān)(jiān)控

  • Arduino學(xué)習(xí)筆記4_Arduino軟件模擬PWM

    注:1.這篇文章斷斷續(xù)續(xù)寫了很久,畫圖技術(shù)也不精,難免錯(cuò)漏,大家湊合看.有問題可以留言.      2.論壇排版把我的代碼縮進(jìn)全弄沒了,大家將代碼粘貼到arduino編譯器,然后按ctrl+T重新格式化代碼格式即可看的舒服. 一、什么是PWM PWM 即Pulse Wavelength Modulation 脈寬調(diào)制波,通過調(diào)整輸出信號(hào)占空比,從而達(dá)到改 變輸出平均電壓的目的。相信Arduino 的PWM 大家都不陌生,在Arduino Duemilanove 2009 中,有6 個(gè)8 位精度PWM 引腳,分別是3, 5, 6, 9, 10, 11 腳。我們可以使用analogWrite()控 制PWM 腳輸出頻率大概在500Hz 的左右的PWM 調(diào)制波。分辨率8 位即2 的8 次方等于 256 級(jí)精度。但是有時(shí)候我們會(huì)覺得6 個(gè)PWM 引腳不夠用。比如我們做一個(gè)10 路燈調(diào)光, 就需要有10 個(gè)PWM 腳。Arduino Duemilanove 2009 有13 個(gè)數(shù)字輸出腳,如果它們都可以 PWM 的話,就能滿足條件了。于是本文介紹用軟件模擬PWM。 二、Arduino 軟件模擬PWM Arduino PWM 調(diào)壓原理:PWM 有好幾種方法。而Arduino 因?yàn)殡娫春蛯?shí)現(xiàn)難度限制,一般 使用周期恒定,占空比變化的單極性PWM。 通過調(diào)整一個(gè)周期里面輸出腳高/低電平的時(shí)間比(即是占空比)去獲得給一個(gè)用電器不同 的平均功率。 如圖所示,假設(shè)PWM 波形周期1ms(即1kHz),分辨率1000 級(jí)。那么需要一個(gè)信號(hào)時(shí)間 精度1ms/1000=1us 的信號(hào)源,即1MHz。所以說,PWM 的實(shí)現(xiàn)難點(diǎn)在于需要使用很高頻的 信號(hào)源,才能獲得快速與高精度。下面先由一個(gè)簡(jiǎ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); } } } 這是一個(gè)軟件PWM 控制Arduino D13 引腳的例子。只需要一塊Arduino 即可測(cè)試此代碼。 程序解析:由for 循環(huán)可以看出,完成一個(gè)PWM 周期,共循環(huán)255 次。 假設(shè)bright=100 時(shí)候,在第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í)行時(shí)間的話,這次的PWM 波形占空比為100/255,如果調(diào)整bright 的值, 就能改變接在D13 的LED 的亮度。 這里設(shè)置了每次for 循環(huán)之后,將bright 加一,并且當(dāng)bright 加到255 時(shí)歸0。所以,我們 看到的最終效果就是LED 慢慢變亮,到頂之后然后突然暗回去重新變亮。 這是最基本的PWM 方法,也應(yīng)該是大家想的比較多的想法。 然后介紹一個(gè)簡(jiǎn)單一點(diǎn)的。思維風(fēng)格完全不同。不過對(duì)于驅(qū)動(dòng)一個(gè)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; } 可以看出,這段代碼少了一個(gè)For 循環(huán)。它先輸出一個(gè)高電平,然后維持(bright*30)us。然 后輸出一個(gè)低電平,維持時(shí)間((255-bright)*30)us。這樣兩次高低就能完成一個(gè)PWM 周期。 分辨率也是255。 三、多引腳PWM Arduino 本身已有PWM 引腳并且運(yùn)行起來不占CPU 時(shí)間,所以軟件模擬一個(gè)引腳的PWM 完全沒有實(shí)用意義。我們軟件模擬的價(jià)值在于:他能將任意的數(shù)字IO 口變成PWM 引腳。 當(dāng)一片Arduino 要同時(shí)控制多個(gè)PWM,并且沒有其他重任務(wù)的時(shí)候,就要用軟件PWM 了。 多引腳PWM 有一種下面的方式: int brights[14] = {0}; //定義14個(gè)引腳的初始亮度,可以隨意設(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); //隨便定義個(gè)初始亮度,便于觀察 brights[ i ] = random(0, 255); } } void loop() { //這for 循環(huán)是為14盞燈做漸亮的。每次Arduino loop()循環(huán), //brights 自增一次。直到brights=255時(shí)候,將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ù)一個(gè)PWM 周期 { for(int j = StartPWMPin; j <= EndPWMPin; j++) //每個(gè)PWM 周期均遍歷所有引腳 { if(i < brights[j])\   所以我們要更改PWM 周期的話,我們將精度(代碼里面的變量:PWMResolution)降低就行,比如一般調(diào)整LED 亮度的話,我們用64 級(jí)精度就行。這樣速度就是2x32x64=4ms。就不會(huì)閃了。

    標(biāo)簽: Arduino PWM 軟件模擬

    上傳時(shí)間: 2013-10-08

    上傳用戶:dingdingcandy

  • 提升Windows7系統(tǒng)運(yùn)行速度

    提升Windows7系統(tǒng)運(yùn)行速度

    標(biāo)簽: Windows7 運(yùn)行速度

    上傳時(shí)間: 2014-01-24

    上傳用戶:xiaohanhaowei

  • STC-ISP下載編程燒錄軟件控件注冊(cè)工具

    STC-ISP下載編程燒錄軟件控件注冊(cè)工具。

    標(biāo)簽: STC-ISP 編程 燒錄軟件

    上傳時(shí)間: 2014-12-31

    上傳用戶:jiangfire

  • 力控注冊(cè)機(jī)

    力控注冊(cè)機(jī)

    標(biāo)簽: 力控注冊(cè)機(jī)

    上傳時(shí)間: 2013-11-24

    上傳用戶:wutong

  • 提升Windows7系統(tǒng)運(yùn)行速度

    提升Windows7系統(tǒng)運(yùn)行速度

    標(biāo)簽: Windows7 運(yùn)行速度

    上傳時(shí)間: 2015-01-01

    上傳用戶:fanboynet

  • STC-ISP下載編程燒錄軟件控件注冊(cè)工具

    STC-ISP下載編程燒錄軟件控件注冊(cè)工具。

    標(biāo)簽: STC-ISP 編程 燒錄軟件

    上傳時(shí)間: 2013-11-11

    上傳用戶:hakim

  • PLC電梯控制系統(tǒng)的設(shè)計(jì)和檢測(cè)

      摘要: 隨著微電子技術(shù)和計(jì)算機(jī)技術(shù)的迅速發(fā)展,PLC(即可編程控制器)在工業(yè)控制領(lǐng)域內(nèi)得到十分廣泛地應(yīng)用。PLC是一種基于數(shù)字計(jì)算機(jī)技術(shù)、專為在工業(yè)環(huán)境下應(yīng)用而設(shè)計(jì)的電子控制裝置,它采用可編程序的存儲(chǔ)器,用來存儲(chǔ)用戶指令,通過數(shù)字或模擬的輸入/輸出,完成一系列邏輯、順序、定時(shí)、記數(shù)、運(yùn)算等確定的功能,來控制各種類型的機(jī)電一體化設(shè)備和生產(chǎn)過程。本文介紹了利用可編程控制器編寫的一個(gè)五層電梯的控制系統(tǒng),檢驗(yàn)電梯PLC控制系統(tǒng)的運(yùn)行情況。實(shí)踐證明,PLC可遍程控制器和MCGS組態(tài)軟件結(jié)合有利于PLC控制系統(tǒng)的設(shè)計(jì)、檢測(cè),具有良好的應(yīng)用價(jià)值。   電梯是隨著高層建筑的興建而發(fā)展起來的一種垂直運(yùn)輸工具。多層廠房和多層倉(cāng)庫(kù)需要有貨梯;高層住宅需要有住宅梯;百貨大樓和賓館需要有客梯,自動(dòng)扶梯等。在現(xiàn)代社會(huì),電梯已像汽車、輪船一樣,成為人類不可缺少的交通運(yùn)輸工具。據(jù)統(tǒng)計(jì),美國(guó)每天乘電梯的人次多于乘載其它交通工具的人數(shù)。當(dāng)今世界,電梯的使用量已成為衡量現(xiàn)代化程度的標(biāo)志之一。追溯電梯這種升降設(shè)備的歷史,據(jù)說它起源于公元前236年的古希臘。當(dāng)時(shí)有個(gè)叫阿基米德的人設(shè)計(jì)出--人力驅(qū)動(dòng)的卷筒式卷?yè)P(yáng)機(jī)。1858年以蒸汽機(jī)為動(dòng)力的客梯,在美國(guó)出現(xiàn),繼而有在英國(guó)出現(xiàn)水壓梯。1889年美國(guó)的奧梯斯電梯公司首先使用電動(dòng)機(jī)作為電梯動(dòng)力,這才出現(xiàn)名副其實(shí)的電梯,并使電梯趨于實(shí)用化。1900年還出現(xiàn)了第一臺(tái)自動(dòng)扶梯。1949年出現(xiàn)了群控電梯,首批4~6臺(tái)群控電梯在紐約的聯(lián)合國(guó)大廈被使用。1955年出現(xiàn)了小型計(jì)算機(jī)(真空管)控制電梯。1962年美國(guó)出現(xiàn)了速度達(dá)8米/秒的超高速電梯。1963年一些先進(jìn)工業(yè)國(guó)只成了無觸點(diǎn)半導(dǎo)體邏輯控制電梯。1967年可控硅應(yīng)用于電梯,使電梯的拖動(dòng)系統(tǒng)筒化,性能提高。1971年集成電路被應(yīng)用于電梯。第二年又出現(xiàn)了數(shù)控電梯。1976年微處理機(jī)開始用于電梯,使電梯的電氣控制進(jìn)入了一個(gè)新的發(fā)展時(shí)期。   1電梯簡(jiǎn)介   1.1電梯的基本分類   1.1.1按用途分類   ⑴ 乘客電梯:為運(yùn)送乘客而設(shè)計(jì)的電梯。主用與賓館,飯店,辦公樓,大型商店等客流量大的場(chǎng)合。這類電梯為了提高運(yùn)送效率,其運(yùn)行速度比較快,自動(dòng)化程度比較高。轎廂的尺寸和結(jié)構(gòu)形式多為寬度大于深度,使乘客能暢通地進(jìn)出。而且安全設(shè)施齊全,裝潢美觀。

    標(biāo)簽: PLC 電梯控制系統(tǒng) 檢測(cè)

    上傳時(shí)間: 2013-10-16

    上傳用戶:lili123

  • WP370 -采用智能時(shí)鐘門控技術(shù)降低動(dòng)態(tài)開關(guān)功耗

        賽靈思推出業(yè)界首款自動(dòng)化精細(xì)粒度時(shí)鐘門控解決方案,該解決方案可將 Virtex®-6 和 Spartan®-6 FPGA 設(shè)計(jì)方案的動(dòng)態(tài)功耗降低高達(dá) 30%。賽靈思智能時(shí)鐘門控優(yōu)化可自動(dòng)應(yīng)用于整個(gè)設(shè)計(jì),既無需在設(shè)計(jì)流程中添加更多新的工具或步驟,又不會(huì)改變現(xiàn)有邏輯或時(shí)鐘,從而避免設(shè)計(jì)修改。此外,在大多數(shù)情況下,該解決方案都能保留時(shí)序結(jié)果。

    標(biāo)簽: 370 WP 智能時(shí)鐘 動(dòng)態(tài)

    上傳時(shí)間: 2015-01-02

    上傳用戶:wutong

  • 基于FPGA的多通道HDLC通信系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

    為了滿足某測(cè)控平臺(tái)的設(shè)計(jì)要求,設(shè)計(jì)并實(shí)現(xiàn)了基于FPGA的六通道HDLC并行通信系統(tǒng)。該系統(tǒng)以FPGA為核心,包括FPGA、DSP、485轉(zhuǎn)換接口等部分。給出了系統(tǒng)的電路設(shè)計(jì)、關(guān)鍵模塊及軟件流程圖。測(cè)試結(jié)果表明,系統(tǒng)通訊速度為1 Mb/s,并且工作穩(wěn)定,目前該設(shè)計(jì)已經(jīng)成功應(yīng)用于某樣機(jī)中。

    標(biāo)簽: FPGA HDLC 多通道 通信

    上傳時(shí)間: 2013-10-12

    上傳用戶:as275944189

  • 基于分布式控制的某加載試驗(yàn)電氣測(cè)控系統(tǒng)設(shè)計(jì)

    針對(duì)飛機(jī)艙門氣動(dòng)加載試驗(yàn)的特點(diǎn),分析了21個(gè)加載通道的測(cè)控要求,應(yīng)用分布式控制方案,采用上下位機(jī)結(jié)構(gòu);選用PCI板卡及合理的調(diào)理電路設(shè)計(jì),完成了下位機(jī)的采集通信功能;上位機(jī)中,在labWindows/CVl平臺(tái)下實(shí)現(xiàn)了了監(jiān)督控制與數(shù)據(jù)采集,利用多線程機(jī)制及多媒體定時(shí)器技術(shù),保證了多通道分布式系統(tǒng)中的實(shí)時(shí)性要求,該電氣設(shè)計(jì)在地面模擬飛行試驗(yàn)中工作良好,充分滿足了試驗(yàn)的各項(xiàng)指標(biāo)要求。

    標(biāo)簽: 分布式控制 驗(yàn)電 測(cè)控 系統(tǒng)設(shè)計(jì)

    上傳時(shí)間: 2013-11-21

    上傳用戶:

主站蜘蛛池模板: 镇坪县| 扶绥县| 新余市| 凌海市| 玛多县| 铜陵市| 商洛市| 滨海县| 台东市| 平度市| 锦屏县| 古浪县| 晋中市| 鄂托克前旗| 衡阳县| 读书| 宣化县| 临朐县| 祥云县| 湟源县| 兴和县| 云和县| 封开县| 三明市| 鹿邑县| 丰都县| 东平县| 岱山县| 南安市| 镇原县| 綦江县| 利辛县| 张北县| 京山县| 抚顺县| 甘洛县| 商都县| 武隆县| 连江县| 白银市| 晋城|