概念
基于TriCore TC 1797的自動跟蹤焊接系統由一個以固定步長(1mm)在斜坡滑道上移動的模塊以及垂直激光束、攝像頭和焊槍組成。
每移動一個步長,攝像頭就會以待焊接的兩片金屬板的結合處附近為中心,對垂直激光束拍照。
這會在照片上形成1個缺口和2條斷開的激光線(A和B),圖像處理算法將利用這些數據來計算所需的焊接坐標值(X、y和z)。
當模塊在移動的同時,圖像處理算法也會將計算得到的焊接坐標值保存到一個先入先出(FIFO)緩沖區中。焊接系統將利用該FIFO緩沖區,使焊槍移動至正確的位置。這個過程將不斷重復,直至到達滑道末端。
這種方法能夠補償焊接過程中出現的任何位置錯誤,并且可以在不規則通道上實施焊接。
實現
激光指針、攝像頭和焊槍都裝在小推車上,小推車沿焊接通道移動,焊接通道即為x軸。要精確對準焊接坐標,可以將焊槍放置在Y軸和z軸上的任何一點。因此,需要3臺電機才能實現這一點。
3臺無刷直流電機的移動均由通用計時器陣列(GPTA)控制,因為GPTA具備計時器、比較和捕獲等功能,可以靈活地組合成信號測定單元和信號生成單元。這種電機專為執行發動機、變速箱和電機控制應用等典型任務而優化,但也可用于生成其他工業應用所需的簡單的及復雜的信號波形。

除此之外,諸如溫度傳感器、氣流傳感器等等其他控制傳感器也可連接至TCl797的模數轉換器,以實現更加精確的控制。
無刷直流電機(推車移動X軸)
在本項目中,無刷直流電機連接至控制推車沿x軸移動的車輪。GPTA0中的LTC用于實現三相整流電機。通用輸入/輸出端口用于輸入霍爾傳感器輸出的信號。利用脈寬調制(PWM)來改變線圈的平均電壓,以控制速度。
速度范圍設置為0至1(1表示電機全速運行,而0則表示電機停止運行)。
增量式編碼器(推車移動距離反饋)
本項目使用了一個Kubler增量式編碼器。濾波和預分頻單元(FPc)、鑒相邏輯(PDL)和LTC用于測定距離和確定旋轉方向。編碼器每轉輸出4096個脈沖,這相當于每轉6臺無刷直流電機同步整流,無刷直流電機齒輪比為40:1(齒輪每轉240次整流)。所連接的車輪的直徑為7Smm,車輪周長為235,62mm(π×d)。也就是說,每次整流的移動距離為0.98mm。演示模型采用了逆時針方向(CCW)移動,以便攝像頭在焊槍前面拍照。
增量式編碼器可為無刷直流電機提供反饋,以計算出無刷直流電機和相應的車輪轉了多少圈。利用這些數據,可以計算出推車移動了多遠距離。
圖像采集
攝像頭通過通用輸入/輸出端口連接至TC1797,以連接數據和控制并行總線。全局計時器O(GTO)和全局計時器單元O(GTCO)用于生成攝像頭主時鐘脈沖,以控制攝像頭幀速率。
TriCore TCl797的通用輸入/輸出端口可支持的數據率約為296kHz,這表示100×100像素圖像的理想幀速率為29.6fps(1字節/像素)。圖像應保存在一個10kb的陣列中。平均而言,采集圖像耗時約200ms。
采用大津方法處理圖像
采用大津閾值法來處理所采集的圖像,以自動計算出在變化不定的照明條件下的最優閾值。利用大津方法,我們盡一切可能找到能最大限度地降低類內方差值(即,兩個類的方差的加權總和)的閾值:
δ2w=w1(t)δ2t)1+w2(t)δ2t)2(t)
權數ww1是被閾值t分隔開的兩個類的概率,δ2t)1是這兩個類的方差。
大津法表明,最大限度地降低類內方差值,等同于最大限度地提高類間方差值:
δ2w=w1(t)δ2t)1+w2(t)δ2t)2(t)
其中,w1是類概率,u1是類平均數,相應地,這個值可以迭代更新。這種方法產生了一個簡單而又有效的算法:
1 計算各個亮度條件下的直方圖和概率。
2 設置初始w1(0)和u1(0)。
3 逐一計算所有可能的閾值t=1…最高亮度:更新w1和u1;計算。
4 對應于最大的理想閾值。
采用上述算法,處理所保存的圖像。經處理的圖像將保存到另一個10kb陣列中。確定最優閾值后,計算出中線(單像素寬線)。下一步是從中線中找到結合點。由此得到的坐標值將被輸出至先入先出堆棧。處理每幀圖像的平均用時約為65ms。

先入先出緩沖區
利用先入先出循環緩沖區來保存圖像處理模塊計算得到的坐標值。然后,伺服電機模塊將利用這些坐標值來將焊槍移動至相應的位置。攝像頭的初始坐標值是0,而焊槍的初始坐標值則是CIRCULAR BUF SIZE-1。根據攝像頭與焊槍之間的步數,在匯編時決定先入先出緩沖區的大小。
伺服電機(焊槍移動Y和Z軸)
利用GPTA0和GPTAI中的LTC,生成脈寬調制信號。利用兩個HS-5645MG伺服電機來控制焊槍的水平(Y軸)和垂直(z軸)移動。將根據先入先出緩沖區中保存的坐標值。計算出伺服電機需要移動的距離。
根據先入先出緩沖區中保存的y坐標值,調節伺服電機0(水平方向)。伺服電機0的步數范圍是70-65(移動距離為63mm)。伺服電機的步長精度為136/63=0.46mm。負值表示朝靠近金屬板方向移動,正值表示朝遠離金屬板方向移動。
伺服電機1(垂直方向)的步數范圍是-85~59(移動距離為67.5mm)。伺服電機的步長精度為67.5/145=0.46mm。負值表示焊槍向下移動,正值表示焊槍向上移動。

通過將金屬板放置在已知距離上,并使焊槍移動至圖像處理計算得到的坐標值,用實驗方法得出映射值,然后計算出平均值。在當前的演示模型中,伺服電機1的步長相當于1.43像素。