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

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

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

鄭均輝++甘泉

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

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

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

0 引 言

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

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

1 光電編碼器簡介

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

2 硬件系統設計

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

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

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

圖2 硬件系統原理框架

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

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

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

3 軟件系統設計

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

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

圖3 MCU主流程圖

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

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

{

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

flag_int=0xaa;

VICVectAddr = 0x00; // 向量中斷處理結束

}

if(flag_int==0xaa)

//判斷正反轉及對光電編碼器的轉動角度計數

{

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

//P0.10為高正轉

{

flag_int=0x00;

count++; //記錄轉動的位置

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

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軸信號即編碼器旋轉圈數

{

Encoder_Cycle ++;

UART0_SendByte(Encoder_Cycle);

}

4 結 語

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

參考文獻

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

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

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

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

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

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

主站蜘蛛池模板: 超碰精品无码一区二区| 国产精品免费p区| 欧美日韩专区| 国产精品冒白浆免费视频| 国产欧美视频综合二区| 欧美色亚洲| www亚洲天堂| 亚洲国产亚洲综合在线尤物| 亚洲成人手机在线| 国内精自视频品线一二区| 欧美a在线视频| 亚洲欧美精品在线| 青草精品视频| 欧美日一级片| AV熟女乱| 香蕉国产精品视频| 午夜少妇精品视频小电影| 亚洲综合一区国产精品| 日韩二区三区| 日韩精品无码一级毛片免费| 夜夜爽免费视频| 亚洲无码免费黄色网址| 中国精品久久| 亚洲v日韩v欧美在线观看| 在线亚洲精品福利网址导航| 天天综合色天天综合网| jizz在线免费播放| 久青草免费在线视频| 91在线免费公开视频| 中文字幕在线免费看| 国产精女同一区二区三区久| 一级毛片在线免费看| 美女无遮挡被啪啪到高潮免费| 中字无码av在线电影| 国产精品第页| 国产成人禁片在线观看| 91高清在线视频| 手机在线免费毛片| 无码视频国产精品一区二区 | 无码高潮喷水在线观看| 亚洲成人一区二区| 亚洲视频免费播放| 欧美日韩福利| 国产精品网曝门免费视频| 毛片免费试看| 亚洲水蜜桃久久综合网站| 国产乱子精品一区二区在线观看| 国产成人精品亚洲77美色| 亚洲第一在线播放| 看av免费毛片手机播放| 五月天久久综合| 免费可以看的无遮挡av无码| 亚洲天堂视频网| 国产18在线| 精品国产三级在线观看| 日本人妻一区二区三区不卡影院| 国产麻豆福利av在线播放| 欧美特黄一级大黄录像| 成人午夜久久| 免费av一区二区三区在线| 2021国产乱人伦在线播放| 欧美成人aⅴ| 国产精品流白浆在线观看| 精品1区2区3区| 国内精品免费| 亚洲欧美一区二区三区麻豆| 国产精品亚洲片在线va| 黄色网站不卡无码| 久久男人视频| 国产无码精品在线| 日韩精品一区二区三区免费| 日韩东京热无码人妻| 欧美激情一区二区三区成人| 色综合狠狠操| 久久精品国产亚洲AV忘忧草18| 国产一国产一有一级毛片视频| 欧美国产精品不卡在线观看| 国产亚洲欧美在线专区| 日韩毛片免费视频| 国产精品美女免费视频大全| 色婷婷视频在线| 久久天天躁狠狠躁夜夜2020一|