基于LabVIEW的電機(jī)轉(zhuǎn)速監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)
3 系統(tǒng)硬件電路的設(shè)計(jì)
3.1 STC12C5410AD單片機(jī)簡介
STC12C5410AD單片機(jī)是一款單時(shí)鐘/機(jī)器周期的微控制器,是高速/低功耗/超強(qiáng)抗干擾的新一代8051單片機(jī),指令代碼完全兼容傳統(tǒng)的8051,但速度快8~12倍。其片上集成了10 kB的程序存儲(chǔ)器Flash、512 Byte的SBAM,有1個(gè)可編程的異步串行UART接口,1個(gè)可工作于主從模式的SPI串行接口,共2路16位的定時(shí)器/計(jì)數(shù)器,2路外部中斷,8路10位的高速A/D轉(zhuǎn)換器,速度可達(dá)100 kHz,集成了4路可編程計(jì)數(shù)器陣列(Programmable Counter Array,PAC),簡稱PCA,可用于軟件定時(shí)器、外部脈沖的捕獲、高速輸出及脈寬調(diào)制輸出。
3.2 編碼器脈沖信號(hào)調(diào)理電路
信號(hào)調(diào)理電路主要包括:光電隔離電路、施密特整形電路和RC濾波電路。光電隔離采用快速光耦A(yù)2630芯片,完成電平的轉(zhuǎn)換,同時(shí)對(duì)編碼器信號(hào)和單片機(jī)電路進(jìn)行隔離,起到一定的保護(hù)作用。最大輸入頻率為1 MHz,而編碼器的最低位輸出脈沖頻率為26 kHz,因此完全滿足實(shí)驗(yàn)要求;施密特整形電路采用六反相施密特觸發(fā)器74HC14,可將邊沿變化緩慢的周期性信號(hào)變換為邊沿較陡的矩形脈沖信號(hào);RC濾波電路主要用于消除矩形脈沖上的高頻干擾信號(hào)。
3.3 串行接口通信電路
系統(tǒng)采用STC12C5410AD單片機(jī)作為下位機(jī),PC機(jī)作為上位機(jī),二者通過RS-232串口進(jìn)行通信。單片機(jī)輸出的TTL電平與PC機(jī)串口的RS-232電平不一致,因此需采用MAX232芯片進(jìn)行電平轉(zhuǎn)換,Tin和Rout輸入的是TTL電平,經(jīng)過轉(zhuǎn)化后Tout和Rin輸出為RS-232電平。
系統(tǒng)硬件總體電路如圖3所示。本文引用地址:http://www.ex-cimer.com/article/170505.htm
系統(tǒng)軟件設(shè)計(jì)包括下位機(jī)單片機(jī)的軟件設(shè)計(jì)和上位機(jī)LabVIEW的軟件設(shè)計(jì)。
4 系統(tǒng)軟件設(shè)計(jì)
4.1 單片機(jī)的軟件設(shè)計(jì)
下位機(jī)程序采用C語言編寫,主要完成脈沖信號(hào)捕獲、轉(zhuǎn)速計(jì)算和上下位機(jī)串口通信。程序中首先進(jìn)行系統(tǒng)的初始化,包括串口初始化和PCA初始化。在串口初始化中,給寄存器TMOD賦值0x20,將設(shè)定T1定時(shí)器工作在方式2,用定時(shí)器T1產(chǎn)生波特率,將波特率設(shè)置為115 200;給寄存器SCON賦值0x50使串口工作在方式1下,為10位數(shù)據(jù)的異步通訊,1起始位,8數(shù)據(jù)位,1停止位,無奇偶校驗(yàn)位。STC12C5410AD單片機(jī)有4路PCA模塊,這里用到PCA模塊0,在PCA初始化中,PCA模式寄存器CMOD賦值0x02,選擇PCA時(shí)鐘源為系統(tǒng)時(shí)鐘的2分頻;PCA控制寄存器CCON賦值0x00,關(guān)閉PCA計(jì)數(shù)器并清除中斷標(biāo)志位;PCA模塊0模式寄存器CCAPM0賦值0x21,設(shè)置PCA0脈沖上升沿捕獲,并使得寄存器CCON的捕獲標(biāo)志CCF0,用來產(chǎn)生中斷;PCA0的16位計(jì)數(shù)器CH0和CLO分別賦值0x00,用于存儲(chǔ)時(shí)鐘脈沖計(jì)數(shù)值。當(dāng)單片機(jī)檢測(cè)到脈沖信號(hào)上升沿時(shí),進(jìn)入PCA0捕獲中斷,得到PCA0時(shí)鐘脈沖的計(jì)數(shù)值,并判斷計(jì)數(shù)值m是否溢出,再利用式(2)進(jìn)行電機(jī)轉(zhuǎn)速的計(jì)算,最后調(diào)用串口發(fā)送程序?qū)?shù)據(jù)傳送到上位機(jī)。單片機(jī)軟件流程圖如圖4所示。
評(píng)論