在實(shí)際的工業(yè)位置控制領(lǐng)域中,為了提高控制精度,,準(zhǔn)確地對控制對象進(jìn)行檢測是十分重要的,。傳統(tǒng)的機(jī)械測量位移裝置已遠(yuǎn)遠(yuǎn)不能滿足現(xiàn)代生產(chǎn)的需要,,而數(shù)字式傳感器光電編碼" title="光電編碼">光電編碼器,能將角位移量轉(zhuǎn)換為與之對應(yīng)的電脈沖輸出, 主要用于機(jī)械位置和旋轉(zhuǎn)速度的檢測,具有精度高,,體積小等特點(diǎn),,因此決定采用光電編碼器進(jìn)行位移檢測。
美國TI公司推出的MSP430系列16位單片機(jī),,具有低功耗,運(yùn)行速度快等優(yōu)點(diǎn),,正日益得到廣泛的應(yīng)用,。本文將高精度MSP430單片機(jī)應(yīng)用在系統(tǒng)中,作為整個系統(tǒng)的控制器,,整個系統(tǒng)結(jié)構(gòu)簡單,,抗干擾性強(qiáng),滿足了鋼鐵廠的生產(chǎn)要求。
1,、光電編碼器原理
光電編碼器是集光,、機(jī)、電技術(shù)于一體的數(shù)字化傳感器,,其基本原理就是在特制的碼盤上按一定規(guī)律編排光柵圖案,,將這些圖案用光電頭讀取,轉(zhuǎn)變?yōu)楦叩陀行蚺帕械碾娖叫盘?。光電編碼器輸出信號為A , B , Z 3 個信號,其中A , B 為相位差90°的方波信號, Z 為過零脈沖信號,。如圖1所示,光電編碼器每旋轉(zhuǎn)一周,A,、B 相輸出同樣數(shù)量的脈沖, Z相輸出一個脈沖,,脈沖的個數(shù)和電機(jī)旋轉(zhuǎn)角度,電機(jī)的運(yùn)行距離成正比關(guān)系,,因此通過計(jì)算脈沖數(shù)就能計(jì)算出電機(jī)在實(shí)際運(yùn)行中所運(yùn)行的距離,。
A相、B相都是光電編碼器產(chǎn)生的,,這兩個信號的前沿和后沿都對應(yīng)著光電碼盤的1/4節(jié)距的信息,。因此在實(shí)際中為了提高光電編碼器的定位精度通常采用四倍頻方法進(jìn)行處理。鑒相就是通過分析圖1的A相,,B相信號,,得出電機(jī)的旋轉(zhuǎn)方向。如果A相脈沖超前B相90,,說明電機(jī)正轉(zhuǎn),,如果B相脈沖超前A相脈沖90,說明電機(jī)反轉(zhuǎn),。本系統(tǒng)設(shè)計(jì)了一種四倍頻電路,,其原理圖如圖2所示,,相應(yīng)的時序圖如圖3所示。由時序圖3可以看出,,A和B信號經(jīng)四倍頻電路后,,輸出信號為XA,XB兩個信號,,在同一時刻,,XA,XB只有一個是脈沖信號,,另一個是高電平,。因此,將XA,,XB兩個信號連接到單片機(jī)相應(yīng)的端口上,,對這兩個信號分別進(jìn)行判斷、計(jì)數(shù)和計(jì)算,,就可以得出相應(yīng)的電機(jī)轉(zhuǎn)向和位移量,。
2、系統(tǒng)功能
系統(tǒng)框圖見圖4,。整個系統(tǒng)主要由差動隔離整形,,倍頻電路,鑒相計(jì)數(shù)模塊,,主控芯片,,通訊模塊,數(shù)顯模塊組成,。光電編碼器選用SIEMENS公司的1XP8001-1型號,,輸出電壓為5V。從光電碼盤輸出的A,,B,,A-,B-經(jīng)過差動隔離整形模塊后能減少現(xiàn)場對信號產(chǎn)生的干擾,尤其是共模干擾,,處理后的信號經(jīng)四倍頻電路后連到主控芯片,,對脈沖進(jìn)行計(jì)數(shù),處理,,計(jì)算,,得到被控對象的位移結(jié)果。位移結(jié)果一方面送數(shù)顯表顯示,,另一方面可通過串口將位移結(jié)果送到上位機(jī),,便于在上位機(jī)中進(jìn)行統(tǒng)計(jì),打印,綜合分析,。
3,、系統(tǒng)硬件組成
3.1 、主控芯片及外圍電路
主控芯片我們采用MSP430F149" title="MSP430F149">MSP430F149單片機(jī),,它具有處理能力強(qiáng),,運(yùn)行速度快,功耗低等特點(diǎn),; 整個系統(tǒng)采用3.3V供電,,本設(shè)計(jì)電源部分采用TI公司的TPS76033芯片實(shí)現(xiàn),該芯片能很好的滿足系統(tǒng)的要求,,另外TPS76033芯片的封裝很小,,又能節(jié)約PCB板面積。
復(fù)位電路采用MAX809STR芯片,,復(fù)位電路可以采用R-C復(fù)位電路,但是使用復(fù)位芯要比使用R-C復(fù)位電路的可靠性高,,因此我們就采用MAX809STR芯片來實(shí)現(xiàn)系統(tǒng)的復(fù)位,。
數(shù)顯電路采用LED顯示方式,MSP430具有豐富的I/O口資源,,采用并行方式與LED連接非常方便,,這種方式既能滿足現(xiàn)場的要求,又可以降低系統(tǒng)成本,。在單片機(jī)與數(shù)碼顯示連接時選擇P4.0~P4.7引腳用來輸出顯示數(shù)據(jù),,P2.1,P2.2,P2.3,P2.4引腳用來控制數(shù)碼管的選通狀態(tài),。
3.2 ,、16位計(jì)數(shù)器
本次設(shè)計(jì)采用MSP430F149提供的計(jì)數(shù)器對倍頻后的XA,XB信號進(jìn)行計(jì)數(shù)。MSP430F149提供了兩個16位的計(jì)數(shù)器,,分別是Timer_A,Timer_B,,這是兩個用途非常廣泛的16位計(jì)數(shù)器,在設(shè)計(jì)中使用Timer_A計(jì)數(shù)器進(jìn)行計(jì)數(shù),,將XA和XB兩個信號相或后與Timer_A相連,,即XA和XB相或后與P1.0引腳相連。無論電機(jī)正轉(zhuǎn)還是反轉(zhuǎn),,計(jì)數(shù)器引腳上都有脈沖信號,,都可進(jìn)行計(jì)數(shù)。為了判斷電機(jī)的旋轉(zhuǎn),,使用計(jì)數(shù)器的捕獲模塊對XA和XB信號進(jìn)行方向判斷,,Timer_A計(jì)數(shù)器中提供有3個捕獲模塊,均可以滿足系統(tǒng)的需要。編碼器四倍頻電路輸出的XA信號與捕獲模塊1相連,,XB與捕獲模塊2相連,,即XA信號同時與P1.2引腳相連,XB信號同時與P1.3引腳相連,。捕獲模塊捕獲XA和XB信號的上升沿,,通過程序的判斷就可以判斷出電機(jī)的旋轉(zhuǎn)方向。
3.3,、 串行模塊
MSP430單片機(jī)使用RS-485協(xié)議與上位機(jī)進(jìn)行通訊,, RS-485改進(jìn)了RS-232的缺點(diǎn),傳輸速率可達(dá)到10MB/S,傳輸距離達(dá)1200米,。由于MSP430輸出的是TTL電平,,而RS-485串口卡是485電平,因此需進(jìn)行電平轉(zhuǎn)換,。本系統(tǒng)采用MAX485芯片實(shí)現(xiàn)TTL電平與485電平之間的轉(zhuǎn)換,。硬件連接使用USART0串口,即連接時使用P3.4,P3.5引腳與MAX485的相應(yīng)引腳相連,。
4,、系統(tǒng)軟件實(shí)現(xiàn)
系統(tǒng)采用C語言進(jìn)行程序設(shè)計(jì),大大提高了開發(fā)調(diào)試的工作效率,。整個系統(tǒng)程序包括主程序,,鑒相計(jì)數(shù)程序,顯示子程序,,串行通訊程序幾個模塊組成,。程序流程圖見圖5。
主程序主要包括系統(tǒng)的初始化:對串口,,計(jì)數(shù)器等硬件的初始化:計(jì)數(shù)值的讀取,、處理、計(jì)算:調(diào)用顯示子程序,,用于數(shù)據(jù)的顯示,。
鑒相計(jì)數(shù)程序主要用于電機(jī)方向的判斷和計(jì)數(shù)脈沖值的處理。系統(tǒng)中電機(jī)方向的判斷是靠計(jì)數(shù)器中的捕獲模塊捕獲XA,XB信號來實(shí)現(xiàn)的,。在程序中,,設(shè)計(jì)一個寄存器保存電機(jī)的方向,當(dāng)電機(jī)正轉(zhuǎn)時,,捕獲模塊捕獲XA信號有效,,在中斷服務(wù)程序中將電機(jī)方向設(shè)為正轉(zhuǎn)標(biāo)志。反之亦然,,當(dāng)電機(jī)反轉(zhuǎn)時,,捕獲XB有效,將電機(jī)方向設(shè)為反轉(zhuǎn)標(biāo)志。在主程序中只需根據(jù)寄存器的值,,就可知道電機(jī)的旋轉(zhuǎn)方向,。為了防止計(jì)數(shù)器中正轉(zhuǎn),反轉(zhuǎn)的計(jì)數(shù)值發(fā)生混亂,,每次捕獲發(fā)生時,,在中斷服務(wù)程序中都將計(jì)數(shù)器清零,重新計(jì)數(shù),,保證了電機(jī)換向后數(shù)據(jù)的準(zhǔn)確性,。
串行通訊模塊用于實(shí)現(xiàn)上位PC機(jī)與單片機(jī)之間的數(shù)據(jù)傳送。單片機(jī)可根據(jù)上位機(jī)的需要,,將處理后的計(jì)數(shù)值上傳給上位機(jī),,用于統(tǒng)計(jì),打印等,。系統(tǒng)采用中斷方式進(jìn)行數(shù)據(jù)傳遞,,在接受中斷服務(wù)程序中得到接受的上位機(jī)指令后,單片機(jī)就可將計(jì)數(shù)脈沖值,,電機(jī)旋轉(zhuǎn)方向等數(shù)據(jù)通過發(fā)送端口向上位機(jī)發(fā)送,。串行通訊采用中斷方式可大大節(jié)省CPU資源,從而保證了系統(tǒng)的高速度,,高可靠性。
5,、本文創(chuàng)新點(diǎn)
本文充分利用MSP430單片機(jī)軟硬件的優(yōu)點(diǎn),,簡化了外圍模塊的設(shè)計(jì),大大提升了系統(tǒng)的可靠性和穩(wěn)定性,。本設(shè)計(jì)系統(tǒng)在實(shí)際自動控制領(lǐng)域的運(yùn)行中,,系統(tǒng)工作穩(wěn)定,收到了良好的效果,,具有很好的實(shí)用價值,。