国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于51單片機(jī)和無線傳輸?shù)闹绷麟姍C(jī)調(diào)速測速系統(tǒng)設(shè)計(jì)

2018-08-15 10:01:34陳庭偉林藝帆劉巧
軟件工程 2018年5期
關(guān)鍵詞:串口通信

陳庭偉 林藝帆 劉巧

摘 要:為了滿足工業(yè)生產(chǎn)中對發(fā)電機(jī)、中小型馬達(dá)、機(jī)床轉(zhuǎn)軸等旋轉(zhuǎn)設(shè)備的轉(zhuǎn)速控制和轉(zhuǎn)速采集上的需求,本文介紹一種基于51單片機(jī)和無線傳輸?shù)闹绷麟姍C(jī)調(diào)速測速系統(tǒng)的設(shè)計(jì)。以STC89C52單片機(jī)為主控芯片,利用PWM的原理,通過按鍵對直流電機(jī)進(jìn)行調(diào)速,速度可分高中低三檔;采用槽形光耦傳感器對直流電機(jī)的轉(zhuǎn)動(dòng)進(jìn)行計(jì)數(shù),并通過主控芯片將采集到的計(jì)數(shù)值轉(zhuǎn)化為直流電機(jī)的當(dāng)前速度值;利用nRF24L01無線傳輸模塊與串口通信技術(shù)將當(dāng)前采集到的速度值實(shí)時(shí)地發(fā)送給上位機(jī)并在上位機(jī)中顯示出來。實(shí)驗(yàn)表明,此系統(tǒng)具有成本低,功耗低,可靠性高等優(yōu)點(diǎn),具有一定的實(shí)用性。

關(guān)鍵詞:直流電機(jī)調(diào)速測速;槽型光耦傳感器;串口通信;nRF24L01

中圖分類號:TP368.2 文獻(xiàn)標(biāo)識碼:A

Abstract:To meet the needs of speed control and speed collection for rotating equipment such as generators,small and medium motors,rotating shafts,this paper introduces a design of DC motor speed control and measurement system based on 51 micro-controller and wireless transmission.Taking STC89C52 micro-controller as the main control chip,following the principle of PWM,using the keys to control the DC motor speed,the speed can be divided into three sections:low,middle and high;Use trough optocoupler sensor to count DC motor rotations,and turn the collected data into the DC motor speed value by the main control chip.Use nRF24L01 wireless transmission module and serial communication technology to collect the current velocity and send it simultaneously to the host computer to be displayed.The experiment shows that the system has the advantages of low cost,low power consumption and high reliability as well as certain practicability.

Keywords:DC motor speed control and measurement;slot-type optocoupler sensor;serial communication;nRF24L01

1 引言(Introduction)

如今,大量的產(chǎn)品是在自動(dòng)化生產(chǎn)流水線上生產(chǎn)出來的,使用自動(dòng)化生產(chǎn)流水線就不可避免地需要使用大量的電機(jī),來對生產(chǎn)速度的快慢進(jìn)行控制,因此,對于電機(jī)調(diào)速測速的控制就顯得尤為重要了。但是,有線傳輸測速系統(tǒng)存在成本高、靈活性差、占用空間大等缺點(diǎn),所以,為解決以上問題,有線系統(tǒng)改為無線系統(tǒng)是一個(gè)很好的解決方案。目前,在市面上的各種射頻芯片中,一款由挪威Nordic公司生產(chǎn)的nRF24L01無線收發(fā)射頻芯片可以滿足無線傳輸測速系統(tǒng)的要求,它具有可靠性高、靈活性好、成本低等優(yōu)點(diǎn),現(xiàn)已在市面上得到廣泛地應(yīng)用。本文所介紹的基于51單片機(jī)和無線傳輸?shù)闹绷麟姍C(jī)調(diào)速測速系統(tǒng)設(shè)計(jì),正是使用的這款無線模塊。

2 系統(tǒng)硬件設(shè)計(jì)(System hardware design)

2.1 系統(tǒng)整體設(shè)計(jì)思路

系統(tǒng)采用STC89C52單片機(jī)作為主控芯片,并由五大部分電路組成,這五大部分電路分別是按鍵電路、直流電機(jī)驅(qū)動(dòng)電路、測速電路、顯示電路和無線傳輸電路。驅(qū)動(dòng)電路采用L9110芯片設(shè)計(jì),測速電路采用槽形光耦傳感器設(shè)計(jì),而無線傳輸電路則采用nRF24L01無線收發(fā)射頻芯片來設(shè)計(jì)。系統(tǒng)整體工作流程如圖1所示。

2.2 直流電機(jī)調(diào)速原理及其電路設(shè)計(jì)

直流電機(jī)可以通過改變其兩端電壓大小來控制其速度,電壓越大轉(zhuǎn)速越快,反之越慢,直流電機(jī)的速度調(diào)節(jié)可通過PWM原理來實(shí)現(xiàn)。PWM中文全程叫脈沖寬度調(diào)制,即占空比可調(diào)的脈沖波形,利用PWM實(shí)現(xiàn)直流電機(jī)調(diào)速的原理為:給直流電機(jī)傳送一定頻率的脈沖信號,通過微控制器對此脈沖信號的占空比進(jìn)行控制,來間接控制直流電機(jī)兩端的電壓,從而控制電機(jī)的轉(zhuǎn)速,起到電機(jī)調(diào)速的功能。

本文所介紹的系統(tǒng)采用L9110芯片來搭建直流電機(jī)的驅(qū)動(dòng)電路,L9110是為控制和驅(qū)動(dòng)電機(jī)設(shè)計(jì)的兩通道推挽式功率放大專用集成電路器件,將分立電路集成在單片IC之中,使外圍器件成本降低,整機(jī)可靠性提高,其各管腳定義與功能如圖2所示,輸入輸出管腳邏輯關(guān)系如表1所示。L9110被廣泛應(yīng)用于玩具汽車電機(jī)驅(qū)動(dòng)、脈沖電磁閥門驅(qū)動(dòng),步進(jìn)電機(jī)驅(qū)動(dòng)和開關(guān)功率管等電路上。P1.5和P1.6都是51單片機(jī)的兩個(gè)I/O口,將這兩個(gè)I/O口分別連接到L9110芯片的兩個(gè)輸入端上,P1.5口恒定輸出低電平,P1.6口則輸出PWM信號,同時(shí)在L9110芯片的輸出端接上直流電機(jī),這樣就組成了一個(gè)直流電機(jī)驅(qū)動(dòng)電路。通過對單片機(jī)P1.6口輸出的PWM信號進(jìn)行控制,即可實(shí)現(xiàn)直流電機(jī)調(diào)速。值得注意的是,在VCC與GND之間需加一個(gè)4.7μF的電容,起電源電壓濾波和防止電機(jī)抖動(dòng)的作用。

2.3 直流電機(jī)測速原理及其電路設(shè)計(jì)

直流電機(jī)的測速是通過槽形光耦傳感器來實(shí)現(xiàn)的,其電路圖如圖3所示。槽形光耦傳感器的工作原理為:槽兩端分別是光發(fā)射器和光接收器,當(dāng)有物體從槽中通過時(shí),光被遮擋,光電開關(guān)便動(dòng)作,輸出一個(gè)開關(guān)控制信號,切斷或接通負(fù)載電流,從而完成一次控制動(dòng)作。簡而言之就是當(dāng)無物體遮擋時(shí),傳感器OUT端恒定輸出高電平,而當(dāng)有物體遮擋時(shí),OUT端輸出低電平。

利用槽形光耦傳感器的工作原理,可以把傳感器OUT端連接到STC89C52單片機(jī)的P3.4口。P3.4這個(gè)I/O口有兩個(gè)功能,一個(gè)是做普通的輸入輸出口用,另一個(gè)則是作為TO定時(shí)器/計(jì)數(shù)器用,此處需要用到P3.4口的T0計(jì)數(shù)器功能。51單片機(jī)當(dāng)中有一個(gè)8位寄存器TMOD是用來控制定時(shí)器/計(jì)數(shù)器的工作方式的,TMOD各位的定義如表2所示,D7-D4是用來控制T1定時(shí)器/計(jì)數(shù)器的,D3-D1則是用來控制T0定時(shí)器/計(jì)數(shù)器的。當(dāng)時(shí),T0或T1為計(jì)數(shù)器模式,可記錄低電平數(shù)目,當(dāng)時(shí),T0或T1為定時(shí)器模式。當(dāng)T0處以計(jì)數(shù)器模式時(shí),計(jì)數(shù)值每滿65536次,T0產(chǎn)生一次中斷,計(jì)數(shù)值清零。利用上述原理,可以很輕松的完成直流電機(jī)的測速工作。在直流電機(jī)上安裝上碼盤,讓碼盤的位置放在槽形光耦傳感器的凹槽處,利用碼盤上的過孔,每當(dāng)直流電機(jī)轉(zhuǎn)動(dòng)并帶動(dòng)碼盤一起轉(zhuǎn)動(dòng)的時(shí)候,槽形光耦傳感器會存在“導(dǎo)通”和“遮擋”兩種狀態(tài),此時(shí)在傳感器的OUT端就會輸出連續(xù)的由高低電平組成的方波,T0在就會記錄下方波中的低電平的數(shù)目。利用STC89C52單片機(jī),在規(guī)定的一段時(shí)間內(nèi),對T0記錄下的低電平數(shù)目進(jìn)行換算:(低電平數(shù)目/碼盤一圈的過孔數(shù)目)/記錄時(shí)間(秒),即可得出當(dāng)前直流電機(jī)的轉(zhuǎn)速了。

2.4 無線模塊nRF24L01傳輸原理及其電路設(shè)計(jì)

本系統(tǒng)采用一款由挪威Nordic公司生產(chǎn)的nRF24L01無線收發(fā)射頻模塊來傳輸直流電機(jī)速度值。該模塊工作在2.4—2.5GHz世界通用ISM頻段,其無線收發(fā)芯片中含有頻率發(fā)生器、增強(qiáng)型SchockBurstTM模式控制器、功率放大器、晶體振蕩器、調(diào)制器和解調(diào)器,輸出功率、頻道選擇和協(xié)議設(shè)置可以通過SPI接口進(jìn)行設(shè)置。由于本系統(tǒng)采用的主控芯片STC89C52RC中沒有SPI接口,可使用普通I/O口來模擬SPI接口進(jìn)而對nRF24L01模塊進(jìn)行控制,如圖4所示,CSN為SPI片選信號口,SCK為SPI時(shí)鐘口,MOSI為SPI的數(shù)據(jù)輸入口,MISO為SPI的數(shù)據(jù)輸出口,通過STC89C52RC的P3.7、P2.3、P2.0和P2.2這四個(gè)普通I/O口可以進(jìn)行對SPI接口的模擬,當(dāng)然,選用STC89C52RC的其他I/O口也是可以模擬的。nRF24L01有五種工作模式,分別是掉電模式、發(fā)射模式、接收模式、等待模式1和等待模式2??赏ㄟ^SPI接口配置nRF24L01寄存器中的PWM_UP位和PRIM_RX位,以及控制CE腳的電平高低來對其工作模式進(jìn)行設(shè)置,如表3所示。本系統(tǒng)只用到發(fā)送模式。

需要注意的是,nRF24L01支持的最大工作電壓為3.6V,而51單片機(jī)的工作電壓為5V,因此不能直接將nRF24L01無線模塊的VCC端直接與51單片機(jī)的VCC相連,需要用過轉(zhuǎn)換。如圖4所示,利用AMS1117-3.3V芯片可將5V轉(zhuǎn)為3.3V,供nRF24L01無線模塊使用,在AMS1117-3.3V芯片的VIN端和VOUT端加上100μF的電容起穩(wěn)壓和濾除雜波的作用。

3 系統(tǒng)軟件設(shè)計(jì)(System software design)

3.1 下位機(jī)程序設(shè)計(jì)

下位機(jī)程序可采用C語言或者匯編語言開發(fā)。但是相比于匯編語言而言,用C語言開發(fā)可以擁有更高的開發(fā)效率,而且C語言更接近于自然語言,方便閱讀和后期維護(hù),因此本系統(tǒng)的下位機(jī)程序是采用C語言來開發(fā)的。

下位機(jī)程序的開發(fā)可以遵循分塊編程的思想,即將每個(gè)單獨(dú)的模塊或者功能單拎出來開發(fā),最后在把它們整合在一起組成一個(gè)完成的下位機(jī)程序。本系統(tǒng)有主要有LCD1602顯示模塊、直流電機(jī)控制模塊和nRF24L01無線傳輸模塊這三大模塊,除此之外還用到一個(gè)51單片機(jī)內(nèi)部的一個(gè)重要資源——中斷。因此下位機(jī)程序開發(fā)可分為四大部分:LCD1602顯示程序開發(fā)、直流電機(jī)控制程序開發(fā)、nRF24L01無線傳輸程序開發(fā)和中斷程序開發(fā)。

其中,定時(shí)器中斷程序如下:

void T1_time(void) interrupt 3

{

TR1=0;

TH1=(65536-50000)/256;

TL1=(65536-50000)%256;

T1_num++;

if(T1_num>=20)

{

speed_num=TL0;

TH0=0;

TL0=0;

T1_num=0;

}

TR1=1;

}

3.2 上位機(jī)軟件設(shè)計(jì)

上位機(jī)軟件是采用VB程序開發(fā)的,使用Microsoft公司推出的Visual Basic 6.0開發(fā)工具進(jìn)行開發(fā)。要讓下位機(jī)與上位機(jī)進(jìn)行通信,離不開一個(gè)重要的通信方式——串口通信。本上位機(jī)軟件的核心功能就是串口通信功能。

Visual Basic 6.0開發(fā)工具中有一個(gè)名為MSComm的控件可以實(shí)現(xiàn)串口通信。MSComm控件中有幾個(gè)比較重要的屬性,對這些屬性進(jìn)行設(shè)置可以控制數(shù)據(jù)的傳輸,屬性如下:

(1)CommPort屬性:設(shè)置并返回連接的串行端口號,Windows系統(tǒng)將會利用該串口端口和外界進(jìn)行通信。

(2)Settings屬性:設(shè)置并返回?cái)?shù)據(jù)傳輸速率、奇偶校驗(yàn)、數(shù)據(jù)比特、停止比特參數(shù)。

(3)PortOpen屬性:用于打開或者關(guān)閉端口。

(4)InBufferCount屬性:返回輸入緩沖區(qū)內(nèi)的等待讀取的字節(jié)個(gè)數(shù),可以通過該屬性值為0來清除接收緩沖區(qū)。

(5)InputMode屬性:設(shè)置為ComInputModeText或0即以文本方式取回?cái)?shù)據(jù),設(shè)置為ComInputModeBinary或1即以二進(jìn)制方式取回?cái)?shù)據(jù)。

4 實(shí)驗(yàn)驗(yàn)證(Experimental verification)

為上述系統(tǒng)設(shè)計(jì)的可靠性進(jìn)行驗(yàn)證。給系統(tǒng)上電,調(diào)整電機(jī)以中速轉(zhuǎn)動(dòng),讓其與PC保持30米左右間距,并在它們之間放置遮擋物;同時(shí),打開PC上位機(jī)與對應(yīng)串口。此時(shí)可見上位機(jī)的接收界面正實(shí)時(shí)接收顯示由系統(tǒng)傳送過來的當(dāng)前電

機(jī)轉(zhuǎn)速,如圖5所示。除此之外,還讓電機(jī)處于高速和低速狀態(tài),并按上述要求進(jìn)行多次實(shí)驗(yàn)。實(shí)驗(yàn)證明,此系統(tǒng)在30米內(nèi)有遮擋物的環(huán)境下仍能有效地接受數(shù)據(jù),具有很高的可靠性。

5 結(jié)論(Conclusion)

針對工業(yè)生產(chǎn)中在旋轉(zhuǎn)設(shè)備中轉(zhuǎn)速控制和轉(zhuǎn)速采集上的需求,本文提出了一款基于51單片機(jī)和無線傳輸?shù)闹绷麟姍C(jī)調(diào)速測速系統(tǒng)的設(shè)計(jì)方案。該系統(tǒng)運(yùn)行可靠穩(wěn)定、成本低且易于實(shí)現(xiàn),能夠滿足工業(yè)生產(chǎn)中對電機(jī)測速的需求,且利用nRF24L01模塊實(shí)現(xiàn)了信息的無線傳輸,擺脫了有線傳輸帶來的局限性,大大提高了系統(tǒng)的靈活性。基于以上的各種優(yōu)點(diǎn),該系統(tǒng)可投入到實(shí)際生產(chǎn)應(yīng)用中去,具有一定的實(shí)用價(jià)值和推廣價(jià)值。

參考文獻(xiàn)(References)

[1] 李健,周建.直流電機(jī)調(diào)速和測速系統(tǒng)設(shè)計(jì)[J].儀器儀表用戶,2016,23(08):28-29;65.

[2] 尹冬梅.基于單片機(jī)控制的直流電機(jī)調(diào)速測速系統(tǒng)[J].科技風(fēng),2011(14):29-30.

[3] 時(shí)志云,蓋建平,王代華,等.新型高速無線射頻器件nRF24L01及其應(yīng)用[J].國外電子元器件,2007(08):42-44.

[4] 王天嬌.基于nRF24L01的高效無線傳輸系統(tǒng)設(shè)計(jì)[A].中國高科技產(chǎn)業(yè)化研究會智能信息處理產(chǎn)業(yè)化分會、中國高科技產(chǎn)業(yè)化研究會信號處理專家委員會.第十一屆全國信號和智能信息處理與應(yīng)用學(xué)術(shù)會議??痆C].中國高科技產(chǎn)業(yè)化研究會智能信息處理產(chǎn)業(yè)化分會、中國高科技產(chǎn)業(yè)化研究會信號處理專家委員會,2017:7.

[5] 徐靈均,李志宏.基于串口通信的控制系統(tǒng)設(shè)計(jì)[J].電子技術(shù)與軟件工程,2017(15):48.

作者簡介:

陳庭偉(1997-),男,本科生.研究領(lǐng)域:電子信息工程.

林藝帆(1997-),女,本科生.研究領(lǐng)域:信息管理與信息系統(tǒng).

劉 巧(1980-),女,碩士,講師.研究領(lǐng)域:嵌入式自動(dòng)控制.

猜你喜歡
串口通信
基于Android的電解質(zhì)分析儀設(shè)計(jì)與實(shí)現(xiàn)
基于Qt和Flash的嵌入式Linux軟件架構(gòu)設(shè)計(jì)
串口通信在智能家居監(jiān)控系統(tǒng)中的應(yīng)用
基于Python實(shí)現(xiàn)設(shè)備控制臺的集中控制和管理
基于OpenCV的室內(nèi)照明智能控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
科技視界(2016年13期)2016-06-13 22:01:19
基于Qt5的MODBUS協(xié)議編程與實(shí)現(xiàn)
基于MSP430單片機(jī)的窄帶無線數(shù)據(jù)傳輸模塊的設(shè)計(jì)
便攜式數(shù)傳電臺測試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
基于MFC的AUV多傳感器數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)及測試
基于LabVIEW的溫度測量系統(tǒng)設(shè)計(jì)
辛集市| 宜城市| 托克托县| 南充市| 漳浦县| 大方县| 涟源市| 襄垣县| 剑川县| 蛟河市| 界首市| 容城县| 苍南县| 平顶山市| 余干县| 龙游县| 巴南区| 汉源县| 汶川县| 田阳县| 东方市| 章丘市| 太康县| 安远县| 广德县| 同仁县| 恭城| 泸西县| 江西省| 宜春市| 太谷县| 巴里| 遂宁市| 台安县| 文山县| 西乌珠穆沁旗| 图片| 鹤岗市| 克东县| 吉木萨尔县| 姜堰市|