當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]   嵌入式控制系統(tǒng)以其低功耗、低成本、高性能等優(yōu)勢(shì)被廣泛用于工業(yè)控制領(lǐng)域,而在嵌入式控制系統(tǒng)中步進(jìn)電機(jī)驅(qū)動(dòng)控制技術(shù)是關(guān)鍵技術(shù)之一。在步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)中,傳統(tǒng)的方法是用邏輯電路或單片機(jī)實(shí)

  嵌入式控制系統(tǒng)以其低功耗、低成本、高性能等優(yōu)勢(shì)被廣泛用于工業(yè)控制領(lǐng)域,而在嵌入式控制系統(tǒng)中步進(jìn)電機(jī)驅(qū)動(dòng)控制技術(shù)是關(guān)鍵技術(shù)之一。在步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)中,傳統(tǒng)的方法是用邏輯電路或單片機(jī)實(shí)現(xiàn)步進(jìn)電機(jī)控制,雖然此方法可行,但由于線路復(fù)雜而且制成后不易調(diào)整,存在一定的局限性。隨著嵌入式技術(shù)的發(fā)展,越來越多的智能化帶有界面控制功能的小型設(shè)備深入到人們生活當(dāng)中。開發(fā)者基于嵌入式領(lǐng)域中的Qt技術(shù),設(shè)計(jì)出一套應(yīng)用于工控領(lǐng)域的具有人機(jī)交互界面的智能控制統(tǒng),Qt是挪威TrolLTEch著名的標(biāo)志性產(chǎn)品,采用C++作為程序設(shè)計(jì)語言,已經(jīng)成為用C++GUI工具包在Linux上進(jìn)行自由軟件開發(fā)的主流,是Linux上流行的KDE桌面環(huán)境的基礎(chǔ)。Qt/Embedded是著名的Qt庫開發(fā)商Trolltech公司開發(fā)的面向嵌入式系統(tǒng)的Qt版本。Qt是Server/Client結(jié)構(gòu),延續(xù)了Qt在X上的強(qiáng)大功能,在底層摒棄了Xlib,僅采用幀緩沖作為底層圖形接口。Qt/Embedded類庫完全采用C++封裝,提供給應(yīng)用程序開發(fā)者建立藝術(shù)級(jí)的圖形用戶界面所需的所有功能。Qt/Embedded是完全面向?qū)ο蟮模苋菀讛U(kuò)展,提供了豐富的窗口部件集,并且允許真正的組件編程。

  1 硬件電路設(shè)計(jì)

  1.1 系統(tǒng)整體框圖

  該控制系統(tǒng)的硬件部分主要由:步進(jìn)電機(jī)、TA8435H、S3C2440微處理器、光電耦合器、觸摸顯示屏組成??刂葡到y(tǒng)硬件結(jié)構(gòu)圖如圖1所示。

系統(tǒng)在Linux下應(yīng)用Qt設(shè)計(jì)開發(fā)嵌入式控制系統(tǒng)人機(jī)界面的方法,通過觸摸屏界面對(duì)步進(jìn)電機(jī)進(jìn)行控制,控制步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)方向和轉(zhuǎn)速、細(xì)分模式等。 1.2 電路設(shè)計(jì) 1.2.1 SC2440和TA8435H電路設(shè)計(jì) 本系統(tǒng)的硬件核心電路是由S3C2440處理器、TA8435H步進(jìn)電機(jī)驅(qū)動(dòng)芯片以及步進(jìn)電機(jī)組成的步進(jìn)電機(jī)控制電路。步進(jìn)電機(jī)控制電路如圖2所示。

在該步進(jìn)電控制系統(tǒng)中,采用了以arm920t為內(nèi)核的S3C2440芯片,該芯片是三星公司生產(chǎn)的一款高性能微處理器,具有功耗小、性能高、價(jià)格低等優(yōu)勢(shì),在許多領(lǐng)域都獲 得了應(yīng)用。本文選擇該芯片為核心處理器,并將其植入Linux系統(tǒng),進(jìn)而完成通過觸摸屏對(duì)步進(jìn)電機(jī)交互控制。S3C2440芯片擁有289個(gè)引腳,其中多功能通用I/O多達(dá)30個(gè),分別為GPA~GPJ,GPA有25個(gè)輸出端口,其余均可根據(jù)需要配置成輸入或輸出。為了實(shí)現(xiàn)四個(gè)電機(jī)的可靠控制,本系統(tǒng)選擇GPB端口為控制端口,該端口具有8個(gè)引腳,分別為GPB0~GPB8,所以可完成步進(jìn)電機(jī)的實(shí)時(shí)控制。TA8435H是東芝公司生產(chǎn)的單片正弦細(xì)分二項(xiàng)步進(jìn)電機(jī)驅(qū)動(dòng)專用芯片,TA8435H可以驅(qū)動(dòng)二項(xiàng)步進(jìn)電機(jī),且電路簡(jiǎn)單,工作可靠。 TA8435H步進(jìn)電機(jī)驅(qū)動(dòng)芯片引腳4外接電容的電容值決定芯片內(nèi)部驅(qū)動(dòng)級(jí)的斬波頻率,這里使用的電容容量是0.01μF。由于電機(jī)所需要的驅(qū)動(dòng)電流為0.1 A,因此設(shè)定REF IN引腳為高電平,Rnf=0.8 Ω。步進(jìn)電機(jī)接口需要使用快恢復(fù)二級(jí)管(D1—D4),用來泄放繞組電流。 1.2.2 電路可靠性設(shè)計(jì) 為了提高硬件的可靠性并且有效抑制干擾,S3C2440和TA8435H之間加入由光耦TLP521-4和TLP521-2芯片組成的電平隔離電路,將S3C2440處理器控制信號(hào)與步進(jìn)電機(jī)控制器進(jìn)行電平轉(zhuǎn)換和隔離。電平隔離電路如圖3所示,S3C2440處理器GPIO端口、PWM輸出引腳通過光電耦合器TLP251實(shí)現(xiàn)電平隔離轉(zhuǎn)換。

2 軟件設(shè)計(jì)

由于在實(shí)際工業(yè)控制中會(huì)對(duì)電機(jī)有精度、速度、穩(wěn)定性、方向等要求,所以本設(shè)計(jì)要通過觸摸屏按鍵交互,實(shí)現(xiàn)對(duì)電機(jī)正轉(zhuǎn)、反轉(zhuǎn)、轉(zhuǎn)速、細(xì)分模式的選擇。 TA8435H芯片有正轉(zhuǎn)反轉(zhuǎn)兩種工作模式,分別通過引腳CW/CK1/CK控制電機(jī)的正反轉(zhuǎn)。也可以通過M1,M2輸入引腳的高低電平來選擇細(xì)分模式。當(dāng)M1M2為00表示步進(jìn)電機(jī)工作在整部方式,沒有細(xì)分;10為半步方式,01為1/4方式;11為1/8細(xì)分方式。在低速工作時(shí),可以選用1/4或1/8細(xì)分模式,以提高步距角精度;在高速工作時(shí),可以選用整步或半步方式,以提高步進(jìn)電機(jī)運(yùn)行的穩(wěn)定性,減小步進(jìn)電機(jī)的噪聲和振動(dòng)。 步進(jìn)電機(jī)的轉(zhuǎn)速是由脈沖信號(hào)頻率所決定的,脈沖信號(hào)的產(chǎn)生與控制實(shí)際是由CPU產(chǎn)生的,一般脈沖信號(hào)的占空比為0.3—0.4左右,電機(jī)轉(zhuǎn)速越高,占空比則越大。本設(shè)計(jì)中電機(jī)轉(zhuǎn)速是通過改變定時(shí)器參數(shù),已產(chǎn)生其他頻率和占空比的PWM輸出控制步進(jìn)電機(jī)。 PWM輸出信號(hào)占空比公式為

PWM定時(shí)器的設(shè)置,要分別設(shè)置定時(shí)器0的預(yù)分頻器值和時(shí)鐘分頻值,以供定時(shí)器0的比較緩沖寄存器和計(jì)數(shù)緩存寄存器。預(yù)分頻值為0~255,分頻器的分頻值為2,4,8,16。 定時(shí)器輸出時(shí)鐘頻率為 TCLK=PCLK/[(預(yù)分頻值+1)]×分頻器分頻值 (2) 當(dāng)時(shí)鐘被使能后,定時(shí)器計(jì)數(shù)緩沖存儲(chǔ)器(TCNTBn)把計(jì)數(shù)初值下載到遞減計(jì)數(shù)器中,定時(shí)器比較緩沖器(TCMPBn)把其初始值下載到比較寄存器中,并將該值和遞減計(jì)數(shù)器的值進(jìn)行比較。這種基于TCNTBn和TCMPBn的雙緩沖特性使定時(shí)器在頻率和占空比變化時(shí)產(chǎn)生穩(wěn)定輸出。 3 QT控制界面設(shè)計(jì)開發(fā) 首先介紹將Qt/Embedded在以S3C2440為核心的硬件平臺(tái)上的移植。該系統(tǒng)采用CPU內(nèi)部LCD控制器和320*240分辨率的16bpp TFT LCD作為顯示設(shè)備,同時(shí)移植了ARM Linux作為操作系統(tǒng)。這里用到的操作系統(tǒng)平臺(tái)是Linux—Red Hat 9.0,交叉編譯器版本是arm—linux—gCC4.1. 2。其次介紹以qtopia為圖形界面應(yīng)用程序開發(fā)平臺(tái)和圖形界面控制電機(jī)系統(tǒng)的開發(fā)過程。 3.1 tslib移植


本設(shè)計(jì)采用的觸摸屏是TQ4.3寸屏,因?yàn)橐ㄟ^與觸摸屏的交互來控制電機(jī),也就是說在開發(fā)板上操作QT程序,是通過觸摸屏完成的,所以首先要移植tslib,進(jìn)行觸摸屏校正。tslib是一個(gè)開源的觸摸屏支持庫,它是handhELDs.org上開發(fā)的,作者是Russul King,Douglas Lowder和Chris Larson。它給上層的應(yīng)用程序,為不同的觸摸屏提供了一個(gè)統(tǒng)一的接口。它提供諸如濾波、去抖、校準(zhǔn)之類的功能。 解壓源代碼tslib-1.4.tar.gz,編譯安裝tslib,將安裝路徑下的整個(gè)tslib文件夾,下載至開發(fā)班的上,存放的路徑為/usr/LOCal。設(shè)置開發(fā)板環(huán)境變量,通過超級(jí)終端,打開環(huán)境變量文件/etc/profile,添加如下內(nèi)容:

3.2 QT開發(fā)環(huán)境搭建與移植 將qt-4.6.3.tar.gz壓縮包解壓為3份,分別編譯PC,嵌入式x86和arm三個(gè)版本的Qtopia-2.2.0。在root目錄下建立tmp文件夾,將qt-4.6.2.tar.gz直接解壓后復(fù)制3份,分別命名為pc、x86、arm。將Linux-Red Hat上/usr/local/TrolLTEch/QtEmbedded-4.6.3-arm/lib(bin/include/fronts)中的所有文件分別復(fù)制到ARM板/fla sh/qt/lilib(bin/include/fronts)目錄中。移植qt的嵌入式版本到嵌入式設(shè)備中,保證設(shè)備啟動(dòng)后可以正常進(jìn)入到GUI模式。 3.3 建立QT項(xiàng)目文件 在PC的Linux的終端輸入命令:#qt2/bin/designer &1來在后臺(tái)啟動(dòng)QT設(shè)計(jì)器。設(shè)計(jì)步進(jìn)電機(jī)的控制界面,整個(gè)控制界面的名稱為xagc,并將按鈕的點(diǎn)擊事件與控制電機(jī)轉(zhuǎn)速和方向的函數(shù)用信號(hào)與槽連接起來。圖4是電機(jī)控制界面,控制界面分別控制電機(jī)轉(zhuǎn)動(dòng)、細(xì)分模式、四種轉(zhuǎn)速。圖5是信號(hào)和槽連接,添加的響應(yīng)函數(shù)為void Motor_CW(),voidMotor_CCW(),voidDriver_Model1/2/3/4(),void Speed Model1/2/3/4()。

保存工程名為xagc.ui,然后使用uIC軟件將剛剛建立工程轉(zhuǎn)化為源代碼,首先建立一個(gè)可執(zhí)行腳本來完成文件轉(zhuǎn)換,這里用到的文件名與ui相同,該腳本會(huì)在以后開發(fā)中用到,設(shè)置ui2cpp腳本為可執(zhí)行,最后執(zhí)行建立的腳本轉(zhuǎn)換文件。獲得源碼xagc.h;xagc.cpp;moc_first.cpp。程序如下。

根據(jù)得到的pro文件使用tmaker軟件生成Makefile文件,手首先復(fù)制前面制作好的“xagc/”目錄到“/opt/EmbedSky/Qte/arm-qtopia-2.2.0/pro/”目錄下,然后重新打開一個(gè)PC的linux的終端,重新設(shè)置環(huán)境變量,修改Makefile文件,然后編譯即可完成移植。 4 結(jié)果測(cè)試 經(jīng)測(cè)試,電機(jī)控制界面移植到了s3c2440上,并通過觸摸屏按鍵的交互,可以實(shí)現(xiàn)步進(jìn)電機(jī)的控制,并且在改變電機(jī)速度時(shí),電機(jī)可以穩(wěn)定的運(yùn)行。實(shí)例運(yùn)行結(jié)果如圖6。

5 結(jié)論

圖形用戶界面的廣泛流行是當(dāng)今計(jì)算機(jī)技術(shù)的重大成就之一,它極大地方便了非專業(yè)用戶的使用。本設(shè)計(jì)通過Linux下應(yīng)用Qt設(shè)計(jì)開發(fā)嵌入式控制系統(tǒng)人機(jī)界面的方法,設(shè)計(jì)出了簡(jiǎn)單方便的步進(jìn)電機(jī)控制界面,實(shí)現(xiàn)了對(duì)步進(jìn)電機(jī)轉(zhuǎn)速、方向、細(xì)分模式的選擇控制。運(yùn)用這一技術(shù)控制的步進(jìn)電機(jī)成功地應(yīng)用到我們研制的核電設(shè)備的焊機(jī)系統(tǒng)上,系統(tǒng)運(yùn)行穩(wěn)定,控制精度高,其軟件界面形象生動(dòng),并且編程簡(jiǎn)單,實(shí)現(xiàn)起來非常方便,并且可根據(jù)用戶的不同要求隨時(shí)調(diào)整控制方式,因此具有廣泛的應(yīng)用價(jià)值。


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉