• 
    <ul id="auswy"><sup id="auswy"></sup></ul>
  • <ul id="auswy"></ul>
    ABB
    關(guān)注中國自動(dòng)化產(chǎn)業(yè)發(fā)展的先行者!
    CAIAC 2025
    2025工業(yè)安全大會(huì)
    OICT公益講堂
    當(dāng)前位置:首頁 >> 案例 >> 案例首頁

    案例頻道

    嵌入式系統(tǒng)在電磁打樁機(jī)上的應(yīng)用
    • 企業(yè):     領(lǐng)域:人機(jī)界面     行業(yè):機(jī)械    
    • 點(diǎn)擊數(shù):1818     發(fā)布時(shí)間:2005-08-22 15:44:56
    • 分享到:
    介紹了嵌入式系統(tǒng)在電磁打樁機(jī)上的應(yīng)用,并介紹了電磁打樁機(jī)的功能。



    1  電磁打樁機(jī)及其功能要求簡介

        電磁驅(qū)動(dòng)是指導(dǎo)體在電磁場中受到電磁作用力而發(fā)生運(yùn)動(dòng)。電磁驅(qū)動(dòng)器是由單組線圈外加軛鐵構(gòu)成。當(dāng)電樞進(jìn)入電磁驅(qū)動(dòng)器中時(shí),線圈不通電,由于軛鐵和電樞都是用軟磁性材料制成,它們之間沒有作用力;當(dāng)線圈通電,軛鐵和電樞都被磁化,軛鐵和電樞以及軛鐵與電樞之間的空氣間隙組成閉合磁路,電磁驅(qū)動(dòng)器與電樞之間將產(chǎn)生電磁相互作用。但這種相互作用與電樞和驅(qū)動(dòng)器之間的相對(duì)位置有關(guān),當(dāng)電樞處于驅(qū)動(dòng)器的中平面上,磁阻最小,作用力為零;當(dāng)電樞處于驅(qū)動(dòng)器的某一端時(shí),作用力使電樞向另一端運(yùn)動(dòng)。要強(qiáng)調(diào)的是,這種作用力的大小除了與電樞和驅(qū)動(dòng)器相對(duì)位置有關(guān)外,僅與線圈電流的大小有關(guān),而與電流的變化率無關(guān)。



    圖1  電磁打樁機(jī)結(jié)構(gòu)圖




       
    如果將電磁驅(qū)動(dòng)器與某個(gè)物體相連接,并且讓其在與電樞發(fā)生相互作用時(shí)受到的作用力方向總是朝一個(gè)方向,那么電磁驅(qū)動(dòng)器就能帶著那個(gè)物體總是朝另一個(gè)方向運(yùn)動(dòng)。筆者所要設(shè)計(jì)的電磁打樁機(jī)正是運(yùn)用了上面的原理,電磁打樁機(jī)結(jié)構(gòu)如圖1所示。
        電磁打樁機(jī)工作的關(guān)鍵是線圈放電時(shí)機(jī)、放電時(shí)間和放電強(qiáng)度的選擇,而且對(duì)準(zhǔn)確性和實(shí)時(shí)性的要求很高,靠傳統(tǒng)的機(jī)械和電子手段已經(jīng)不能解決問題。為了保證控制的準(zhǔn)確性和快速反應(yīng)能力,必須采用計(jì)算機(jī)技術(shù)。在打樁過程中可能需要對(duì)樁的狀態(tài)和性能做分析,樁的動(dòng)測技術(shù)同樣也要采用計(jì)算機(jī)技術(shù)來實(shí)現(xiàn)對(duì)信號(hào)的采集和處理分析。由于電磁打樁機(jī)機(jī)電部件多而且工作環(huán)境惡劣,在野外難免會(huì)發(fā)生故障,這就要求它能具有一定的自我故障診斷功能。

    2  電磁打樁機(jī)控制器總體結(jié)構(gòu)設(shè)計(jì)

        嵌入式系統(tǒng)作為一個(gè)專用的計(jì)算機(jī)非常適合這種場合,根據(jù)電磁打樁機(jī)的功能要求和嵌入式系統(tǒng)的一般設(shè)計(jì)原則并結(jié)合未來的發(fā)展趨勢,電磁打樁機(jī)控制器的結(jié)構(gòu)設(shè)計(jì)如圖2所示。



    圖2  電磁打樁機(jī)控制器結(jié)構(gòu)圖




    3  電磁打樁機(jī)控制器的硬件

    (1)  微處理器
        一個(gè)嵌入式系統(tǒng)最核心的硬件是微處理器,筆者選擇SAMSUNG公司的S3C44B0X作為電磁打樁機(jī)控制器的處理器,這是一款專為手持設(shè)備和一般應(yīng)用提供的高性價(jià)比和高性能的ARM7TDMI核和RISC結(jié)構(gòu)的32位微處理器。S3C44B0X自身帶有擴(kuò)展內(nèi)存控制器、LCD控制器、71個(gè)通用I/O、8個(gè)10位ADC、帶PWM的定義器等。

    (2)  存儲(chǔ)器系統(tǒng)
        對(duì)于系統(tǒng)的存儲(chǔ)結(jié)構(gòu),采用BIOS+系統(tǒng)內(nèi)存+海量存儲(chǔ)器的形式。系統(tǒng)通過BIOS啟動(dòng),然后將硬盤里面的可執(zhí)行文件拷貝到系統(tǒng)內(nèi)存中,系統(tǒng)開始運(yùn)行。BIOS采用NOR FLASH(線性FLASH),系統(tǒng)內(nèi)存采用SDRAM,海量存儲(chǔ)采用NAND FLASH(非線性FLASH)。S3C44B0X的地址空間具有8個(gè)Bank,在這里Bank0用作BIOS,Bank1用作海量存儲(chǔ),Bank6用作系統(tǒng)內(nèi)存。S3C44B0X支持多種數(shù)據(jù)總線,這里采用的是16位數(shù)據(jù)總線,因此在存儲(chǔ)器與處理器相連的時(shí)候要將存儲(chǔ)器地址引腳A0和S3C44B0X的地址引腳A1相連,其他對(duì)應(yīng)相連。

    (3)  人機(jī)接口
        人機(jī)接口包括鍵盤和LCD顯示。鍵盤采用4×4的小鍵盤,分別有0~9、小數(shù)點(diǎn)、↑、↓、←、→、Enter這16個(gè)鍵。鍵盤采用行列布局,以掃描的方式工作。鍵盤的行列線分別接在S3C44B0X的8個(gè)通用I/O口上。
        由于S3C44B0X內(nèi)部帶有LCD控制器,因此只需外接LCD顯示屏,配以外圍的驅(qū)動(dòng)電路,再對(duì)LCD的寄存器進(jìn)行編程即可。這里給電磁打樁機(jī)控制配置的顯示屏是常見的320×240的單色LCD。

    (4)  系統(tǒng)接口
        為了使電磁打樁機(jī)控制器能夠與外界交換信息,一些接口是必不可少的。在這里使用RS-232C作為其串行接口。S3C44B0X本身帶有UART(通用異步收發(fā)器),可以提供兩個(gè)獨(dú)立的異步串行I/O口。由于RS-232C和UART端口的電平特性不同,要通過電平轉(zhuǎn)換芯片如MAX3232等來實(shí)現(xiàn)兩者之間電平的轉(zhuǎn)換。
        USB接口是已漸漸成為標(biāo)準(zhǔn)接口,具有很強(qiáng)的通用性和擴(kuò)展性。S3C44B0X沒有USB控制器,因此通過外部的USB控制器USBN9603來擴(kuò)展出一個(gè)USB接口,該接口是作為設(shè)備接口使用的。
        隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,特別是IPv6技術(shù)的發(fā)展,這使得每一個(gè)嵌入式設(shè)備都有機(jī)會(huì)接入因特網(wǎng)。電磁打樁機(jī)控制器一旦能夠與網(wǎng)絡(luò)連接,就可以通過網(wǎng)絡(luò)實(shí)現(xiàn)遠(yuǎn)程控制、遠(yuǎn)程診斷和軟件的遠(yuǎn)程下載等。S3C44B0X沒有自帶Ethernet接口,這就需要通過外部Ethernet控制芯片來完成。這里用的是最常見的Ethernet控制芯片RTL8019AS。Ethernet的物理接口一般是RJ-45接口,RTL8019AS的數(shù)據(jù)收發(fā)線經(jīng)隔離變壓器與RJ-45相對(duì)應(yīng)的端口相連。

    (5)  數(shù)字、模擬I/O
        電磁打樁機(jī)由許多部件組成,對(duì)各個(gè)組成部件的開關(guān)控制、部件狀態(tài)的監(jiān)測等需要許多數(shù)字I/O口;而且設(shè)備還有各種傳感器,這些傳感器發(fā)回的大多是模擬信號(hào),這就需要模擬I/O口。S3C44B0X本身帶有71個(gè)通用數(shù)字I/O,但很多都被占用,筆者用兩片8255A來擴(kuò)展到24路輸入和24路輸出。電磁打樁機(jī)除了傳感器之外,其他部件與控制器之間的傳輸?shù)男盘?hào)基本上沒有模擬信號(hào),而且S3C44B0X本身帶有8個(gè)10位ADC,數(shù)量和精度都已經(jīng)能夠滿足使用要求,因此無需專門設(shè)計(jì)模擬信號(hào)輸入輸出。

    (6)  外圍輔助電路
        由于電磁打樁機(jī)控制器各個(gè)器件的工作電壓是不同的,如S3C44B0X內(nèi)核為2.5V,I/O為3.3V,LCD驅(qū)動(dòng)需要28V等。通過MAX1677可以從0.7~5.5V的輸入得到3.3V和28V的電壓,2.5V的電壓則通過對(duì)3.3V的電壓經(jīng)二極管降壓得到。
    其他的如復(fù)位、時(shí)鐘電路也是必不可少的。

    4  電磁打樁機(jī)控制器的軟件

    (1)  操作系統(tǒng)μC/OS-Ⅱ
        嵌入式系統(tǒng)的軟件一般可分為兩種,一種是沒有操作系統(tǒng)的,一種是有操作系統(tǒng)的。沒有操作系統(tǒng)的通常是通過CPU在所有任務(wù)之間輪回調(diào)度來實(shí)現(xiàn),整個(gè)程序是一個(gè)無限循環(huán)。由于電磁打樁機(jī)控制器所要做的較多,而且對(duì)于某些事情線圈放電參數(shù)計(jì)算,其實(shí)時(shí)性要求很高,這就要用實(shí)時(shí)嵌入式操作系統(tǒng)來管理。這里為電磁打樁機(jī)控制器選擇的操作系統(tǒng)是Jean J. Labrosse的μC/OS-Ⅱ。
        μC/OS-Ⅱ是一款開放源碼的實(shí)時(shí)嵌入式操作系統(tǒng),具有可移植性強(qiáng)、可固化、可裁剪、內(nèi)核短小精悍等特點(diǎn),是比較理想的低端嵌入式操作系統(tǒng)。

    (2)  μC/OS-Ⅱ在S3C44B0X上的移植
        μC/OS-Ⅱ在設(shè)計(jì)之初就考慮到了在不同CPU上運(yùn)行,因此將和CPU與編譯器相關(guān)的部分都獨(dú)立出來。μC/OS-Ⅱ與CPU和編譯器有關(guān)的部分都集中在OS_CPU.H、OS_CPU_A.ASM和OS_CPU_C.C文件中。將μC/OS-Ⅱ移植到S3C44B0X就要根據(jù)S3C44B0X和編譯器對(duì)這三個(gè)文件進(jìn)行改寫。
        OS_CPU.H文件包含與編譯器相關(guān)的數(shù)據(jù)類型、堆棧的定義以及用于開關(guān)中斷的宏的定義。
        OS_CPU_A.ASM中要改實(shí)現(xiàn)的是與處理器相關(guān)的幾個(gè)函數(shù):運(yùn)行優(yōu)先級(jí)最高的就緒任務(wù)函數(shù)OSStartHighRdy()、任務(wù)級(jí)的任務(wù)切換函數(shù)OSCtxSw()、中斷級(jí)的任務(wù)切換函數(shù)OSIntCtxSw()和時(shí)鐘節(jié)拍中斷服務(wù)函數(shù)OSTickISR()。這些函數(shù)只能用匯編語言編寫。
        OS_CPU_C.C中需要用C語言實(shí)現(xiàn)和操作系統(tǒng)有關(guān)的幾個(gè)函數(shù):任務(wù)堆棧初始化函數(shù)OSTaskStkInit()和另外5個(gè)鉤子函數(shù)。鉤子函數(shù)可以不添加代碼。
        對(duì)這三個(gè)文件進(jìn)行改寫后經(jīng)調(diào)試μC/OS-Ⅱ就可以在S3C44B0X上運(yùn)行了。

    (3)  μC/OS-Ⅱ網(wǎng)絡(luò)連接的實(shí)現(xiàn)
        設(shè)備要與現(xiàn)有因特網(wǎng)連接就必須要支持TCP/IP協(xié)議。μC/OS-Ⅱ只提供了一個(gè)內(nèi)核,它本身并不帶有TCP/IP協(xié)議,但通過自己編寫代碼或使用第三方的軟件可以實(shí)現(xiàn)μC/OS-Ⅱ的網(wǎng)絡(luò)連接。這里將LwIP移植到μC/OS-Ⅱ上來實(shí)現(xiàn)網(wǎng)絡(luò)連接。
        LwIP是瑞士計(jì)算機(jī)學(xué)院(SICS)的Adam Dunkels等人開發(fā)的一套用于嵌入式系統(tǒng)的開發(fā)源碼的TCP/IP協(xié)議棧。LwIP實(shí)現(xiàn)的重點(diǎn)是在保持TCP協(xié)議主要功能的基礎(chǔ)上減少對(duì)RAM的需求。一般只需要幾十K的RAM和ROM就可以運(yùn)行,非常適合在低端嵌入式系統(tǒng)中使用。LwIP在設(shè)計(jì)之時(shí)就充分考慮了在各種操作系統(tǒng)上的移植,將與硬件、操作系統(tǒng)和編譯器相關(guān)的都獨(dú)立出來。
        LwIP中與CPU或編譯器有關(guān)的文件包括cc.h、cpu.h和perf.h,這些文件定義了數(shù)據(jù)長度、字的高低位順序等。
        sys_arch.c中的內(nèi)容主要是與操作系統(tǒng)有關(guān)的一些結(jié)構(gòu)和函數(shù)。在這里要實(shí)現(xiàn)的有系統(tǒng)初始化sys_init()、新線程的創(chuàng)建sys_thread_new()、信號(hào)量的創(chuàng)建和使用sys_sem_t、消息的創(chuàng)建和使用sys_mbox_t,以及等待超時(shí)時(shí)間timeout的實(shí)現(xiàn)。
        在lib_arch.c中有一些LwIP用到的外部函數(shù)要實(shí)現(xiàn),這些函數(shù)主要是改變字節(jié)順序的函數(shù)和一些字符串處理函數(shù)。
        LwIP為網(wǎng)絡(luò)設(shè)備制定了一個(gè)ethernetif.c的模板用于網(wǎng)絡(luò)設(shè)備的驅(qū)動(dòng)。根據(jù)使用的網(wǎng)絡(luò)芯片的不同對(duì)ethernetif.c文件進(jìn)行改寫。驅(qū)動(dòng)中要做的就是對(duì)網(wǎng)卡的初始化、接收、發(fā)送和中斷處理操作。

    (4)  針對(duì)電磁打樁機(jī)的應(yīng)用程序

    針對(duì)電磁打樁機(jī)的實(shí)際工作情況和其控制器的設(shè)計(jì),其應(yīng)用程序基本上包括如下幾個(gè)部分:
    ?  人機(jī)接口程序,如鍵盤和LCD顯示;
    ?  數(shù)字、模擬I/O口處理程序;
    ?  系統(tǒng)自檢、故障診斷程序;
    ?  打樁程序;
    ?  樁測試程序;
    ?  其他服務(wù)程序。
        μC/OS-Ⅱ中的應(yīng)用程序是以任務(wù)的形式出現(xiàn)。根據(jù)實(shí)際使用要求,筆者為上述六種任務(wù)制定相應(yīng)的優(yōu)先級(jí)。μC/OS-Ⅱ?yàn)樽约罕A袅?個(gè)任務(wù)的,用戶可以使用的有56個(gè)。將鍵盤任務(wù)的優(yōu)先級(jí)定為10,是應(yīng)用程序中的最高優(yōu)先級(jí),其他應(yīng)用任務(wù)的優(yōu)先級(jí)依次降低。
        由于在打樁時(shí)5和6程序并不是必要的,因此只是在被人為激活后才進(jìn)入運(yùn)行,運(yùn)行結(jié)束后任務(wù)進(jìn)入休眠狀態(tài)。

    5  結(jié)語

        基于ARM核微處理器和μC/OS-Ⅱ操作系統(tǒng)的嵌入式系統(tǒng)作為電磁打樁機(jī)控制器可以有效實(shí)現(xiàn)對(duì)設(shè)備的控制并且能夠具有一定的智能化水平。同時(shí)由于硬件設(shè)計(jì)上充分考慮到了大多數(shù)應(yīng)用的需要,軟件結(jié)構(gòu)采用操作系統(tǒng)+應(yīng)用程序的模型,只要對(duì)硬件做很小的改到,通過軟件編程就可以使它很容易應(yīng)用到其他應(yīng)用場合

    熱點(diǎn)新聞

    推薦產(chǎn)品

    x
    • 在線反饋
    1.我有以下需求:



    2.詳細(xì)的需求:
    姓名:
    單位:
    電話:
    郵件: