国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Beaglebone Black 的絕對式編碼器接口電路設計*

2021-03-24 03:25鄭楚悅趙琛
數(shù)字技術(shù)與應用 2021年1期
關(guān)鍵詞:開發(fā)板編碼器串口

鄭楚悅 趙琛

(國核電站運行服務技術(shù)有限公司,上海 200233)

0 引言

近年來,在工業(yè)控制系統(tǒng)中,編碼器作為一種將運動信號轉(zhuǎn)換為可以用來通訊、傳輸和儲存數(shù)字信號的設備,在許多需要測量角度位置、旋轉(zhuǎn)速度等場合得以廣泛應用,諸如電機的轉(zhuǎn)速測量、機床位置與起重機位移距離的測量等,這類非高速運動的設備都可用編碼器進行速度、轉(zhuǎn)角和位移測量[1-2]。

編碼器以工作性質(zhì)可分為增量型編碼器和絕對值編碼器。其中增量型編碼器是由一個圓盤、電極組成,圓盤邊緣有一圈明暗相間的刻度,將轉(zhuǎn)角變化量以周期性電信號轉(zhuǎn)換成計數(shù)脈沖的多少來測量,精度低,主要用于要求精度不高的儀器上[3-4]。而針對那些精度要求較高的行業(yè),比如工業(yè)控制、精密儀器制造等,通常會選用絕對值編碼器,因其啟動速度快、位置絕對唯一、抗干擾、無需掉電記憶,在各工業(yè)系統(tǒng)領(lǐng)域得以廣泛應用[5]。隨著自動化控制系統(tǒng)越來越智能化,編碼器也趨于小體積、低功耗、高品質(zhì)方向發(fā)展[6]。絕對值編碼器選用基于AM3358處理器的Beaglebone Black作為Linux嵌入式開發(fā)平臺,將系統(tǒng)控制統(tǒng)一在Python語言的開源框架中,把需要測量的位置信息傳輸給主控制系統(tǒng),然后通過主控制系統(tǒng)以SSI協(xié)議的輸出方式發(fā)出控制信號。

1 工作原理描述

1.1 絕對值編碼器原理及結(jié)構(gòu)

考慮到過程中增量編碼器不能記錄斷電前的位置信息,且部分增量編碼器不能判斷旋轉(zhuǎn)方向,所以根據(jù)實際情況,選擇光洋集團koyo trd-na1024nw-2302絕對型編碼器,其分辨率為1024,價格比較便宜,該旋轉(zhuǎn)編碼器適用于檢測角度和位置的場所,如機械、傳送設備、電梯和伺服馬達等,滿足課題要求。絕對值編碼器與增量編碼器工作原理非常相似,它是一個帶有若干個透明和不透明窗口的轉(zhuǎn)動圓盤,用光接收器來收集間斷的光束,光脈沖轉(zhuǎn)換成電脈沖后,由電子輸出電路進行處理[7],并將電脈沖發(fā)送出去,其結(jié)構(gòu)如圖1所示。圖1表明4個同心圓的絕對型編碼器的圓盤結(jié)構(gòu),可顯示16個位置,從里層同心圓至外層同心圓依次對應二進制碼高位至低位。圖2所示為按格雷碼排列,從圖中可看出按自然二進制碼排列的編碼器讀出的二進制碼信號高低電平跳變次數(shù)多,信號間干擾大;按格雷碼排列的編碼器讀出的二進制碼信號高低電平跳變次數(shù)少,信號間干擾小。碼盤輸出采用NPN型集電極開路輸出,可吸收1 6m A 以上電流,方便通過光耦隔離輸出編碼信號。絕對編碼器碼盤輸出為格雷碼,轉(zhuǎn)換成二進制后供后續(xù)處理,其技術(shù)參數(shù)中給出的二進制位數(shù)就是同心圓的個數(shù)n,對應的測角分辨率為[8-9]。

1.2 SSI協(xié)議輸出原理

絕對編碼器主要是把需要測量的位置信息傳輸給主控制系統(tǒng),然后通過主控制系統(tǒng)來發(fā)出控制信號[10]。以前的絕對值編碼器大多采用反應速度較快并行輸出,在位數(shù)不多的情況下可以適用,一旦位數(shù)越來越多,則并行輸出就不適用了,因為總是出現(xiàn)數(shù)據(jù)不準確、錯誤等問題。比如在傳輸過程中,只要有一根數(shù)據(jù)線出現(xiàn)問題,就會影響最終傳輸?shù)臄?shù)據(jù),從而影響到絕對值編碼器的正常工作[11-12]。光洋koyo trd-na1024nw-2302編碼器輸出為同步串行信號,其絕對值位置由時鐘信號觸發(fā),位置從最高位(MSB)開始輸出與時鐘信號同步的串行信號(RS422模式),如圖3所示。當不發(fā)送數(shù)據(jù)時,時鐘信號和數(shù)據(jù)位均保持高電平,在時鐘信號的第一個下降沿,數(shù)據(jù)之間傳輸間隔Tp進行數(shù)據(jù)保存,從時鐘信號上升沿開始,數(shù)據(jù)信號開始傳送。單穩(wěn)觸發(fā)時間T m 把數(shù)據(jù)輸出端拉至高電平,當檢測到下一個時鐘信號將繼續(xù)發(fā)送數(shù)據(jù)。該編碼器時鐘和數(shù)據(jù)采用的是RS422標準,故時鐘信號線分CLOCK與/CLOCK兩部分,數(shù)據(jù)線也分DATA和/DATA 兩部分。

圖1 絕對編碼器(自然二進制碼)Fig.1 Absolute encoder(natural binary code)

圖2 絕對編碼器(格雷碼)Fig.2 Absolute encoder(gray code)

圖3 SSI 通信協(xié)議Fig.3 SSI communication protocol

1.3 接口控制模塊工作原理

本設計搭載了AM3358處理器的Beaglebone Black開發(fā)板來采集絕對值編碼器數(shù)據(jù), 開發(fā)板集成了A R M Cortex-A8內(nèi)核。Beaglebone Black開發(fā)板對伺服電機的轉(zhuǎn)速調(diào)節(jié)通過向電機電子調(diào)速器發(fā)出P W M 信號來實現(xiàn),而PWM信號是通過Beaglebone Black開發(fā)板的帶寬脈沖調(diào)制功能的定時器產(chǎn)生的,在BeagleBone Black開發(fā)板的內(nèi)核中,已包含P W M 驅(qū)動程序的源程序,通過人工編譯內(nèi)核即可生成相應的驅(qū)動程序文件[13]。系統(tǒng)供電電源集成了L M 2 5 9 6 S 和L M 7 8 M 0 5 兩個穩(wěn)壓芯片,可分別為Beaglebone Black開發(fā)板、電機提供3.3V電源和12V電源,本文選用的電機為370型直流減速電機,額定電壓12V。Beaglebone Black開發(fā)板GPIO引腳提供的電流和電壓有限并不足以驅(qū)動電機轉(zhuǎn)速調(diào)節(jié),需通過TB6612驅(qū)動模塊來驅(qū)動控制。koyo trd-na1024nw-2302絕對式編碼器與電機共軸等速,當電機旋轉(zhuǎn)時,光柵盤跟著旋轉(zhuǎn),并輸出兩路相位相差90°的脈沖信號,Beaglebone Black開發(fā)板采集脈沖數(shù)除以光柵盤光柵數(shù)得到當前伺服電機的轉(zhuǎn)速,接口控制模塊工作原理如圖4所示。

2 絕對式編碼器接口電路設計及編程

2.1 絕對式編碼器信號采集編碼設計

圖4 接口控制模塊工作原理框圖Fig.4 Working principle block diagram of interface control module

圖5 絕對式編碼器的解碼電路硬件結(jié)構(gòu)框架Fig.5 Hardware architecture of absolute encoder decoding circuit

圖6 編碼器信號數(shù)據(jù)采集系統(tǒng)組成框圖Fig.6 Block diagram of encoder signal data acquisition system

圖7 MAX3160 芯片電路原理圖Fig.7 Schematic diagram of MAX3160 chip circuit

由于光洋koyo trd-na1024nw-2302編碼器以SSI協(xié)議進行數(shù)據(jù)信號的傳輸,其同步時鐘信號與串行數(shù)據(jù)信號均為可遠傳的差分信號,需要在編碼器與Be ag le bo ne Black開發(fā)板接口電路間加入信號處理電路。絕對式編碼器的解碼電路硬件結(jié)構(gòu)框架如圖5 所示,包括四個部分:(1)絕對式編碼器接口;(2)用于減少信號傳輸通道,增強數(shù)據(jù)可靠性,進行數(shù)據(jù)差分轉(zhuǎn)單端處理的絕對式編碼器信號調(diào)理電路;(3)對編碼器輸出數(shù)據(jù)進行分離,轉(zhuǎn)換成位置值和狀態(tài)信息的編碼器解碼電路;(4)Beaglebone Black開發(fā)板編碼器信號輸入接口。其中,光電隔離電路能有效解決串入編碼器側(cè)的高電壓造成的損害。

2.2 編碼器信號采集接口電路

編碼器數(shù)據(jù)信號采集的硬件電路主要包括光洋koyo trd-na1024nw-2302編碼器、基準編碼器與Beaglebone Black開發(fā)板等,Beaglebone Black開發(fā)板與上位機之間的通信采用USB轉(zhuǎn)TTL的串口模塊進行串口信號查看。硬件系統(tǒng)的組成如圖6所示。

絕對式編碼器有串行和并行兩種數(shù)據(jù)輸出方式,Beaglebone Black開發(fā)板可以直接采集其輸出數(shù)據(jù),RS232串口標準作為數(shù)據(jù)終端設備與數(shù)據(jù)通信設備進行二進制數(shù)據(jù)交換接口的技術(shù)標準,但與Beaglebone Black開發(fā)板的T T L 電平不兼容,需要一個電平轉(zhuǎn)換模塊,將標準RS232電平信號轉(zhuǎn)為TTL電平信號,為了降低電路設計和測試的復雜度,選擇了高性能多協(xié)議的可編程控制芯片MAX3160E,其電路原理圖如圖7所示。

2.3 接口軟件設計

2.3.1 編碼器數(shù)據(jù)采集軟件

光洋koyo trd-na1024nw-2302絕對式編碼器與Beaglebone Black開發(fā)板直接采用串口通信,采用一個完整的UAR T傳輸?shù)臄?shù)據(jù)幀格式,包括起始位、8 個數(shù)據(jù)位、校驗位和停止位,如圖8所示。Beaglebone Black開發(fā)板在采集編碼器數(shù)據(jù)時,首先檢測起始位,再按設定的波特率9600來逐位接收數(shù)據(jù)位,直到校驗位和停止位接收完畢,一幀數(shù)據(jù)即傳輸完成串行至并行的轉(zhuǎn)換。

2.3.2 接口信號軟件

接口信號軟件設計由兩部分組成:一部分是一定周期脈沖型號的產(chǎn)生與絕對型編碼器串行輸出數(shù)據(jù)的讀取;另一部分為格雷碼向二進制的轉(zhuǎn)換。

編碼器時鐘周期要求在1us~10us之間,本設計選取脈沖周期為8us。Beaglebone Black開發(fā)板的晶振頻率為6M,脈沖產(chǎn)生和格雷碼讀取程序如下:

import Adafruit_BBIO.GPIO as GPIO

inputPin=['P8_3','P8_4','P8_5','P8_6','P8_11','P8_12','P8_13','P8_14','P8_15','P8_16']

dec_position=0

pin_state=[1]*10

a=5

from time import sleep

for i in range(0,len(inputPin)):

GPIO.setup(inputPin[i],GPIO.IN)

def read_input():

for j in range(0,len(inputPin)):

pin_state[j]=int(not(bool(inputPin[j])))

print "inputPin[%d] = %s"%(j,inputPin[j])

print "pin_state[%d]= %d"%(j,pin_state[j])

dec_position=pin_state[9]

for k in range(0,8):

dec_position=(dec_position<<1) | ((pin_state[k]) ^(dec_position & 1))

print dec_position

return

while(a):

read_input()

a=a-1

sleep(0.2)

圖8 UART 接收器的數(shù)據(jù)幀格式Fig.8 Data frame format of UART receiver

sleep(0.05)

GPIO.cleanup

格雷碼是一種無權(quán)碼,因而很難用單個代碼識別其所代表的數(shù)值。其中格雷碼至二進制碼的程序解碼公式為,其中,G為格雷碼,B為二進制碼,n為編碼器碼盤同心圈數(shù)量,初始最高B n 用0 代替。格雷碼可以減少代碼在形成和傳輸過程發(fā)生的錯誤,編碼器輸出格雷碼,然后經(jīng)過硬件轉(zhuǎn)換成譯碼顯示和二進制碼,組成反饋系統(tǒng)。圖9為編程讀取10 位串行格雷碼角度量流程圖在啟動信號有效期間每個時鐘信號的下降沿,順序讀出光洋koyo trdna1024nw-2302編碼器10位格雷碼角度值,進而再轉(zhuǎn)換成自然二進制碼則完成獲取軸向轉(zhuǎn)角的過程。

3 試驗及分析

圖9 編程讀取10 位串行格雷碼流程圖Fig.9 Flow chart of reading 10 bit serial gray code by programming

表1 編碼器同軸誤差Tab.1 Encoder coaxial error

圖10 串口通信波形顯示Fig.10 Serial communication waveform display

實驗裝置主要由370型直流減速電機、電機驅(qū)動控制模塊、koyo trd-na1024nw-2302絕對式編碼器、基準編碼器、Beaglebone Black開發(fā)板、計算機等組成。根據(jù)精密測量儀器設計中的阿貝原則,koyo trd-na1024nw-2302絕對式編碼器與基準編碼器的保持同一軸線,并與電機共軸等速。為驗證編碼器信號同軸誤差數(shù)據(jù),將主軸旋轉(zhuǎn)一周等分為15份,再利用千分尺來測量每個位置的同軸誤差,結(jié)果如表1所示。

絕對式編碼器與基準編碼器的誤差值以m m 為單位,上表中15組同軸誤差值的方差值σ=0.0046mm,誤差信號極小,滿足絕對式編碼器接口電路設計要求。圖10為采用Beaglebone Black開發(fā)板采集到的編碼器信號,通過串口模塊接入上位機的通信波形顯示,從位置信號也可以看出輸出的P W M 波形穩(wěn)定,該編碼器接口電路工作正常。

4 結(jié)語

絕對式編碼器作為位移傳感器在自動化控制領(lǐng)域中廣泛應用,發(fā)展趨勢呈現(xiàn)出高精度、高可靠性特點。本文基于Beaglebone Black開發(fā)板的絕對式編碼器接口電路設計占用較少的資源,簡單實用,功能電路實現(xiàn)良好,有效實現(xiàn)對編碼器數(shù)據(jù)的采集、傳輸和處理,通過同軸誤差和串口波形顯示可以判斷該設計性能良好,滿足各項工作指標要求,對進一步開發(fā)自動化設備的精確穩(wěn)定控制有較高的借鑒價值。

猜你喜歡
開發(fā)板編碼器串口
淺談AB PLC串口跟RFID傳感器的通訊應用
基于FPGA的同步機軸角編碼器
Microchip最新推出兩款PIC32 Curiosity開發(fā)板
基于PRBS檢測的8B/IOB編碼器設計
淺析單片機開發(fā)板的設計與制作
USB接口的多串口數(shù)據(jù)并行接收方法探索
JESD204B接口協(xié)議中的8B10B編碼器設計
基于藍牙串口適配器的GPS接收機與AutoCAD的實時無線通信
多總線式光電編碼器的設計與應用
Mouser為您呈上開發(fā)關(guān)鍵之STMicroelectronics Nucleo開發(fā)板