999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于ARM9和QT的步進電機驅動控制系統設計與實現

2014-01-21 00:52:54朱耀麟沈昕宇
電子設計工程 2014年21期
關鍵詞:嵌入式界面設計

朱耀麟,沈昕宇

(西安工程大學 電子信息學院,陜西 西安 710048)

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

1 硬件電路設計

1.1 系統整體框圖

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

圖1 系統硬件結構框圖Fig.1 The system hardware structure diagram

系統在Linux下應用Qt設計開發嵌入式控制系統人機界面的方法,通過觸摸屏界面對步進電機進行控制,控制步進電機的轉動方向和轉速、細分模式等。

1.2 電路設計

1.2.1 SC2440和TA8435H電路設計

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

圖2 步進電機控制電路Fig.2 Stepper motor control circuit

在該步進電控制系統中,采用了以arm920t為內核的S3C2440芯片,該芯片是三星公司生產的一款高性能微處理器,具有功耗小、性能高、價格低等優勢,在許多領域都獲得了應用。本文選擇該芯片為核心處理器,并將其植入Linux系統,進而完成通過觸摸屏對步進電機交互控制。S3C2440芯片擁有289個引腳,其中多功能通用I/O多達30個,分別為GPA~GPJ,GPA有25個輸出端口,其余均可根據需要配置成輸入或輸出[5]。為了實現四個電機的可靠控制,本系統選擇GPB端口為控制端口,該端口具有8個引腳,分別為GPB0~GPB8,所以可完成步進電機的實時控制。TA8435H是東芝公司生產的單片正弦細分二項步進電機驅動專用芯片,TA8435H可以驅動二項步進電機,且電路簡單,工作可靠。

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

1.2.2 電路可靠性設計

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

圖3 電平隔離電路Fig.3 Level isolation circuit

2 軟件設計

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

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

步進電機的轉速是由脈沖信號頻率所決定的,脈沖信號的產生與控制實際是由CPU產生的,一般脈沖信號的占空比為 0.3-0.4 左右,電機轉速越高,占空比則越大[7]。 本設計中電機轉速是通過改變定時器參數,已產生其他頻率和占空比的PWM輸出控制步進電機。PWM輸出信號占空比公式為

PWM輸出信號的占空比=

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

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

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

3 QT控制界面設計開發

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

3.1 tslib移植

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

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

export TSLIB_ROOT=/usr/local/tslib

export TSLIB_TSDEVICE=/dev/input/event1

export QWS_MOUSE_PROTO=tslib:/dev/input/event1

export TSLIB_CALIBFILE=/etc/pointercal

export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf

export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts

export TSLIB_FBDEVICE=/dev/fb0

export TSLIB_CONSOLEDEVICE=none

exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/lib

3.2 QT開發環境搭建與移植

將 qt-4.6.3.tar.gz 壓縮包解壓為 3 份, 分別編譯 PC ,嵌入式 x86和 arm 三個版本的 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板 /flash/qt/lilib(bin/include/fronts)目錄中。移植qt的嵌入式版本到嵌入式設備中,保證設備啟動后可以正常進入到GUI模式。

3.3 建立QT項目文件

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

圖4 電機控制界面Fig.4 Motor control interface

圖5 信號和槽連接Fig.5 Signals and slots connections

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

#gredit ui2cpp

#chomd+x ui2cpp

#./ui2cpp

使用tmake中的progen軟件產生pro文件,編輯pro文件。程序如下:

TEMPLATE =app

CONFIG =qtopia warn_on release

HEADER =xagc.h

SOURCES =xagc.cpp/

Main.cpp

INTERFACES =xagc.ui

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

4 結果測試

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

圖6 實例運行結果Fig.6 Instance run results

5 結 論

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

[1]李杰,羅慶,韓寶玲,等.基于ARM9和Linux的步進電機四軸驅動程序設計[J].微計算機信息,2012,28(4):50-53.LI Jie,LUO Qing,HAN Bao-ling,et al.Arm9-based and Linux fouraxissteppermotordriverdesign[J].Micro Computer Information,2012,28(8):50-53.

[2]陳方泉,李建周,馬思文,等.基于LabVIEW的步進電機驅動設計及其應用[J].上海大學學報:自然科學版,2006,12(1):46-50.CHEN Fang-quan,LI Jian-zhou,MA Si-wen,et al.Stepper motor driver based on LabVIEW design and its application[J].Journal of Shanghai University:Natural Science Edition,2006,12(1):46-50.

[3]趙毅,游有鵬.基于Qt/Embedded的嵌入式數控系統人機界面設計與開發[J].工業控制計算機,2008,21(4):79-83.ZHAO Yi,YOU You-peng.Embedded nc system based on Qt/Embedded human-machine interface design and development[J].Industrial Control Computer,2008,21(4):79-83.

[4]倪繼利.Qt及Linux操作系統窗口設計[M].北京:電子工業出版社,2006.

[5]周立功.ARM微控制器基礎與實戰[M].北京:北京航空航天大學出社,2003.

[6]劉升.二相步進電機驅動芯片TA8435H及其應用[J].電子設計工程,2005(3):37-40.LIU Sheng.Two phase stepping motor driver TA8435H chip and its application[J].Electronic Design Engineering,2005(3):37-40.

[7]王鴻枉.步進電機控制技術入門[M].上海:同濟大學出版社,1990.

[8]游燕珍,趙國鋒,徐川.基于Qt/E的嵌入式GUI的研究及其移植[J].微計算機信息(嵌入式與SOC),2008(14):61-63.YOU Yan-zhen,ZHAO Guo-feng,XU Chuan.Based on the research of Qt/E embedded GUI and its transplantation[J].Microcomputer information (embedded and SOC),2008(14):61-63.

猜你喜歡
嵌入式界面設計
國企黨委前置研究的“四個界面”
當代陜西(2020年13期)2020-08-24 08:22:02
瞞天過?!律O計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
搭建基于Qt的嵌入式開發平臺
基于FANUC PICTURE的虛擬軸坐標顯示界面開發方法研究
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
人機交互界面發展趨勢研究
手機界面中圖形符號的發展趨向
新聞傳播(2015年11期)2015-07-18 11:15:04
Altera加入嵌入式視覺聯盟
主站蜘蛛池模板: 丝袜无码一区二区三区| 国产无码性爱一区二区三区| 国产麻豆福利av在线播放| 欧美精品一区二区三区中文字幕| 美女扒开下面流白浆在线试听| 国产熟女一级毛片| 亚洲制服丝袜第一页| 91精品国产福利| 日本91视频| 欧美不卡视频在线观看| 亚洲欧美精品在线| 丁香婷婷激情网| 高清亚洲欧美在线看| 国产精品无码久久久久AV| 欧美日韩北条麻妃一区二区| 亚洲综合精品第一页| 久久女人网| 精品国产中文一级毛片在线看| 精品福利网| 国产女人在线视频| 欧美成一级| 国产91丝袜在线播放动漫 | 在线亚洲天堂| 免费99精品国产自在现线| 国产资源免费观看| 国产97视频在线观看| 欧美特黄一免在线观看| 2021国产精品自产拍在线| 亚洲精品午夜天堂网页| 在线观看欧美精品二区| 欧美日韩国产在线观看一区二区三区| 69视频国产| 亚洲男人天堂2020| 欧美三級片黃色三級片黃色1| 欧美专区在线观看| 一级全免费视频播放| 激情六月丁香婷婷| 毛片免费在线| jizz国产视频| 2021天堂在线亚洲精品专区| 最新无码专区超级碰碰碰| 57pao国产成视频免费播放 | 亚洲第一成网站| 国产不卡一级毛片视频| 人妻无码AⅤ中文字| 免费国产高清视频| 免费高清毛片| 国产欧美高清| 欧美亚洲国产精品久久蜜芽| AV无码无在线观看免费| 欧美福利在线| 久久这里只有精品免费| 都市激情亚洲综合久久| 91视频区| 中文天堂在线视频| 精品一区二区三区中文字幕| 国产精品观看视频免费完整版| 伊人久久影视| 亚洲欧洲日产国码无码av喷潮| 久久亚洲高清国产| 国产成人久久综合777777麻豆| 国产三区二区| 国产欧美日韩免费| 国产在线精彩视频二区| 在线国产91| 久久亚洲综合伊人| 亚洲国产天堂在线观看| 亚洲午夜国产精品无卡| 国产白浆一区二区三区视频在线| 黄色三级网站免费| 美臀人妻中出中文字幕在线| 久久99精品久久久久久不卡| 国产高清免费午夜在线视频| 又粗又大又爽又紧免费视频| 免费看a级毛片| 国产精品久久久久久影院| 亚洲码一区二区三区| 国产香蕉国产精品偷在线观看| 成人欧美日韩| 5555国产在线观看| 国产一级毛片在线| 性喷潮久久久久久久久|