siemens x
應(yīng)用案例

基于ARM7與UC/OS II的焊接機(jī)設(shè)計(jì)

2025China.cn   2007年02月13日

[摘 要]:本文介紹了一種采用嵌入式操作系統(tǒng)的焊接控制系統(tǒng)的實(shí)現(xiàn)方案,該系統(tǒng)采用了高速ARM處理器作為主體,由嵌入式控制系統(tǒng)控制顯示、檢測(cè)、運(yùn)動(dòng)等任務(wù)。
[關(guān)鍵詞]:焊接機(jī); ARM;UC/OS_II;
[Abstract]:This article presents a kind of jointing system based on UC/OS_II, The system uses high speed ARM MCU and the embedded system to control the display,testing,moving of task.
[Key Words]:the jointing of machine;ARM ; UC/OS_II ;

1引言
  焊接技術(shù)是現(xiàn)代化制造技術(shù)的基礎(chǔ)技術(shù),它在現(xiàn)在機(jī)械、工程建設(shè)、汽車、船舶、電力設(shè)備等各種生產(chǎn)行業(yè)中都有極廣泛的應(yīng)用。隨著生產(chǎn)力的發(fā)展,早期的半自動(dòng)方式的焊接技術(shù)逐漸退出歷史舞臺(tái),取而代之的是現(xiàn)代化全自動(dòng)焊接技術(shù)?;贏RM與UCOS_II開(kāi)發(fā)的焊接系統(tǒng),是目前焊接潮流的佼佼者。
2系統(tǒng)組成及工作原理
2.1 組成
  焊接控制系統(tǒng)主要由ADT-TS540(深圳眾為興數(shù)控技術(shù)有限公司開(kāi)發(fā)的一款控制器),原點(diǎn)、限位傳感器,Q2BYG403M驅(qū)動(dòng)器、56BYGH630A/B步進(jìn)電機(jī)以及空氣等離子切割發(fā)生器組成,如圖1。
圖1
圖1
2.2 工作原理
  整個(gè)系統(tǒng)為數(shù)字智能化操作系統(tǒng)。系統(tǒng)可以根據(jù)客戶需求,獨(dú)自設(shè)置自己所需焊接的樣式。ADT-TS540是整個(gè)系統(tǒng)的核心,由嵌入式系統(tǒng)、微電腦芯片、運(yùn)動(dòng)芯片等組成,采用SANSUNG系列的S3C44BOX單片機(jī)(ARM7),主頻64MHZ,內(nèi)含2M NOR FLASH ROM、8M SDRAM以及32M NAND FLASH ROM,可支持USB1.1 接口設(shè)備,現(xiàn)場(chǎng)四軸步進(jìn)/伺服脈沖光耦輸出,最高頻率可達(dá)4MHZ,它內(nèi)含32路光耦輸入,4軸編碼器AB相脈沖輸入,16路光耦輸出,4路脈沖/方向信號(hào)輸出,RS232/485通信模塊,U盤功能,可現(xiàn)場(chǎng)編程。采用單色圖形液晶顯示屏,320x240點(diǎn)陣。
  嵌入式控制系統(tǒng)接收到外部啟動(dòng)信號(hào)后,系統(tǒng)根據(jù)客戶預(yù)先設(shè)計(jì)焊接軌跡數(shù)據(jù),開(kāi)始發(fā)送位置指令給外部步進(jìn)電機(jī)或伺服電機(jī)驅(qū)動(dòng)器,驅(qū)動(dòng)器功率放大以后,控制電機(jī)作相應(yīng)運(yùn)動(dòng)。系統(tǒng)運(yùn)動(dòng)過(guò)程中,可以隨時(shí)暫停,在線調(diào)整參數(shù),如:速度,加速度 等參數(shù)。在軟件和硬件上都作了抗干擾措施,以防止在程式跑飛了情況下,系統(tǒng)無(wú)限的發(fā)送脈沖給電機(jī),當(dāng)電機(jī)運(yùn)動(dòng)到指定位置時(shí),能立刻停止下來(lái),以免損壞系統(tǒng)。
3系統(tǒng)的實(shí)現(xiàn)
3.1 前端控制系統(tǒng)
  焊接機(jī)采用嵌入式系統(tǒng)來(lái)實(shí)現(xiàn),原理如圖2,將操作系統(tǒng)和應(yīng)用軟件存儲(chǔ)在Flash芯片中,嵌入式系統(tǒng)通過(guò)讀取存儲(chǔ)系統(tǒng)的數(shù)據(jù),發(fā)送到運(yùn)動(dòng)系統(tǒng),運(yùn)動(dòng)系統(tǒng)控制步進(jìn)電機(jī)或伺服電機(jī)以實(shí)現(xiàn)焊接功能,串口可以用來(lái)和遠(yuǎn)端的主機(jī)通信,將當(dāng)前的一些數(shù)據(jù)發(fā)送給主機(jī),實(shí)現(xiàn)系統(tǒng)功能的擴(kuò)展。
圖2
圖2
3.2 嵌入式系統(tǒng)軟件結(jié)構(gòu)
  本系統(tǒng)采用ARM744B0X芯片作為硬件平臺(tái),UC/OS_II作為軟件操作系統(tǒng)。
  ARM(Advanced RISC Machines)是微處理行業(yè)的一家知名企業(yè)Samsung公司設(shè)計(jì)的高性能、廉價(jià)、耗能低的RISC處理器,相關(guān)技術(shù)以及軟件技術(shù)具有性能高、成本低和能耗省的特點(diǎn),適用于多種領(lǐng)域,比如嵌入控制、消費(fèi)/教育類多媒體、DSP和移動(dòng)式應(yīng)用等。ARM744B0X使用ARM架夠體系中較低端的處理器核,也是世界上廣泛使用的32位嵌入式RISC處理器。
  UC/OS_II操作系統(tǒng)是一種嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS),是嵌入式開(kāi)發(fā)環(huán)境的關(guān)鍵組成部分,良好的持續(xù)發(fā)展能力,高性能的內(nèi)核以及友好的用戶開(kāi)發(fā)環(huán)境、在嵌入式實(shí)時(shí)操作系統(tǒng)領(lǐng)域占據(jù)一席之地。
  軟件編寫(xiě)工作主要包括:操作系統(tǒng)的裁減、應(yīng)用程序的編寫(xiě)。
  UC/OS_II由一個(gè)體積很小的內(nèi)核以及一些可以根據(jù)需要進(jìn)行定制的系統(tǒng)模塊組成。UC/OS_II內(nèi)核最小可以達(dá)到2.7KB,即便加上其他必要模塊,所占用的空間也很小,且不失其實(shí)時(shí)多任務(wù)的系統(tǒng)特性,由于它的高度靈活性,用戶可以很容易地對(duì)這一操作系統(tǒng)進(jìn)行定制或作適當(dāng)開(kāi)發(fā),來(lái)滿足系統(tǒng)的實(shí)際應(yīng)用需要。
3.3 應(yīng)用系統(tǒng)工藝流程
(1)調(diào)節(jié)好小車行走速度以及焊接電流等等的所有參數(shù)后。
(2)按焊接開(kāi)關(guān),系統(tǒng)發(fā)出一個(gè)閉合信號(hào)給焊槍啟動(dòng),然后再按設(shè)定的參數(shù)開(kāi)始焊接及控制小車行走。
(3)當(dāng)小車按設(shè)定的參數(shù)從零點(diǎn)開(kāi)始焊接直到焊接終點(diǎn)后,小車停止,焊接停止,假設(shè)進(jìn)入繼續(xù)運(yùn)行程序,(焊槍升高)小車將延時(shí)0至5秒后,自動(dòng)返回到零點(diǎn)上。
(4)小車停止在零點(diǎn)上后,假設(shè)進(jìn)入繼續(xù)程序時(shí),(左壓件)汽缸會(huì)自動(dòng)關(guān)閉,左工件松開(kāi);(右壓件)汽缸自動(dòng)關(guān)閉,右工件松開(kāi)。
(5)當(dāng)兩邊壓件汽缸松開(kāi)后取出工件,動(dòng)作完成。
3.4 應(yīng)用系統(tǒng)任務(wù)結(jié)構(gòu)
  應(yīng)用程序采用多任務(wù)結(jié)構(gòu),任務(wù)劃分如下:
系統(tǒng)顯示任務(wù):
  系統(tǒng)運(yùn)行過(guò)程中,根據(jù)任務(wù)間的不同標(biāo)志位,顯示不同模式的界面。
信號(hào)檢測(cè)任務(wù):
  此任務(wù)檢測(cè)按鍵信號(hào)以及外部信號(hào)檢測(cè)。
運(yùn)動(dòng)模式任務(wù):
  實(shí)現(xiàn)運(yùn)動(dòng)的軌跡,此為焊接機(jī)的核心任務(wù),它處理的是焊接效果是直線插補(bǔ),也可以是圓弧插補(bǔ)。
3.5 應(yīng)用系統(tǒng)部分操作流程圖
圖3
圖3
3.6 系統(tǒng)焊接軌跡及分析
  本系統(tǒng)可以焊接直線和圓弧,可以是開(kāi)環(huán)結(jié)構(gòu),也可以閉環(huán)結(jié)構(gòu),現(xiàn)以一簡(jiǎn)單焊接為例,如圖4:
圖 4
圖 4
  在系統(tǒng)運(yùn)行前,系統(tǒng)模擬一坐標(biāo)系,原點(diǎn)為o(0,0),焊接軌跡分為1、2、3、4部分,并且1、2、3、4部分的開(kāi)始坐標(biāo)和終點(diǎn)坐標(biāo)由系統(tǒng)設(shè)置。系統(tǒng)案例從1部分的直線上任意一點(diǎn)開(kāi)始運(yùn)行,開(kāi)始運(yùn)行時(shí),系統(tǒng)可以通過(guò)“小車向前”或“小車向后”運(yùn)動(dòng)尋找開(kāi)始運(yùn)行點(diǎn),該點(diǎn)可以在1部分的任意,由于焊接現(xiàn)場(chǎng)情況比較復(fù)雜,該起始點(diǎn)的定位由為重要,起始定位不當(dāng),可能焊接的效果可能不合要求。定位好起始點(diǎn)的xy坐標(biāo)以后,系統(tǒng)自動(dòng)記錄該點(diǎn)的坐標(biāo),以備運(yùn)行完4部分弧線以后,再?gòu)?部分直線的開(kāi)始坐標(biāo)運(yùn)行到起點(diǎn)坐標(biāo)。在直線焊接時(shí),可以根據(jù)系統(tǒng)設(shè)置方便可用直線插補(bǔ)運(yùn)行方式也可單軸運(yùn)行方式,這兩個(gè)方式運(yùn)行出的結(jié)果都可以實(shí)現(xiàn)相同的軌跡。在運(yùn)行完1部分直線以后2部分開(kāi)始之前,這兩個(gè)軌跡間有個(gè)拐角,如果系統(tǒng)要求精度高的,那么可以先運(yùn)行完1部分然后減速停止以后再接著開(kāi)始焊接2部分弧線,這樣的效果好,但是運(yùn)行的效率比較低,其中就浪費(fèi)了一些時(shí)間,換言之就是以時(shí)間作為代價(jià)獲得好的焊接效果。根據(jù)MCX314運(yùn)動(dòng)芯片資料,我們可以從另一方案得到這樣的焊接軌跡,不過(guò)焊接的效果可能會(huì)出現(xiàn)有所偏差,但是運(yùn)行速度明顯比方案一的快,如圖5:
圖5
圖5
方案一速度的變化為: 直線速度停止速度圓弧速度
方案二速度的變化為: 直線運(yùn)行快到終點(diǎn)的時(shí),速度慢慢下降,在達(dá)到終點(diǎn)時(shí),速度在圖5的虛線部分,此時(shí)開(kāi)始運(yùn)行圓弧運(yùn)動(dòng)。這就節(jié)約了從停止開(kāi)始加速到虛線位置的時(shí)間。3、4部分焊接與1、2部分類似,只是運(yùn)動(dòng)的方向有所改變。實(shí)際生產(chǎn)中,根據(jù)需求從中選擇所需合理方案。

3.7 系統(tǒng)任務(wù)分配程序
void Task_DISP(void *Id)
{
     for(;;)
     {
          system_menu_disp();
          OSTimeDly(100);
     }
}

void Task_KEY(void *Id)
{
     for(;;)
     {
          system_key_input();
          OSTimeDly(100);
     }
}

void Task_RUN(void *Id)
{
     for(;;)
     {
          run();
          OSTimeDly(200);
     }
}

/******************************************************************************
【功能說(shuō)明】主任務(wù),在本任務(wù)中啟動(dòng)系統(tǒng)定時(shí)器并創(chuàng)建其他任務(wù)
******************************************************************************/

void Main_Task( void *Id )
{
     INT8U err;
     Uart_Printf("nEnter Main_Task...n");
     ARMStartTimer();
     OSStatInit();
     Inital_File(); //初始化文件夾以及個(gè)人參數(shù)
     //主任務(wù)
     OSTaskCreate( Task_RUN, (void *)0, (OS_STK *)&Task_STOP_Stack[TASK_STACK_SIZE*2-1], Task_STOP_PRIO ) ;
     OSTaskCreate( Task_DISP, (void *)0, (OS_STK *)&Task_DISP_Stack[TASK_STACK_SIZE-1], Task_DISP_PRIO ) ;
     OSTaskCreate( Task_KEY, (void *)0, (OS_STK *)&Task_KEY_Stack[TASK_STACK_SIZE-1], Task_KEY_PRIO ) ;
     for( ; ; )
     {
     OSTimeDly(10000);   
          OSSemPend(UART0_SEM, 0, &err) ;
          Uart_Printf( "n+++++++++" ) ;
          Uart_Printf( "OSCPUUsage = %d n", OSCPUUsage ) ;
          OSSemPost(UART0_SEM) ; //置起指定的信號(hào)量
     }
}

其中主任務(wù)為Main_Task( void *Id ),該任務(wù)是創(chuàng)建3個(gè)任務(wù),分別為:Task_RUN()、Task_DISP()、Task_KEY()。此三個(gè)任務(wù)在3.4 應(yīng)用系統(tǒng)任務(wù)結(jié)構(gòu)中分別有介紹。
4結(jié)束語(yǔ)
該焊接機(jī)控制系統(tǒng)采用高性能的MCX系列的運(yùn)動(dòng)芯片,可以輸出脈沖高達(dá)4MHZ,且脈沖丟失率低,又是基于UC/OS_II的嵌入式系統(tǒng)的使用,大大加快了系統(tǒng)的實(shí)時(shí)性和可靠性,該系統(tǒng)的建立有效的提高工業(yè)焊接的生產(chǎn)率,它必將成為將來(lái)中小型工業(yè)控制系統(tǒng)的手選。
5參考文獻(xiàn)
[1] 吳明暉 . 基于ARM的嵌入式系統(tǒng)開(kāi)發(fā)與應(yīng)用。[M] 人民郵電出版社,2006.6
[2] 田 澤 . 嵌入式系統(tǒng)開(kāi)發(fā)與應(yīng)用。[M] 北京航空航天大學(xué)出版社,2005.1

眾為興數(shù)控 0755-26722719-317

(轉(zhuǎn)載)

標(biāo)簽:焊接設(shè)備、焊接機(jī) 我要反饋 
2024世界人工智能大會(huì)專題
即刻點(diǎn)擊并下載ABB資料,好禮贏不停~
優(yōu)傲機(jī)器人下載中心
西克
2024全景工博會(huì)
專題報(bào)道