<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于ARM的旋轉(zhuǎn)編碼器采集模塊設(shè)計

          基于ARM的旋轉(zhuǎn)編碼器采集模塊設(shè)計

          作者: 時間:2015-03-28 來源:網(wǎng)絡(luò) 收藏

            隨著工業(yè)生產(chǎn)自動化水平的提高,各種傳感器的應(yīng)用也越來越多。旋轉(zhuǎn)編碼器作為速度和位移反饋的傳感器,主要應(yīng)用于數(shù)控機床、高精度的閉環(huán)調(diào)速系統(tǒng)、伺服電動機、異步電動機、步進電動機、電梯曳引機、電梯門機乃至機械軸等需要對運動速度和位移信息反饋的自動化控制場合,以保證機械的高精度穩(wěn)定運轉(zhuǎn),進而提高生產(chǎn)效率和保障安全運營。

          本文引用地址:http://www.ex-cimer.com/article/271736.htm

            本文針對旋轉(zhuǎn)編碼器在工業(yè)現(xiàn)場中的應(yīng)用,基于硬件平臺,設(shè)計出一種旋轉(zhuǎn)編碼器采集模塊,該模塊內(nèi)部具有高精度分析、整形、解碼電路,可同時對2路編碼器輸入信號進行分析、解碼。經(jīng)過處理的旋轉(zhuǎn)信號通過高性能處理器進行采集及數(shù)字濾波。旋轉(zhuǎn)編碼器同時還對2路編碼器信號進行角速度計算,最終模塊通過CAN總線將采集到的旋轉(zhuǎn)位置值以及角速度值發(fā)送到DPU(分散處理單元),以供工業(yè)現(xiàn)場使用。

            1旋轉(zhuǎn)編碼器

            旋轉(zhuǎn)編碼器是一種測量轉(zhuǎn)動部件運動情況的傳感器,是將旋轉(zhuǎn)的機械位移量轉(zhuǎn)換為電氣信號,對該信號進行處理后檢測位置、速度等的傳感器。所謂編碼,其實就是將旋轉(zhuǎn)角度的信息轉(zhuǎn)換為單片機可讀的電信號的過程。旋轉(zhuǎn)編碼器根據(jù)工作原理可以分為接觸式、光電式和電磁式三種}根據(jù)輸出信號的形式又可以分為增量式和絕對值兩種,其中增量式編碼器是工業(yè)中最常用的編碼器。

            增量編碼器包括碼盤、發(fā)光元件、接收元件和信號處理部分。當軸旋轉(zhuǎn)時帶動碼盤旋轉(zhuǎn),這樣刻線處透光,問隔處不透光,透過的光被接收元件接收并輸入到信號處理部分,產(chǎn)生脈沖信號輸出,輸出信號一般包括A、B兩相(相位差90°),有些編碼器每轉(zhuǎn)一圈還會輸出一個零位脈沖Z,作為機械參考零位。當主軸以順時針方向旋轉(zhuǎn)時,A通道信號位于B通道之前;當主軸逆時針旋轉(zhuǎn)時,A通道信號則位于B通道之后,從而可以由此判斷主軸是正轉(zhuǎn)還是反轉(zhuǎn)。

            2 CAN總線

            CAN總線(Controller Area Network),即控制器局域網(wǎng),是國際上應(yīng)用最廣泛的現(xiàn)場總線之一。CAN總線最初是德國Bosch公司于1983年為汽車應(yīng)用而開發(fā)的,它是一種能有效支持分布式控制和實時控制的串行通訊網(wǎng)絡(luò),屬于現(xiàn)場總線(Field Bus)的范疇n].隨著CAN總線的不斷完善和發(fā)展,它目前已被國際化標準組織采納為國際標準。

            CAN總線是一種多主方式的串行通訊總線,基本設(shè)計規(guī)范要求有較高的位速率和高抗干擾性,而且能夠檢測出產(chǎn)生的任何錯誤。信號傳輸距離達到10 km時,仍然可提供高達5kb/s的數(shù)據(jù)傳輸速率。CAN協(xié)議經(jīng)lSO標準化后有IS011898標準和IS011519標準兩種。它們兩者的區(qū)別在于對物理層的定義不同。ISOll898是通信速度為125 kb/s——1 Mb/s的CAN高速通信標準,而ISOll519是通信速度為125 kb/s以下的CAN低速通信標準。

            3硬件設(shè)計

            根據(jù)系統(tǒng)功能需求,本文選用NXP公司生產(chǎn)的處理器,該處理器是一款基于Cortex——M3內(nèi)核的32位處理器,它具有3流水線和哈佛結(jié)構(gòu),帶獨立的本地指令和數(shù)據(jù)總線以及用于外設(shè)的稍微低性能的第三條總線,同時還包含一個支持隨機跣轉(zhuǎn)的內(nèi)部預(yù)取指單元,工作頻率可達100MHz.處理器的外設(shè)組件包含高達512 kB的Flash存儲器、64 kB的數(shù)據(jù)存儲器、4個通用定時器、8通道的12位ADC、10位DAC、電機控制PWM、4個UART、2條CAN通道、帶獨立電池供電的超低功耗RTC和多達70個的通用I/0管腳。圖1為旋轉(zhuǎn)編碼器采集模塊總體框圖。

            3.1 CPU部分

            由芯片手冊可知,LPCI768可以選擇內(nèi)部RC振蕩器或者主振蕩器作為系統(tǒng)時鐘源,而由于內(nèi)部RC振蕩器精度無法滿足CAN總線通訊的要求,而主振蕩器可以工作的頻率范圍為1 MHz~25 MHz,故選取12 MHz的晶振加上22 pF的電容構(gòu)成Pierce振蕩器,作為主振蕩器的時鐘源。由于本系統(tǒng)未使用芯片的A/D模塊,故VDDA可以跟VDD一起連接到3.3V,每對VDD、GND引腳間需連接一個0.1uF的去耦電容。同時JTAG及通訊引腳均通過10k的上拉電阻連接到VDD,以提高信號傳輸?shù)姆€(wěn)定性。

            

           

            圖1 旋轉(zhuǎn)編碼器采集模塊總體框圖

            3.2旋轉(zhuǎn)編碼器采集部分

            旋轉(zhuǎn)編碼器應(yīng)用于角度定位或測量時,由于旋轉(zhuǎn)軸的晃動可能引起編碼器輸出波形的抖動,從而引發(fā)誤計數(shù)現(xiàn)象,在這種情況下就不能對波形進行正確計數(shù),本系統(tǒng)通過一個單穩(wěn)態(tài)觸發(fā)器來消除旋轉(zhuǎn)編碼器輸出脈沖信號的抖動。圖2為旋轉(zhuǎn)編碼器采集電路中的一路。

            

           

            圖2 旋轉(zhuǎn)編碼器采集電路中的一路

            分析電路可知,當旋轉(zhuǎn)編碼器正轉(zhuǎn)時,F(xiàn)1輸出脈沖序列,當旋轉(zhuǎn)編碼器反轉(zhuǎn)時,R1輸出脈沖序列閉,電路仿真波形見圖3.

            

           

            圖3 旋轉(zhuǎn)編碼器采集電路仿真波形

            3.3 CAN總線通訊部分

            LPC1768處理器支持CAN 2.0B規(guī)范,兼容IS011898-1標準,基于此,本文選取飛利浦半導體公司生產(chǎn)的PCA82C250芯片作為CAN總線收發(fā)器,通訊匹配電阻選取120,i1,CAN收發(fā)器電路見圖4.

            

           

            圖4 CAN收發(fā)器電路

            3.4電源部分

            LPC1768工作電壓為3. 3 V,而CAN收發(fā)器及旋轉(zhuǎn)編碼器采集電路部分電壓為5 V,所以先使用MC33063將輸人電壓降到5V,供相關(guān)電路使用,然后再通過LM1117-3.3V將5V電壓降到3.3V,作為處理器工作電壓。電源電路見圖5.

            

           

            圖5 電源電路

          加速度計相關(guān)文章:加速度計原理
          晶振相關(guān)文章:晶振原理
          絕對值編碼器相關(guān)文章:絕對值編碼器原理
          上拉電阻相關(guān)文章:上拉電阻原理

          上一頁 1 2 下一頁

          關(guān)鍵詞: ARM LPCI768

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();