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

基于LPC2136單片機的光電編碼仿真接口設計

2015-05-29 12:26:23鄭均輝甘泉
現(xiàn)代電子技術 2015年10期

鄭均輝++甘泉

摘 要: 在低速狀態(tài)下經(jīng)LPC2136普通單片機利用UART通信技術,通過對光電編碼器的正交信號分析,來模擬正交編碼器的硬件設計與軟件設計,實現(xiàn)對電機轉(zhuǎn)向及精確定位的數(shù)字化顯示,為編碼器應用在低速的自動智能控制領域提供了一個很好的解決方案。測試證實該設計對光電編碼器的計數(shù)與標準記測器的計數(shù)值在低速旋轉(zhuǎn)條件下非常準確。

關鍵詞: 光電編碼; LPC2136; 接口設計; UART通信技術

中圖分類號: TN710?34 文獻標識碼: A 文章編號: 1004?373X(2015)10?0042?03

0 引 言

在工業(yè)控制精度要求相對較高的領域,比如發(fā)動機的轉(zhuǎn)速測量控制等自動化控制應用中,通常需要用正交編碼器對各種位移、速度、角度等進行精確測量[1]。目前,在一些高級ARM處理器中,如Cortex?M3內(nèi)核的STM32F系列、周立功的LM3S601/608微控制器[2]等已經(jīng)集成了編碼器接口。但是在實際工作中出于成本的考慮,需要使用價格比較低的微控制器,而它們的缺陷是沒有編碼器接口,因此就需要通過常規(guī)的控制器來仿真編碼器接口以滿足應用需求。

本文以NXP公司的LPC2136處理器為對象,研究其在低速轉(zhuǎn)動中模擬光電編碼器接口顯示編碼器正反轉(zhuǎn),記錄轉(zhuǎn)動圈數(shù),對其轉(zhuǎn)動定位進行標注,然后完成對JVH?10BM?E5光電編碼器的精確控制,將獲得的數(shù)據(jù)進行分析處理后通過GPIO模擬SPI方式發(fā)送到7段碼顯示,得到準確直觀的數(shù)字化顯示結(jié)果,同時通過UART口把數(shù)據(jù)送到PC在串口助手顯示。

1 光電編碼器簡介

編碼器(Encoder)作為傳感產(chǎn)品的一大重要分支[3],能將信號或數(shù)據(jù)編制并轉(zhuǎn)換為可用以通信、傳輸和存儲之形式的設備。編碼器最重要的應用就是定位,目前其已經(jīng)越來越廣泛地被應用于各種工控場合[4]。如機床工具、航空航天、鐵道交通、新能源及港口機械等行業(yè),都在使用著大量的編碼器產(chǎn)品[5]。而光電編碼器,是一種通過光電轉(zhuǎn)換將輸出軸上的機械幾何位移量轉(zhuǎn)換成脈沖或數(shù)字量的傳感器。這是目前應用最多的傳感器,光電編碼器是由光柵盤和光電檢測裝置組成。光柵盤是在一定直徑的圓板上等分地開通若干個長方形孔[6]。由于光電碼盤與電動機同軸,電動機旋轉(zhuǎn)時,光柵盤與電動機同速旋轉(zhuǎn),經(jīng)發(fā)光二極管等電子元件組成的檢測裝置檢測輸出若干脈沖信號。光電編碼器的正反轉(zhuǎn)判斷信號如圖1所示。A、B兩相信號是相差[14]周期,如果A提前[B 14]周期則表明順時針旋轉(zhuǎn),若B提前[A 14]周期則表明逆時針旋轉(zhuǎn)。

2 硬件系統(tǒng)設計

LPC2136微控制器是一個基于支持實時仿真和嵌入式跟蹤的16/32 位ARM7TDMI?S CPU,帶有256 KB嵌入的高速FLASH存儲器。其內(nèi)部具有2個32位可編程定時/計數(shù)器,均具有4路捕獲、4路比較匹配并輸出電路。定時器對外設時鐘(Pclk)周期進行計數(shù),可選擇產(chǎn)生中斷或根據(jù)4個匹配寄存器的設定,在到達指定的定時值時執(zhí)行其他動作(輸出高/底電平、反轉(zhuǎn)或者無動作)。4個捕獲輸入,用于在輸入信號發(fā)生跳變時捕獲定時器值并產(chǎn)生中斷。

圖1 光電編碼器信號示意圖

本設計采用型號為JVH?10BM?E5的光電編碼器,有A、B、Z三條信號線,在它內(nèi)部光柵盤共有100個柵格,即每旋轉(zhuǎn)3.6°就能發(fā)出一個沿變信號。硬件電路中使用了LPC2136中的P0.16,P0.17,P0.18引腳分別連接光電編碼器的信號線A,B,Z。使用其GPIO口P0.2,P0.3,P0.4來模擬SPI總線對數(shù)碼管的數(shù)據(jù)傳輸顯示,各個數(shù)碼管之間共陰極顯示,通過P0.6~P0.13控制數(shù)碼管段位,用74HC595模擬SPI來選通控制哪一個顯示。硬件系統(tǒng)原理如圖2所示。

圖2 硬件系統(tǒng)原理框架

設計使用12 MHz外部晶振,通過LPC2136定時器1的捕獲功能來獲取光電編碼器信號A,Z的信號,通過配置P0.10的CAP1.0通過捕獲A信號的下降沿從而產(chǎn)生中斷。光電編碼器在正向旋轉(zhuǎn)時,信號A的波形比信號B的波形提前90°。通過對A,B信號序列研究發(fā)現(xiàn),當在信號A下降沿到來那一刻,如果信號B是高電平,則能判斷光電編碼器是在順時針旋轉(zhuǎn),反之,則能判斷光電編碼器是逆時針旋轉(zhuǎn)。因此,把LPC2136的P0.17設置成GPIO的輸入模式連接光電編碼器的信號B端,通過檢測信號A下降沿產(chǎn)生中斷的那一刻信號B的高低電平就能判斷出編碼器的正反轉(zhuǎn),通過4個數(shù)碼管與上位機同步顯示。

數(shù)碼管顯示時使用SPI接口的串行時鐘線(SCK)、主機輸入/從機輸出數(shù)據(jù)線MISO、主機輸出/從機輸入數(shù)據(jù)線MOSI等3條線來發(fā)送數(shù)據(jù)給74HC595使其不斷刷新,刷新頻率小于24 Hz的時候會使人感覺發(fā)光閃爍,因此,刷新每個數(shù)碼管的時間間隔不能大于10 ms,刷新頻率越高顯示亮度越大。

UART是一種通用串行數(shù)據(jù)總線,一般使用3條線,GND、RxD和TxD用于異步通信。該總線雙向通信,可以實現(xiàn)全雙工傳輸和接收。在本次嵌入式設計中,UART0用來與PC進行通信,波特率設為9 600 b/s,8個數(shù)據(jù)位,1個停止位。UART首先將接收到的并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù)來傳輸。消息幀從一個低位起始位開始,后面是7個或8個數(shù)據(jù)位,一個可用的奇偶位和一個或幾個高位停止位。接收器發(fā)現(xiàn)開始位時它就知道數(shù)據(jù)準備發(fā)送,并嘗試與發(fā)送器時鐘頻率同步。如果選擇了奇偶,UART就在數(shù)據(jù)位后面加上奇偶位。奇偶位可用來幫助錯誤校驗。在接收過程中,UART從消息幀中去掉起始位和結(jié)束位,對進來的字節(jié)進行奇偶校驗,并將數(shù)據(jù)字節(jié)從串行轉(zhuǎn)換成并行。UART也產(chǎn)生額外的信號來指示發(fā)送和接收的狀態(tài)。

3 軟件系統(tǒng)設計

設計使用ADS1.2開發(fā)環(huán)境,EasyJtag在線調(diào)試下載工具,使用串口助手來接收LPC2136發(fā)送過來的編碼器數(shù)據(jù)。首先對LPC2136進行初始化,配置I/O口P0.17、P0.18引腳為數(shù)據(jù)輸入, 配置UART0波特率為9 600 b/s,采用查詢方式來獲取接收或發(fā)送完成時狀態(tài)。定時器1的P0.10為下降沿捕獲端口。模擬SPI時定義P0.2為CLK時鐘信號,P0.3為DATA數(shù)據(jù)信號,發(fā)送1 B數(shù)據(jù)循環(huán)8次,P0.4 LATCH鎖存信號,等接收到8位數(shù)據(jù)后通過鎖存信號不斷復位或置位進行位接收字節(jié)接收發(fā)送,通過不斷掃描來點亮數(shù)碼管。在使用I/O模擬SPI時序發(fā)送數(shù)據(jù)時需要一定的時鐘周期來延時,由于數(shù)碼管動態(tài)顯示需要不斷刷新,故延時函數(shù)需調(diào)用點亮數(shù)碼管的語句,否則,多處使用延時函數(shù)數(shù)碼管就會產(chǎn)生閃爍。軟件設計流程如圖3所示。

程序初始化之后開在捕獲中斷程序中設置變量flag_int = 0xaa,在主函數(shù)不斷循環(huán)當判斷到flag_int為0xaa后來判斷P0.10的電平即正交編碼器B信號的輸出電平,如果為高,則編碼器順時針旋轉(zhuǎn),編碼器位置計數(shù)(程序中使用變量count)值加1;如果P0.10的電平為低,則編碼器逆時針旋轉(zhuǎn),編碼器位置計數(shù)值減1。由于使用的光電編碼器旋轉(zhuǎn)一周計數(shù)值為100,故在count=100時,需對count清零,同時對光電編碼器的旋轉(zhuǎn)圈數(shù)加1。

圖3 MCU主流程圖

正交編碼器低速仿真接口設計的主要算法如下。

void __irq Timer1_CapInt (void) //下降沿捕獲中斷函數(shù)

{

T1IR = 1 << 4; //清除CAP1.0中斷標志

flag_int=0xaa;

VICVectAddr = 0x00; // 向量中斷處理結(jié)束

}

if(flag_int==0xaa)

//判斷正反轉(zhuǎn)及對光電編碼器的轉(zhuǎn)動角度計數(shù)

{

if(((IO0PIN&0x00000400)==0x00000400))

//P0.10為高正轉(zhuǎn)

{

flag_int=0x00;

count++; //記錄轉(zhuǎn)動的位置

if(count==0x65) //360°記100個數(shù)

count=0;

UART0_SendByte (count); //串口助手顯示

}

else if(((IO0PIN&0x00000200)==0x00000000))

{

flag_int=0x00;

count??;

if(count==0xff)

count=0x64;

UART0_SendByte (count);

}

}

If(count==0x64) //輸出編碼器Z軸信號即編碼器旋轉(zhuǎn)圈數(shù)

{

Encoder_Cycle ++;

UART0_SendByte(Encoder_Cycle);

}

4 結(jié) 語

本文介紹了編碼器的工作原理、LPC2136 MCU的部分外設功能以及在低速狀態(tài)下如何通過普通單片機來模擬正交編碼器接口的硬件設計與軟件設計的流程。通過單片機來模擬正交編碼器的設計為編碼器應用在低速的自動智能控制領域提供了一個很好的解決方案。把編碼器信號同時輸入到創(chuàng)思杰ZN96系列智能記測器進行對比測試,證實本設計對光電編碼器的計數(shù)與標準記測器計數(shù)值在低速旋轉(zhuǎn)條件下非常準確。由于系統(tǒng)沒有對實際應用中的各種機械干擾信號進行濾波,因此就需要在工業(yè)應用中進一步增加硬件濾波或者軟件濾波消除誤差。同時,如何在濾波成本與濾波性能之間取得較好的性價比,也需要進一步探索研究。

參考文獻

[1] 蔡尚峰.自動控制理論[M].北京:機械工業(yè)出版社,1980.

[2] 賀玲玲.一種用旋轉(zhuǎn)電子編碼器檢測絕對角度位置的方法與實現(xiàn)[J].重慶工商大學學報:自然科學版,2009,26(5):472?476.

[3] 王明順,沈謀全.虛擬編碼器設計與轉(zhuǎn)速測量[J].儀器儀表學報,2008,29(6):1300?1305.

[4] 權(quán)超健,劉獻禮.光電編碼器輸出信號自動調(diào)試技術研究[J].測控技術,2014,33(3):38?42.

[5] 周化仁,潘學盈,王宗信.檢測與轉(zhuǎn)換技術[M].北京:中國礦業(yè)大學出版社,1989.

[6] 謝劍英.微型計算機控制技術[M].北京:國防工業(yè)出版社, 1985.

主站蜘蛛池模板: 无码久看视频| 国产剧情无码视频在线观看| 国产三级a| 在线亚洲精品自拍| 国产永久无码观看在线| 国内毛片视频| 国产精品不卡片视频免费观看| 在线va视频| 无码精品国产dvd在线观看9久 | 久久精品中文字幕少妇| 国产午夜福利在线小视频| 国产内射一区亚洲| 午夜成人在线视频| 茄子视频毛片免费观看| 国产裸舞福利在线视频合集| 日韩午夜福利在线观看| 亚洲天堂伊人| 欧美不卡在线视频| 成年人福利视频| 亚洲精品高清视频| 欧美日韩精品在线播放| 国产精品永久久久久| 91啪在线| 色欲色欲久久综合网| 露脸一二三区国语对白| 国产三级韩国三级理| 欧美日韩一区二区在线免费观看| 精品夜恋影院亚洲欧洲| 视频在线观看一区二区| 92午夜福利影院一区二区三区| 日韩大片免费观看视频播放| 全裸无码专区| 国产成人精品亚洲77美色| 亚洲欧美日韩另类| 国产在线91在线电影| 麻豆精品在线播放| 波多野结衣视频网站| 精品丝袜美腿国产一区| 国产欧美在线视频免费| 亚洲精品国产日韩无码AV永久免费网 | 国产亚洲精品自在久久不卡| 国产乱子伦视频在线播放| 91网站国产| 一本大道视频精品人妻 | 亚洲美女AV免费一区| 亚洲成网777777国产精品| 一区二区日韩国产精久久| 毛片在线播放a| 国产极品美女在线观看| 不卡视频国产| 伊人蕉久影院| 成人午夜网址| 99这里精品| 国产激情无码一区二区免费 | 国产精品亚洲а∨天堂免下载| 性做久久久久久久免费看| 久热精品免费| 欧美不卡二区| 青青青国产精品国产精品美女| a毛片基地免费大全| 久久久黄色片| 嫩草国产在线| 欧美综合中文字幕久久| 婷婷综合色| 国产一区二区视频在线| 久久国产精品77777| 亚洲视频三级| 欧亚日韩Av| 久久精品国产999大香线焦| 国产真实二区一区在线亚洲| 亚洲91在线精品| 亚洲精品无码人妻无码| 欧美一级高清片久久99| 国产无码网站在线观看| 青草午夜精品视频在线观看| 亚洲欧美日韩中文字幕一区二区三区 | 精品夜恋影院亚洲欧洲| 一级毛片无毒不卡直接观看| 亚洲国产午夜精华无码福利| 国产哺乳奶水91在线播放| 先锋资源久久| 欧美一级夜夜爽www|