<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 基于A(yíng)RM9和QT的步進(jìn)電機驅動(dòng)控制系統設計與實(shí)現

基于A(yíng)RM9和QT的步進(jìn)電機驅動(dòng)控制系統設計與實(shí)現

作者: 時(shí)間:2016-10-10 來(lái)源:網(wǎng)絡(luò ) 收藏

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

本文引用地址:http://dyxdggzs.com/article/201610/306726.htm

1 硬件電路設計

1.1 系統整體框圖

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

基于A(yíng)RM9和QT的步進(jìn)電機驅動(dòng)控制系統設計與實(shí)現

系統在Linux下應用Qt設計開(kāi)發(fā)嵌入式控制系統人機界面的方法,通過(guò)觸摸屏界面對步進(jìn)電機進(jìn)行控制,控制步進(jìn)電機的轉動(dòng)方向和轉速、細分模式等。

1.2 電路設計

1.2.1 和TA8435H電路設計

本系統的硬件核心電路是由S3C2440處理器、TA8435H步進(jìn)電機驅動(dòng)芯片以及步進(jìn)電機組成的電路。步進(jìn)電機控制電路如圖2所示。

基于A(yíng)RM9和QT的步進(jìn)電機驅動(dòng)控制系統設計與實(shí)現

在該步進(jìn)電控制系統中,采用了以arm920t為內核的S3C2440芯片,該芯片是三星公司生產(chǎn)的一款高性能微處理器,具有功耗小、性能高、價(jià)格低等優(yōu)勢,在許多領(lǐng)域都獲

得了應用。本文選擇該芯片為核心處理器,并將其植入Linux系統,進(jìn)而完成通過(guò)觸摸屏對步進(jìn)電機交互控制。S3C2440芯片擁有289個(gè)引腳,其中多功能通用I/O多達30個(gè),分別為GPA~GPJ,GPA有25個(gè)輸出端口,其余均可根據需要配置成輸入或輸出。為了實(shí)現四個(gè)電機的可靠控制,本系統選擇GPB端口為控制端口,該端口具有8個(gè)引腳,分別為GPB0~GPB8,所以可完成步進(jìn)電機的實(shí)時(shí)控制。TA8435H是東芝公司生產(chǎn)的單片正弦細分二項步進(jìn)電機驅動(dòng)專(zhuān)用芯片,TA8435H可以驅動(dòng)二項步進(jìn)電機,且電路簡(jiǎn)單,工作可靠。

TA8435H步進(jìn)電機驅動(dòng)芯片引腳4外接電容的電容值決定芯片內部驅動(dòng)級的斬波頻率,這里使用的電容容量是0.01μF。由于電機所需要的驅動(dòng)電流為0.1 A,因此設定REF IN引腳為高電平,Rnf=0.8 Ω。步進(jìn)電機接口需要使用快恢復二級管(D1—D4),用來(lái)泄放繞組電流。

1.2.2 電路可靠性設計

為了提高硬件的可靠性并且有效抑制干擾,S3C2440和TA8435H之間加入由光耦TLP521-4和TLP521-2芯片組成的電平隔離電路,將S3C2440處理器控制信號與步進(jìn)電機控制器進(jìn)行電平轉換和隔離。電平隔離電路如圖3所示,S3C2440處理器GPIO端口、PWM輸出引腳通過(guò)光電耦合器TLP251實(shí)現電平隔離轉換。

基于A(yíng)RM9和QT的步進(jìn)電機驅動(dòng)控制系統設計與實(shí)現

2 軟件設計

由于在實(shí)際工業(yè)控制中會(huì )對電機有精度、速度、穩定性、方向等要求,所以本設計要通過(guò)觸摸屏按鍵交互,實(shí)現對電機正轉、反轉、轉速、細分模式的選擇。

TA8435H芯片有正轉反轉兩種工作模式,分別通過(guò)引腳CW/CK1/CK控制電機的正反轉。也可以通過(guò)M1,M2輸入引腳的高低電平來(lái)選擇細分模式。當M1M2為00表示步進(jìn)電機工作在整部方式,沒(méi)有細分;10為半步方式,01為1/4方式;11為1/8細分方式。在低速工作時(shí),可以選用1/4或1/8細分模式,以提高步距角精度;在高速工作時(shí),可以選用整步或半步方式,以提高步進(jìn)電機運行的穩定性,減小步進(jìn)電機的噪聲和振動(dòng)。

步進(jìn)電機的轉速是由脈沖信號頻率所決定的,脈沖信號的產(chǎn)生與控制實(shí)際是由CPU產(chǎn)生的,一般脈沖信號的占空比為0.3—0.4左右,電機轉速越高,占空比則越大。本設計中電機轉速是通過(guò)改變定時(shí)器參數,已產(chǎn)生其他頻率和占空比的PWM輸出控制步進(jìn)電機。

PWM輸出信號占空比公式為

基于A(yíng)RM9和QT的步進(jìn)電機驅動(dòng)控制系統設計與實(shí)現

PWM定時(shí)器的設置,要分別設置定時(shí)器0的預分頻器值和時(shí)鐘分頻值,以供定時(shí)器0的比較緩沖寄存器和計數緩存寄存器。預分頻值為0~255,分頻器的分頻值為2,4,8,16。

定時(shí)器輸出時(shí)鐘頻率為

TCLK=PCLK/[(預分頻值+1)]×分頻器分頻值 (2)

當時(shí)鐘被使能后,定時(shí)器計數緩沖存儲器(TCNTBn)把計數初值下載到遞減計數器中,定時(shí)器比較緩沖器(TCMPBn)把其初始值下載到比較寄存器中,并將該值和遞減計數器的值進(jìn)行比較。這種基于TCNTBn和TCMPBn的雙緩沖特性使定時(shí)器在頻率和占空比變化時(shí)產(chǎn)生穩定輸出。

3 QT控制界面設計開(kāi)發(fā)

首先介紹將Qt/Embedded在以S3C2440為核心的硬件平臺上的移植。該系統采用CPU內部LCD控制器和320*240分辨率的16bpp TFT LCD作為顯示設備,同時(shí)移植了ARM Linux作為操作系統。這里用到的操作系統平臺是Linux—Red Hat 9.0,交叉編譯器版本是arm—linux—gcc 4.1. 2。其次介紹以qtopia為圖形界面應用程序開(kāi)發(fā)平臺和圖形界面控制電機系統的開(kāi)發(fā)過(guò)程。

3.1 tslib移植

本設計采用的觸摸屏是TQ4.3寸屏,因為要通過(guò)與觸摸屏的交互來(lái)控制電機,也就是說(shuō)在開(kāi)發(fā)板上操作QT程序,是通過(guò)觸摸屏完成的,所以首先要移植tslib,進(jìn)行觸摸屏校正。tslib是一個(gè)開(kāi)源的觸摸屏支持庫,它是handhelds.org上開(kāi)發(fā)的,作者是Russul King,Douglas Lowder和Chris Larson。它給上層的應用程序,為不同的觸摸屏提供了一個(gè)統一的接口。它提供諸如濾波、去抖、校準之類(lèi)的功能。

解壓源代碼tslib-1.4.tar.gz,編譯安裝tslib,將安裝路徑下的整個(gè)tslib文件夾,下載至開(kāi)發(fā)班的上,存放的路徑為/usr/local。設置開(kāi)發(fā)板環(huán)境變量,通過(guò)超級終端,打開(kāi)環(huán)境變量文件/etc/profile,添加如下內容:

基于A(yíng)RM9和QT的步進(jìn)電機驅動(dòng)控制系統設計與實(shí)現
基于A(yíng)RM9和QT的步進(jìn)電機驅動(dòng)控制系統設計與實(shí)現

3.2 QT開(kāi)發(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直接解壓后復制3份,分別命名為pc、x86、arm。將Linux-Red Hat上/usr/local/Trolltech/QtEmbedded-4.6.3-arm/lib(bin/include/fronts)中的所有文件分別復制到ARM板/fla sh/qt/lilib(bin/include/fronts)目錄中。移植qt的嵌入式版本到嵌入式設備中,保證設備啟動(dòng)后可以正常進(jìn)入到GUI模式。

3.3 建立QT項目文件

在PC的Linux的終端輸入命令:#qt2/bin/designer 1來(lái)在后臺啟動(dòng)QT設計器。設計步進(jìn)電機的控制界面,整個(gè)控制界面的名稱(chēng)為xagc,并將按鈕的點(diǎn)擊事件與控制電機轉速和方向的函數用信號與槽連接起來(lái)。圖4是電機控制界面,控制界面分別控制電機轉動(dòng)、細分模式、四種轉速。圖5是信號和槽連接,添加的響應函數為void Motor_CW(),voidMotor_CCW(),voidDriver_Model1/2/3/4(),void Speed Model1/2/3/4()。

基于A(yíng)RM9和QT的步進(jìn)電機驅動(dòng)控制系統設計與實(shí)現

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

基于A(yíng)RM9和QT的步進(jìn)電機驅動(dòng)控制系統設計與實(shí)現

根據得到的pro文件使用tmaker軟件生成Makefile文件,手首先復制前面制作好的“xagc/”目錄到“/opt/EmbedSky/Qte/arm-qtopia-2.2.0/pro/”目錄下,然后重新打開(kāi)一個(gè)PC的linux的終端,重新設置環(huán)境變量,修改Makefile文件,然后編譯即可完成移植。

4 結果測試

經(jīng)測試,電機控制界面移植到了s3c2440上,并通過(guò)觸摸屏按鍵的交互,可以實(shí)現步進(jìn)電機的控制,并且在改變電機速度時(shí),電機可以穩定的運行。實(shí)例運行結果如圖6。

基于A(yíng)RM9和QT的步進(jìn)電機驅動(dòng)控制系統設計與實(shí)現

5 結論

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



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>