概念
基于TriCore TC 1797的自動跟蹤焊接系統(tǒng)由一個以固定步長(1mm)在斜坡滑道上移動的模塊以及垂直激光束、攝像頭和焊槍組成。
每移動一個步長,攝像頭就會以待焊接的兩片金屬板的結(jié)合處附近為中心,對垂直激光束拍照。
這會在照片上形成1個缺口和2條斷開的激光線(A和B),圖像處理算法將利用這些數(shù)據(jù)來計(jì)算所需的焊接坐標(biāo)值(X、y和z)。
當(dāng)模塊在移動的同時,圖像處理算法也會將計(jì)算得到的焊接坐標(biāo)值保存到一個先入先出(FIFO)緩沖區(qū)中。焊接系統(tǒng)將利用該FIFO緩沖區(qū),使焊槍移動至正確的位置。這個過程將不斷重復(fù),直至到達(dá)滑道末端。
這種方法能夠補(bǔ)償焊接過程中出現(xiàn)的任何位置錯誤,并且可以在不規(guī)則通道上實(shí)施焊接。
實(shí)現(xiàn)
激光指針、攝像頭和焊槍都裝在小推車上,小推車沿焊接通道移動,焊接通道即為x軸。要精確對準(zhǔn)焊接坐標(biāo),可以將焊槍放置在Y軸和z軸上的任何一點(diǎn)。因此,需要3臺電機(jī)才能實(shí)現(xiàn)這一點(diǎn)。
3臺無刷直流電機(jī)的移動均由通用計(jì)時器陣列(GPTA)控制,因?yàn)镚PTA具備計(jì)時器、比較和捕獲等功能,可以靈活地組合成信號測定單元和信號生成單元。這種電機(jī)專為執(zhí)行發(fā)動機(jī)、變速箱和電機(jī)控制應(yīng)用等典型任務(wù)而優(yōu)化,但也可用于生成其他工業(yè)應(yīng)用所需的簡單的及復(fù)雜的信號波形。
除此之外,諸如溫度傳感器、氣流傳感器等等其他控制傳感器也可連接至TCl797的模數(shù)轉(zhuǎn)換器,以實(shí)現(xiàn)更加精確的控制。
無刷直流電機(jī)(推車移動X軸)
在本項(xiàng)目中,無刷直流電機(jī)連接至控制推車沿x軸移動的車輪。GPTA0中的LTC用于實(shí)現(xiàn)三相整流電機(jī)。通用輸入/輸出端口用于輸入霍爾傳感器輸出的信號。利用脈寬調(diào)制(PWM)來改變線圈的平均電壓,以控制速度。
速度范圍設(shè)置為0至1(1表示電機(jī)全速運(yùn)行,而0則表示電機(jī)停止運(yùn)行)。
增量式編碼器(推車移動距離反饋)
本項(xiàng)目使用了一個Kubler增量式編碼器。濾波和預(yù)分頻單元(FPc)、鑒相邏輯(PDL)和LTC用于測定距離和確定旋轉(zhuǎn)方向。編碼器每轉(zhuǎn)輸出4096個脈沖,這相當(dāng)于每轉(zhuǎn)6臺無刷直流電機(jī)同步整流,無刷直流電機(jī)齒輪比為40:1(齒輪每轉(zhuǎn)240次整流)。所連接的車輪的直徑為7Smm,車輪周長為235,62mm(π×d)。也就是說,每次整流的移動距離為0.98mm。演示模型采用了逆時針方向(CCW)移動,以便攝像頭在焊槍前面拍照。
增量式編碼器可為無刷直流電機(jī)提供反饋,以計(jì)算出無刷直流電機(jī)和相應(yīng)的車輪轉(zhuǎn)了多少圈。利用這些數(shù)據(jù),可以計(jì)算出推車移動了多遠(yuǎn)距離。
圖像采集
攝像頭通過通用輸入/輸出端口連接至TC1797,以連接數(shù)據(jù)和控制并行總線。全局計(jì)時器O(GTO)和全局計(jì)時器單元O(GTCO)用于生成攝像頭主時鐘脈沖,以控制攝像頭幀速率。
TriCore TCl797的通用輸入/輸出端口可支持的數(shù)據(jù)率約為296kHz,這表示100×100像素圖像的理想幀速率為29.6fps(1字節(jié)/像素)。圖像應(yīng)保存在一個10kb的陣列中。平均而言,采集圖像耗時約200ms。
采用大津方法處理圖像
采用大津閾值法來處理所采集的圖像,以自動計(jì)算出在變化不定的照明條件下的最優(yōu)閾值。利用大津方法,我們盡一切可能找到能最大限度地降低類內(nèi)方差值(即,兩個類的方差的加權(quán)總和)的閾值:
δ2w=w1(t)δ2t)1+w2(t)δ2t)2(t)
權(quán)數(shù)ww1是被閾值t分隔開的兩個類的概率,δ2t)1是這兩個類的方差。
大津法表明,最大限度地降低類內(nèi)方差值,等同于最大限度地提高類間方差值:
δ2w=w1(t)δ2t)1+w2(t)δ2t)2(t)
其中,w1是類概率,u1是類平均數(shù),相應(yīng)地,這個值可以迭代更新。這種方法產(chǎn)生了一個簡單而又有效的算法:
1 計(jì)算各個亮度條件下的直方圖和概率。
2 設(shè)置初始w1(0)和u1(0)。
3 逐一計(jì)算所有可能的閾值t=1…最高亮度:更新w1和u1;計(jì)算。
4 對應(yīng)于最大的理想閾值。
采用上述算法,處理所保存的圖像。經(jīng)處理的圖像將保存到另一個10kb陣列中。確定最優(yōu)閾值后,計(jì)算出中線(單像素寬線)。下一步是從中線中找到結(jié)合點(diǎn)。由此得到的坐標(biāo)值將被輸出至先入先出堆棧。處理每幀圖像的平均用時約為65ms。
先入先出緩沖區(qū)
利用先入先出循環(huán)緩沖區(qū)來保存圖像處理模塊計(jì)算得到的坐標(biāo)值。然后,伺服電機(jī)模塊將利用這些坐標(biāo)值來將焊槍移動至相應(yīng)的位置。攝像頭的初始坐標(biāo)值是0,而焊槍的初始坐標(biāo)值則是CIRCULAR BUF SIZE-1。根據(jù)攝像頭與焊槍之間的步數(shù),在匯編時決定先入先出緩沖區(qū)的大小。
伺服電機(jī)(焊槍移動Y和Z軸)
利用GPTA0和GPTAI中的LTC,生成脈寬調(diào)制信號。利用兩個HS-5645MG伺服電機(jī)來控制焊槍的水平(Y軸)和垂直(z軸)移動。將根據(jù)先入先出緩沖區(qū)中保存的坐標(biāo)值。計(jì)算出伺服電機(jī)需要移動的距離。
根據(jù)先入先出緩沖區(qū)中保存的y坐標(biāo)值,調(diào)節(jié)伺服電機(jī)0(水平方向)。伺服電機(jī)0的步數(shù)范圍是70-65(移動距離為63mm)。伺服電機(jī)的步長精度為136/63=0.46mm。負(fù)值表示朝靠近金屬板方向移動,正值表示朝遠(yuǎn)離金屬板方向移動。
伺服電機(jī)1(垂直方向)的步數(shù)范圍是-85~59(移動距離為67.5mm)。伺服電機(jī)的步長精度為67.5/145=0.46mm。負(fù)值表示焊槍向下移動,正值表示焊槍向上移動。
通過將金屬板放置在已知距離上,并使焊槍移動至圖像處理計(jì)算得到的坐標(biāo)值,用實(shí)驗(yàn)方法得出映射值,然后計(jì)算出平均值。在當(dāng)前的演示模型中,伺服電機(jī)1的步長相當(dāng)于1.43像素。