999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Arduino平臺(tái)的pulseIn()函數(shù)研究

2019-12-25 01:14:48景蕾
無(wú)線互聯(lián)科技 2019年20期

景蕾

摘? ?要:隨著無(wú)線電遙控技術(shù)的迅猛發(fā)展,日常生活已經(jīng)越來(lái)越離不開(kāi)無(wú)線電遙控,如遙控監(jiān)視、報(bào)警、航模等。在實(shí)際應(yīng)用時(shí),航模遙控器將操作者的指令以脈位調(diào)制信號(hào)的形式發(fā)出,而后解析成對(duì)應(yīng)通道的脈寬調(diào)制信號(hào)來(lái)實(shí)現(xiàn)舵機(jī)的控制,從而完成航模基本功能控制。因此,脈寬調(diào)制信號(hào)中高電平的幅度和占空比的測(cè)量精度直接影響了航模的控制精度。文章通過(guò)研究給出了Arduino內(nèi)置pulseIn()函數(shù)的測(cè)試方法,并借助示波器得到了各通道脈寬調(diào)制信號(hào)實(shí)測(cè)結(jié)果,通過(guò)算法測(cè)量與實(shí)測(cè)結(jié)果對(duì)比,驗(yàn)證了pulseIn()函數(shù)測(cè)試算法,對(duì)后續(xù)應(yīng)用有一定的指導(dǎo)意義。

關(guān)鍵詞:Arduino;占空比;pulseIn函數(shù)

1? ? Adruino開(kāi)發(fā)平臺(tái)

1.1? Arduino開(kāi)發(fā)板和Arduino? IDE

Arduino[1-2]是一款便捷、靈活、入門簡(jiǎn)單的開(kāi)源電子開(kāi)發(fā)平臺(tái)。它包含硬件(各種型號(hào)的微處理器、Arduino控制板)和軟件(編程接口、Arduino IDE)兩部分。通過(guò)搭載各種類型傳感器,例如溫濕度傳感器、超聲波傳感器、霍爾傳感器等,Arduino可以方便地獲取各類環(huán)境信息,并通過(guò)使用各類開(kāi)源庫(kù)函數(shù),輕松實(shí)現(xiàn)數(shù)據(jù)的讀取、融合、處理和輸出,最終滿足設(shè)計(jì)者的需要。Arduino安裝目錄下自帶了很多標(biāo)準(zhǔn)庫(kù),通過(guò)使用這些標(biāo)準(zhǔn)庫(kù),函數(shù)經(jīng)過(guò)系統(tǒng)科學(xué)的封裝,使得用戶只要通過(guò)操作頂層簡(jiǎn)單的函數(shù),就可以直接實(shí)現(xiàn)某種功能。

1.2? Arduino? UNO

Arduino UNO是Arduino系列開(kāi)發(fā)平臺(tái)中的一個(gè)重要版本,也是從事Arduino開(kāi)發(fā)的一個(gè)標(biāo)準(zhǔn)參考模板。UNO使用ATmega328單片機(jī)作為主控芯片,具有20路輸入/輸出端口,端口最大驅(qū)動(dòng)能力40 mA,包含14路(0~13引腳)數(shù)字輸入/輸出端口,6路(3,5,6,9,10,11引腳)可直接作為脈寬調(diào)制(Pulse-Width modulationtion,PWM)輸出,6路(A0~A5)10位模擬輸入/輸出端口,同時(shí)還包含一個(gè)ICSP header、一個(gè)復(fù)位按鈕、一個(gè)SPI接口、一個(gè)兼容串口和IIC接口。

2? ? 航模遙控器信號(hào)

操作者通過(guò)遙控器發(fā)射控制信號(hào),經(jīng)過(guò)接收機(jī)接受處理后,送給Arduino控制板進(jìn)行處理,可以完成電機(jī)控制、燈光控制、液晶顯示等諸多功能。因此,掌握Arduino對(duì)遙控接收機(jī)信號(hào)的捕獲和處理顯得尤為重要。

部分航模遙控器是通過(guò)將遙控的控制桿信號(hào)或撥動(dòng)開(kāi)關(guān)信號(hào),經(jīng)過(guò)處理后形成周期為20 ms的脈位調(diào)制(Pulse Position Modulation,PPM)[3]信號(hào),并使用2.4 GHz頻率的載波調(diào)制后發(fā)送給接收機(jī),接收機(jī)將接收到的信號(hào)進(jìn)行濾波、解調(diào),形成占空比可變的、周期為20 ms的各控制通道的脈沖寬度調(diào)制(Pulse Width Modulation,PWM)[4]信號(hào)。PWM信號(hào)的高電平時(shí)間(以ms為單位)對(duì)應(yīng)著遙控器控制桿的行程,其值范圍1 000~2 000不等,實(shí)際操作時(shí),當(dāng)遙控器控制桿在最低端,接收機(jī)輸出值為1 000/20 000左右,即占空比為5%左右的PWM信號(hào);當(dāng)控制桿在最高端,其輸出值為2 000/20 000,即占空比為10%左右的PWM信號(hào),控制桿中間的值對(duì)應(yīng)的PWM信號(hào)占空比在最低和最高占空比之間。

接收機(jī)將遙控的各通道控制信號(hào)解析后,送到Arduino開(kāi)發(fā)板的模擬信號(hào)接收引腳進(jìn)行后續(xù)的處理。

本文以Arduino UNO控制板為例,對(duì)遙控器接收機(jī)信號(hào)進(jìn)行實(shí)際解析。

遙控器接收機(jī)各通道連接在UNO的模擬端口上。軟件設(shè)計(jì)時(shí),通過(guò)Arduino的pinMode()內(nèi)置函數(shù)實(shí)現(xiàn)對(duì)某個(gè)模擬引腳的輸入設(shè)置。void pinMode(uint8 pin, WiringPinMode mode)函數(shù)有兩個(gè)參數(shù):pin為引腳編號(hào)。mode為引腳的輸入輸出模式,即INPUT和OUTPUT。

遙控器各通道的控制信號(hào),最終以PWM信號(hào)的形式被UNO的主控芯片讀取,其控制量的大小取決于PWM信號(hào)中高電平的幅度和占空比。因此,在對(duì)模擬的模式進(jìn)行設(shè)置后,需要進(jìn)一步獲取PWM信號(hào)的高電平持續(xù)時(shí)間,以便計(jì)算出輸出端的控制信號(hào)大小。假設(shè)一個(gè)標(biāo)準(zhǔn)的PWM信號(hào)幅值為A,其信號(hào)周期為T,高電平時(shí)間為t。將其轉(zhuǎn)化為模擬×信號(hào)的有效值A(chǔ)V=A×,AV值的大小將直接決定輸入端口的驅(qū)動(dòng)能力大小。

Arduino內(nèi)置函數(shù)pulseIn(pin, value, timeout),pin為想要讀取的引腳的標(biāo)號(hào),value為想要讀取的是高電平時(shí)間還是低電平時(shí)間,timeout表示一次脈沖所持續(xù)的微秒數(shù),如果在timeout時(shí)間內(nèi)脈沖沒(méi)有結(jié)束,則函數(shù)返回0,正常情況返回高低電平持續(xù)時(shí)間,單位為ms(10 ms~3 min)。因此,利用pulseIn()函數(shù),用戶可以很輕松地獲取到某個(gè)引腳的高低電平時(shí)間。

3? ? pulseIn()函數(shù)測(cè)試

本文對(duì)該函數(shù)的輸出結(jié)果進(jìn)行了實(shí)際測(cè)試,測(cè)試平臺(tái)的搭建包括:某型遙控(含接收機(jī))一部,500 MHz示波器一臺(tái)。

將接收機(jī)和Arduino UNO連接好后,用pulseIn()函數(shù)測(cè)試遙控器3通道搖桿最低點(diǎn)、中點(diǎn)、最高點(diǎn)的輸出值,通過(guò)IDE自帶的串口監(jiān)視器觀察其輸出值。

將3通道搖桿拉至最低,使用pulseIn()函數(shù)得到高電平時(shí)間為992 μs;使3通道搖桿自回中,pulseIn()函數(shù)得到高電平時(shí)間為1 505 μs;將3通道搖桿拉至最高,pulseIn()函數(shù)的到高電平時(shí)間為2 008 μs。使用pulseIn()函數(shù)測(cè)量的同時(shí),將3通道的輸出信號(hào)連接到示波器,得到上述3種情況的波形圖。從圖1可以看到,搖桿最低時(shí),值為1.00 ms;從圖2可以看到,自回中時(shí),值為1.51 ms;從圖3可以看到,搖桿最高時(shí),值為2.02 ms。由3次結(jié)果可以看出,PWM波形存在27 μs的上升時(shí)間和30 μs的下降時(shí)間,其誤差范圍在10-3 ms級(jí)上。

通過(guò)上述測(cè)試結(jié)果可知,如果用pulseIn()函數(shù)進(jìn)行較高頻率周期信號(hào)測(cè)量,在進(jìn)行信號(hào)上升沿和下降沿的處理時(shí),會(huì)存在一定誤差。

4? ? 結(jié)語(yǔ)

本文對(duì)基于Arduino平臺(tái)的常見(jiàn)遙控器信號(hào)進(jìn)行了解析,給出了函數(shù)pulseIn()的測(cè)量方法,并對(duì)Arduino內(nèi)置函數(shù)pulseIn()進(jìn)行了實(shí)際測(cè)量,結(jié)合500 MHz示波器數(shù)值得到了測(cè)量值,對(duì)后續(xù)Arduino平臺(tái)的pulseIn()函數(shù)應(yīng)用有一定的指導(dǎo)意義。

[參考文獻(xiàn)]

[1]蔡睿妍.Arduino的原理及應(yīng)用[J].電子設(shè)計(jì)工程,2012(16):155-157.

[2]楊繼志,郭敬.Arduino的互動(dòng)產(chǎn)品平臺(tái)創(chuàng)新設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2012(4):39-41.

[3]向勁松,肖剛.PPM與LDPC光通信系統(tǒng)中脈沖展寬效應(yīng)補(bǔ)償辦法[J].光通信研究,2016(4):60-62,71.

[4]李彩俠,李屹坤.一種無(wú)刷直流電機(jī)四象限PWM調(diào)制方式的分析和設(shè)計(jì)[J].集成電路應(yīng)用,2019(6):122-124.

主站蜘蛛池模板: 欧美日本在线一区二区三区| 国产欧美日韩另类| 亚洲精品午夜无码电影网| 91精品国产麻豆国产自产在线| a色毛片免费视频| 亚洲成aⅴ人片在线影院八| 爱爱影院18禁免费| 欧美精品影院| 无码国产伊人| 国产成人精品一区二区| 国产精品久久久久无码网站| 国产a在视频线精品视频下载| 中国精品自拍| 最新国产高清在线| 波多野结衣一二三| 色网站在线视频| 亚洲一级毛片免费观看| 国产精品亚欧美一区二区三区| 国产丝袜啪啪| 欧美va亚洲va香蕉在线| 国产新AV天堂| 性喷潮久久久久久久久| 国产在线一二三区| 亚洲成人黄色在线| 久久性妇女精品免费| 一级毛片免费不卡在线视频| 久操中文在线| 日本免费福利视频| 91精品视频播放| 亚洲精品va| 国产网站免费观看| 亚洲美女视频一区| 毛片在线区| 日韩欧美高清视频| 欧美日韩一区二区在线播放| 久久99国产精品成人欧美| 国产精品成| 欧美专区日韩专区| 天堂网亚洲系列亚洲系列| 97在线公开视频| 国产精品免费露脸视频| 香蕉久久国产超碰青草| 国产福利观看| 一级全免费视频播放| 国产00高中生在线播放| 国产午夜人做人免费视频| 精品欧美一区二区三区在线| 久久精品人人做人人爽电影蜜月| 亚洲天天更新| 色综合久久88色综合天天提莫| 91在线丝袜| 97成人在线视频| 在线不卡免费视频| 國產尤物AV尤物在線觀看| 久久精品国产亚洲麻豆| 99爱在线| 亚洲成肉网| 一级做a爰片久久免费| 香蕉蕉亚亚洲aav综合| 四虎国产永久在线观看| 久久频这里精品99香蕉久网址| 日本国产精品| 国产美女91呻吟求| 国产成人精品视频一区视频二区| 免费观看欧美性一级| 日韩精品亚洲人旧成在线| 毛片免费视频| 91人妻在线视频| 欧美不卡视频一区发布| 久久久久国色AV免费观看性色| 久久99国产精品成人欧美| 亚洲aaa视频| 一级毛片在线播放免费观看| 国产精品一区不卡| 在线国产综合一区二区三区| 91香蕉视频下载网站| 国产不卡国语在线| 国产精品一区二区在线播放| 成人福利在线看| 99在线视频精品| 91精品国产丝袜| 日韩一级毛一欧美一国产 |