基于瑞薩M16C的步進電機精確控制_第1頁
基于瑞薩M16C的步進電機精確控制_第2頁
基于瑞薩M16C的步進電機精確控制_第3頁
基于瑞薩M16C的步進電機精確控制_第4頁
基于瑞薩M16C的步進電機精確控制_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、本科生畢業(yè)設計(論文)正文基于瑞薩m16c的步進電機精確控制摘 要本論文題目是在windows xp為操作系統(tǒng)的開發(fā)平臺下,使用瑞薩的hew編輯器,瑞薩的nc30編譯器和瑞薩的kd30調試器,編寫好控制系統(tǒng)代碼,使用瑞薩的m16c系列單片機芯片,來實現(xiàn)sihongmotor16h38-0806a二相六線步進電機的基本驅動,鍵盤的基本控制,lcd顯示器的基本顯示。并運用l298n驅動電路作為接受m16c系列單片機的電脈沖輸出信號從而滿足二相六線步進電機的基本驅動要求并通過lcd顯示器準確的描述其基本轉動內容。通過m16c系列單片機的芯片自帶定時器的pwm輸出來構成對二相六線步進電機所需要的時序脈

2、沖的輸入,進而實現(xiàn)對二相六線步進電機的精確和細分的控制。本文主要論述的是二相六線步進電機應用的背景知識和背景技術外,另外,還對二相六線步進電機的工作原理進行描述,然后以瑞薩的m16c系列單片機的芯片為主的控制器提出了整個系統(tǒng)的硬件設計方案及如何利用瑞薩的m16c系列單片機的芯片來控制二相六線步進電機的運行。關鍵詞:步進電機,m16c單片機,pwm,細分,精確控制precise control for stepper motor based on renesas m16cabstractthe topic of this paper is in the windows xp operating

3、system development platform, the use of renesas hew editor, renesas nc30 compiler and kd30 debugger, to write a good control system code, the use of renesas m16c series single chip, to achieve sihongmotor16h38-0806a phase six wire stepper motor basic drive, keyboard control, lcd basic display displa

4、y. and the use of l298n drive circuit as to accept the m16c series mcu electrical pulse output signal to meet two phase six wire stepper motor basic drive requirements and through the lcd display accurate description of its basic contents of rotation. through the m16c series mcu chip built-in timer

5、pwm output of two phase six wire stepper motor need timing pulse input, and then the two phase six wire stepper motor subdivision control precision and.this article main elaboration is phase six wire stepper motor application background and technical background, in addition, also on two phase six wi

6、re stepper motor principle are described, and then to renesas m16c series single chip based controller is presented. the system hardware design and how to use renesas m16c series mcu the chip to control the phase six wire stepper motor running.key words:stepper motor,renesas single-chip m16c,pwm,sub

7、division,precise control目 錄第一章 緒論11.1 引言11.2 步進電機的分類11.3 步進電機應用背景21.4 國內外研究情況2第二章 技術概述32.1 單片機控制步進電機驅動原理32.1.1 步進電機驅動原理32.1.2 步進電機的細分原理42.2 瑞薩m16c芯片及其開發(fā)板的介紹52.3 nc30編譯器及kd30調試器使用技術說明62.3.1 nc30的編譯過程62.3.2 kd30軟件調試器的使用方法6第三章 步進電機控制系統(tǒng)的硬件設計83.1 控制系統(tǒng)總體構成83.2 控制系統(tǒng)的電路圖93.2.1 瑞薩m16c芯片平面圖93.2.2 lcd電路圖103.2.

8、3 按鍵的電路圖103.2.4 細分控制按鍵電路圖113.2.5 瑞薩m16c單片機+二相六線步進電機+l298n的電路設計圖113.3 系統(tǒng)實現(xiàn)平臺及工具12第四章 步進電機控制系統(tǒng)的軟件設計134.1 步進電機控制系統(tǒng)的程序流程圖134.2 系統(tǒng)功能模塊層次劃分圖144.3 步進電機控制系統(tǒng)的操作序列圖和狀態(tài)遷移圖及示意圖154.4 步進電機的主要文件構成表194.5 控制系統(tǒng)的功能檢測20第五章 結論21參考文獻22致謝23附 錄24第一章 緒論1.1 引言 歷史證明了,一個發(fā)展國家的制造業(yè)水平在相當大的程度上決定了該國家的綜合實力,國家的發(fā)展也在相當大的程度上依考于其先進的制造業(yè)水平,

9、所以,絕大多數(shù)的發(fā)展國家都相當重視并發(fā)展制造業(yè),在二戰(zhàn)之后,計算機控制技術、微電子技術、信息和自動化技術有了疾快的發(fā)展,并在制造業(yè)中得到了越來越廣泛的應用,擁有很多特點的步進電機就是一個極其重要角色。 步進電機又稱脈沖電機或稱階躍電機,是將電脈沖信號轉變?yōu)榫€位移或角位移的開環(huán)控制元件,它不能直接接到交流電源上。在不超載的情況下,步進電機的轉速,停止的位置只取決與電脈沖信號的脈沖數(shù)和頻率,而不會受其負載變化而變化, 其應用發(fā)展己有八十多年的歷史??梢哉f步進電機是純粹的數(shù)字在控制的,步進電機驅動器通過控制電脈沖,控制步進電機各相繞組的導通或者是截止,從而使步進電機產(chǎn)生步進轉動。步進電機可以在很寬廣

10、的頻率范圍內通過改變電脈沖頻率來實現(xiàn)其調速、快速起停、正反轉控制等,這也是步進電機最突出的特點。正是由于步進電機具有這么突出的特點,所以才能成為了機電一體化的關鍵產(chǎn)品之一,在廣泛應用的各種自動化控制系統(tǒng)中。隨著微電子及其計算機技術的快速發(fā)展,步進電機的需求量與日俱增,與昔日不能相提并論,在各個國家的國民經(jīng)濟領域都有很廣泛的應用,所以本課題的研究是非常有必要的。1.2 步進電機的分類步進電機種類很多,但,主要可以分為機械式,電磁式,組合式3種類。如果按其結構分,可以分為反應式(vr),永磁式(pm)和混合式(hb)3種類。(1)variable reluctant (反應式步進電機)一般為三相的

11、步進電機,步進角為1.5度。其步進電機的轉子中沒有繞組,是由軟磁材料構成的。成本低,結構簡單,步距角也可以很小。但只有單段式的步進電機和多段式的步進電機,動態(tài)性能比較差。(2)permanent magnet (永磁式步進電機) 一般為兩相的步進電機,體積小,步進角一般為7.5度或者15度。其步進電機的轉子本身就是個磁源,是永磁材料構成的。并定子極數(shù)和它的極數(shù)相等,所以一般的步距角相對的比較大。但,它的動態(tài)性能也相對的較好,消耗的功率也相對的比反應式的要低。(3)hybri(混合式步進電機)其結構上的轉子加有永磁體,這是提供軟磁材料的工作點。它是綜合了反應式和永磁式兩種的特點。因此這種步進電機

12、的工作效率高,使用電流小,并具有較強的反電勢,在其轉動的過程中,比其他的平穩(wěn)且低噪聲。它一般分為兩相或者無相:兩相步進電機一般為1.8度,無相步進電機一般為0.72度。1.3 步進電機應用背景步進電機是將其電脈沖信號轉變?yōu)榫€位移或角位移的開環(huán)控制元件。在其不超載的情況下,步進電機的轉速,停止的位置只取決于電脈沖信號的脈沖數(shù)和頻率,而不會受其負載變化而隨之變化的,這也使得其在速度、位置等方面更加讓人感覺到很簡單。步進電機的輸入脈沖數(shù)與輸出軸的角位移量成正比,不受其環(huán)境溫度及電壓的影響,沒有累積的定位誤差,所以控制輸入的數(shù)字脈沖數(shù)就可以實現(xiàn)步進電機的精確定位;而步進電機的輸入的脈沖頻率與輸出軸的轉

13、速成正比,所以控制輸入的脈沖頻率就能夠準確的控制著步進電機的轉速,就可以實現(xiàn)在很寬廣的范圍內精確調其轉速。并且由于它的體積小,控制方便等的特點,所以在自動生產(chǎn)線,自動化儀表,打印機,數(shù)控系統(tǒng),繪圖機,機器人及計算機外圍設備中得到非常廣泛應用1。1.4 國內外研究情況國內外研究現(xiàn)狀與發(fā)展趨勢:電機產(chǎn)業(yè)經(jīng)過多年的發(fā)展,取得了長足進步。并且以每年一定的速度遞增,已成為國民經(jīng)濟和國防建設中不可缺少的基礎性工業(yè)。國民經(jīng)濟與科學技術的發(fā)展,世界電機制造基地正在快速地向中國轉移,為電機產(chǎn)業(yè)提供了無限的發(fā)展空間。國內:過去在浙江,江蘇,北京,四川等地都在生產(chǎn)且使用大力距步步進電機進行機床控制,資金雄厚的公司采

14、用了交流電動機進行機床控制。設施還是比較的落后。國外:基本不再使用大力距步步進電機,因為成本比較高,多數(shù)用直流電動機或者是空心轉杯電機。第二章 技術概述2.1 單片機控制步進電機驅動原理2.1.1 步進電機驅動原理如圖2-1-1和圖2-1-2所示,這是一個二相六線的步進電機,其在結構上也是由轉子和定子組成的,當脈沖電流流過其定子繞組時,在其磁拉力的作用下,帶動轉子旋轉了一個角度,使其磁極方向改變,且,又帶動轉子旋轉了一個角度。本論文以二相六線步進電機為例,若按abcda規(guī)律循環(huán)順序通電,這種控制方式稱為二相四拍。若按aabbbcccdddaa規(guī)律循環(huán)順序通電,這種控制方式稱為二相八拍。無論采取

15、哪一種方式,步進電機的轉角恒為一個齒距角。電機轉子的角位移用a表示,則a=360度,四拍的控制方式的步距角為a=360度/(50*4)=1.8度,俗稱為整步(圖2-1-3)。八拍的控制方式的步距角為a=360度/(50*8)=0.9度,俗稱為半步(圖2-1-4)。運用單片機的輸出功能,通過編程實現(xiàn)輸出四個信號分別給步進電機的四個端口a+(blk)、a-(grn)、b+(red)、b-(blu),通過改變步進電機的通電循環(huán)順序來改變電機的轉動方向5。圖2-1-1 兩相步進電機結構的示意圖圖2-1-2 兩相步進電機繞線的示意圖圖2-1-3 整步狀態(tài)的電流方波和磁場矢量的示意圖圖2-1-4 半步狀態(tài)

16、的電流方波和磁場矢量的示意圖2.1.2 步進電機的細分原理電機的細分方法有諸多種,其中,pwm細分技術是目前較為常用的細分方式,其實質是通過在其電機線圈中產(chǎn)生階梯型的電流,改善其電機性能并達到細分的目的3。也就是通過對步進電機勵磁繞組中的電流控制,使其內部形成均勻的圓形旋轉磁場,并讓其電流范圍能在零到最大值之間有多個穩(wěn)定的電流值,磁場矢量值和方向也就會存在多個穩(wěn)定的值,從而實現(xiàn)步進電機步距角的細分。在正常的情況下,合成的磁場矢量值就決定了其步進電機的旋轉力矩的值,所以,相鄰的磁場矢量之間的夾角值也就決定了步距角的值。因此,要想進行對步進電機的恒力矩進行均勻細分控制,就必須得合理的控制步進電機繞

17、組線中的電流 7。pwm(pulse width modulation)控制技術-脈沖寬度調制方式,通過對一系列的脈沖寬度實行控制,來等效獲得自己所需要的波形,其技術在逆變電路中運用的非常的廣泛。其特點是從mcu到被控制系統(tǒng)的信號都是數(shù)字形式的,所以,不需要進行數(shù)模轉換。占空比-保持高電平的時間與其pmw的時鐘周期之間的比,只要帶寬足夠寬,無論什么模擬值都可以用pmw實現(xiàn)編碼。這也就會增強了對噪聲抵抗的能力。使用自帶的pwm模塊的單片機通過配置硬件資源可以驅動步進電機,根據(jù)其方波所產(chǎn)生的占空比不同的方波,可以獲得類似與正弦波的階梯型狀態(tài)的電流,從而獲得較高的細分精度。適合運用在精確系數(shù)高的精準

18、控制儀器上。圖2-1-5步進電機細分電流矢量的示意圖2.2 瑞薩m16c芯片及其開發(fā)板的介紹本論文所采用的瑞薩芯片是m16c/62p群中的m16c -m30626fhpfp mcu(圖2-2-1), 圖2-2-1 瑞薩m16c芯片產(chǎn)品型號,存儲器容量及封裝的示意圖該mcu是采用了80引腳的qfp塑封。具有高效率指令,高性能指令,1m字節(jié)的地址空間,快速執(zhí)行指令的能力同時還有高速dma控制器和乘法器,具備高速算術/邏輯運算處理的oa,通信設備及工業(yè)設備的控制8。其中,cpu有基本指令數(shù)為91條,最短指令執(zhí)行時間為41.7ns或100ns,運行模式為單芯片(模式)或者存儲器擴展(模式)或者微處理器

19、(模式),存儲器容量為1m字節(jié),可以通過擴展到4m字節(jié)。外圍功能有端口為114個(113個為輸入,1個為輸出),多功能定時器為定時器a(16為*5個通道)、定時器b(16為*5個通道)。(1)定時器am16c/62p(80引腳版)中的定時器a沒有定時器a1的ta1in引腳和ta1out引腳、定時器a2的ta2in引腳和ta2out引腳。其模式可以分為定時器(模式):對內部計數(shù)源進行計數(shù)的模式、事件計數(shù)器(模式):對來自外部的脈沖、其它定時器的溢出或者其它定時器的下溢進行計數(shù)的模式、單次觸發(fā)定時器(模式):在計數(shù)值變?yōu)椤?000h”之前,只進行1次脈沖輸出的模式、脈寬調制(pwm)(模式):連續(xù)

20、輸出任意寬度的脈沖的模式。(2)定時器b m16c/62p(80引腳版)中的定時器b沒有定時器b1的tb1in引腳。其模式可以分為定時器(模式):對內部計數(shù)源進行計數(shù)的模式、事件計數(shù)器(模式):對來自外部的脈沖、其它定時器的溢出或者其它定時器的下溢.進行計數(shù)的模式、脈沖周期測定/脈寬測定(模式):測定外部脈沖周期或者脈寬的模式,a/d轉換器為10位a/d轉換器(1個電路,26個通道)ad轉換的結果從a/d寄存器獲取10。,中斷為內部(中斷)29個、外部(中斷)8個、軟件(中斷)4個、中斷優(yōu)先級有7級。小鍵盤、sw1-sw10控制鍵等。 圖2-2-2 瑞薩m16c芯片結構示意圖2.3 nc30編

21、譯器及kd30調試器使用技術說明2.3.1 nc30的編譯過程(1) 編寫c語言源文件,匯編語言源文件,可再定位的目標文件程序。(2) 對啟動程序ncrt0.a30進行匯編,對c語言源程序xxx.c進行編譯和匯編,連接可再定位的目標文件ncrt0.r30和xxx.r30(3) 在命令提示符下生成目標文件(xxx.x30)。2.3.2 kd30軟件調試器的使用方法(1) 裝載編譯過的目標程序,在file中的load module下,選著指定的xxx.x30文件并裝入文件。(2) 執(zhí)行裝入的文件程序,并點擊運行按鈕,運行其目標程序。 (3) 執(zhí)行裝入的文件程序到指定行,在代碼窗口中的brk列上設置

22、我們所需的斷點,并執(zhí)行其程序。(4) 打開含有主函數(shù)(main函數(shù))的源文件并開始調試目標程序。(5) 切換調試程序顯示至匯編語言和c語言及混合顯示。(6) 以行為基本單位,確認調試程序的流程。(7) 改變或者查看其變量內容,通過basic打開c語言查看窗口,點擊添加按鈕添加調試變量,查看調試變量內容。(8)將數(shù)組名賦給指針變量,查看或者改變指針指向的數(shù)組。(9) 查看或者改變其指定地址內存的內容,通過basic window打開寄存器窗口,點擊地址列,指定調試開始地址,查看內存內容。(10) 查看或者改變更多內存的內容,通過basic window打開跳轉窗口。其使用方法與寄存器窗口相類似。

23、(11) 查看或者改變其寄存器的內容。第三章 步進電機控制系統(tǒng)的硬件設計3.1 控制系統(tǒng)總體構成如圖3-1-1所示的是二相六線的步進電機控制系統(tǒng)的總體構成圖,從圖可以看出控制鍵盤,控制指令(程序模塊),脈沖分配器(l298n驅動)和二相六線的步進電機之間控制的相互關系。即用戶可以通過控制鍵盤來控制瑞薩m16c單片機的相應控制模塊,而其控制模塊將會把用戶的所需要的要求轉變?yōu)閷Χ嗔€的步進電機的控制信號,瑞薩m16c單片機對二相六線的步進電機的控制信號會經(jīng)過l298n驅動電路的轉化之后,再將其信號輸出給二相六線的步進電機。同時瑞薩m16c單片機控制模塊也將對二相六線的步進電機的運行信息同步到lc

24、d顯示器上顯示出來。圖3-1-1 控制系統(tǒng)總體構成圖3.2 控制系統(tǒng)的電路設計3.2.1 瑞薩m16c芯片平面圖3-2-1 瑞薩m16c芯片平面的示意圖圖3-2-1所示的是本論文題目所用的瑞薩m16c芯片平面圖,從圖中可以看出共有100引腳。3.2.2 lcd電路圖圖3-2-2 lcd電路的示意圖圖3-2-2所示的是本論文題目所用的瑞薩m16c單片機開發(fā)板上的lcd電路圖,從圖中可以看出p10端口及p0端口是控制lcd顯示的數(shù)據(jù)控制端口。3.2.3 按鍵的電路圖圖3-2-3 步進電機輸入步數(shù)的控制按鈕電路的示意圖圖3-2-3所示的是本論文題目所用的瑞薩m16c單片機開發(fā)板上為二相六線的步進電機

25、輸入步數(shù)的控制按鈕電路圖,從圖中可以看出p1端口是輸入步數(shù)的控制按鈕的數(shù)據(jù)控制端口。3.2.4 細分控制按鍵電路圖圖3-2-4 步進電機細分控制按鈕電路圖的示意圖圖3-2-4所示的是本論文題目所用的瑞薩m16c單片機的開發(fā)板上為二相六線的步進電機細分控制的按鈕電路圖,從圖中可以看出p3端口是細分控制按鈕的數(shù)據(jù)控制端口。3.2.5 瑞薩m16c單片機+二相六線步進電機+l298n的電路設計圖3-3-5 瑞薩單片機+步進電機+l298n的電路設計圖的示意圖 如3-3-5 瑞薩單片機+步進電機+l298n的電路設計圖所示的是二相六線的步進電機的信號輸出端口即p7_2,p7_4,p7_6,p8_0,它

26、們各分別是瑞薩m16c單片機芯片上的四個定時器,即定時器a1,定時器a2,定時器a3,定時器a4的pwm脈沖輸出的引腳,它們輸出給予驅動二相六線的步進電機所需要的驅動信號,經(jīng)過l298n驅動電路的轉化之后,將會把其直接輸出給二相六線的步進電機。3.3 系統(tǒng)實現(xiàn)平臺及工具步進電機控制系統(tǒng)的構成由瑞薩m16c開發(fā)板,l298n驅動電路,二相六線步進電機及(+)12v電源。運用匯編語言及c語言通過kd30,nc30及hew開發(fā)工具在windows xp操作系統(tǒng)下實現(xiàn)編寫并將其順利完成。第四章 步進電機控制系統(tǒng)的軟件設計4.1 步進電機控制系統(tǒng)的程序流設計圖4-1-1 步進電機控制系統(tǒng)的程序流程圖的示

27、意圖此二相六線步進電機的控制系統(tǒng)實現(xiàn)了以下功能:鍵盤功能鍵實現(xiàn)對sihongmotor16h38-0806a二相六線步進電機運行方式的基本控制,數(shù)字鍵實現(xiàn)對sihongmotor16h38-0806a二相六線步進電機參數(shù)的基本設置;顯示器能夠顯示sihongmotor16h38-0806a二相六線步進電機運行的步數(shù);通過鍵盤輸入預定步數(shù),實現(xiàn)瑞薩m16c單片機對sihongmotor16h38-0806a二相六線步進電機帶動負載進行預定工作的控制。本系統(tǒng)采用加速定位控制,避免了啟動速度過大而使sihongmotor16h38-0806a二相六線步進電機不能正常啟動。4.2 系統(tǒng)功能模塊層次劃分

28、設計 圖4-2-1 系統(tǒng)功能模塊結構層次劃分的示意圖圖4-2-1所示的是系統(tǒng)功能模塊結構層次劃分圖,從圖中可以看出步進電機的控制系統(tǒng)分為兩大模塊,即定時器中斷模塊和步進電機控制系統(tǒng)的主模塊。其中,定時器中斷模塊是用來產(chǎn)生定時掃描按鍵和定時運行系統(tǒng)的功能;步進電機控制系統(tǒng)的模塊主要實現(xiàn)的是步進電機控制系統(tǒng)的兩種模式,即普通驅動模式和精確控制模式以及其按鍵檢測功能。圖4-2-2 定時器中斷圖的示意圖定時器中斷服務:步進電機控制系統(tǒng)一開啟就開始初始化,其中就包括定時器的初始化。定時器在每隔一定時間就會發(fā)生一次中斷請求用于其檢測是否有按下按鍵及其系統(tǒng)的運行情況。通過定義中斷標志位來判定是否發(fā)生中斷請求

29、。中斷的動作:中止主程序,將控制轉移到中斷程序中;寄存器的值的保存在堆棧區(qū)域中;中斷的處理;恢復被保存的寄存器的值;從中斷程序返回到主程序中。4.3 步進電機控制系統(tǒng)的操作序列圖和狀態(tài)遷移圖及示意圖圖4-3-1 控制系統(tǒng)的普通驅動模式操作序列圖的示意圖圖4-3-2 控制系統(tǒng)的細分模式控制狀態(tài)遷移圖的示意圖圖4-3-1和圖4-3-2所示的是當步進電機控制系統(tǒng)為普通驅動模式時,用戶,二相六線步進電機及步進電機控制系統(tǒng)三者之間對于對事件反應的時間順序的關系圖和當步進電機控制系統(tǒng)在選擇細分模式時的操作示意圖。步進電機控制系統(tǒng)會先初始化基本信息,根據(jù)用戶的實際需求可以選擇7種細分模式,即,將sw8為on

30、即六十四細分模式;sw8為off且sw7為on即三十二細分模式;sw8為off,sw7為off,sw6為on即十六細分模式;sw8為off,sw7為off,sw6為off,sw5為on即八細分模式;sw8為off,sw7為off,sw6為off,sw5為off,sw4為on即四細分模式;sw8為off,sw7為off,sw6為off,sw5為off,sw4為off,sw3為on即半步狀態(tài)模式,每次控制鍵的變化,系統(tǒng)都會隨之變化,lcd同步顯示出變化的信息。用戶選擇完細分模式后,可按sw9(run)鍵,步進電機控制系統(tǒng)啟動,當用戶按下sw10(stop)時,步進電機控制系統(tǒng)停止,然后馬上停止步進

31、電機驅動信號的輸出。圖4-3-3 控制系統(tǒng)的精確控制模式操作序列圖的示意圖圖4-3-3所示的是步進電機控制系統(tǒng)的精確控制模式的操作序列圖,系統(tǒng)先會初始化信息。然后根據(jù)用戶將控制鍵sw2為on,然后將輸入步數(shù)的控制鍵sw3為on。就可以向控制系統(tǒng)輸入實際所需的步數(shù),如果用戶用鍵盤輸入的500的步數(shù)。控制系統(tǒng)則會在lcd顯示器上顯示出用戶所輸入的值即500,此時的步進電機控制系統(tǒng)的啟停狀態(tài)為run。當500步的電脈沖驅動信號全部輸出時,控制系統(tǒng)將會停止向步進電機輸出電脈沖驅動信號,lcd顯示器也將顯示出步進電機控制系統(tǒng)的啟停狀態(tài)為stop。圖4-3-4 控制系統(tǒng)的戶模式切換操作序列圖的示意圖圖4-

32、3-4所示的是步進電機控制系統(tǒng)中用戶的兩種模式的切換的序列圖,步進電機控制系統(tǒng)開始顯示為普通驅動模式的信息,并在lcd顯示器上顯示出。將控制鍵sw1為on時,切換到精確控制模式,并在lcd顯示器上顯示出精確控制模式的信息。在精確控制模式下,將控制鍵sw3為off(禁止輸入),且將控制鍵sw1為off時,步進電機控制系統(tǒng)便會切換為普通驅動模式,并在lcd顯示器上顯示處普通驅動模式的信息。圖4-3-5 控制系統(tǒng)的啟停及速度控制狀態(tài)遷移圖的示意圖圖4-3-5所示的是步進電機控制系統(tǒng)的運行和停止之間的狀態(tài)相互轉變的示意圖。按下控制鍵sw9則是從停止狀態(tài)遷移到運行狀態(tài)。按下控制鍵sw10則是從運行狀態(tài)遷

33、移到停止狀態(tài)。運行速度狀態(tài)遷移事件則是通過旋轉控制旋轉verf旋鈕引起的a/d變化進而獲得二相六線步進電機的運行速速。圖4-3-6 控制系統(tǒng)的方向控制狀態(tài)遷移圖的示意圖圖4-3-6所示的是步進電機控制系統(tǒng)的二相六線步進電機旋轉方向(順勢針和逆時針)的狀態(tài)遷移圖。即將控制鍵sw2為on時,步進電機旋轉方向為順時針方向;將控制鍵sw2為off時,步進電機旋轉方向為逆時針方向。 圖4-3-7 控制系統(tǒng)的鍵盤示意圖圖4-3-7所示的是控制系統(tǒng)的鍵盤示意圖,鍵盤的輸入操作:鍵盤的字符分布為第一行:abcd, 第二行:efgh,第三行:ijkl,第四行:*mn#.鍵盤的數(shù)字分布為第一行:123#, 第二行

34、:456#,第三行:789#,第四行:#0#.在精準控制模式下,用鍵盤向系統(tǒng)輸入步數(shù)時,以#號為結束信號,輸入大于三位數(shù)時,控制系統(tǒng)將自動結束輸入模塊,并顯示前三位所輸入的步數(shù)。圖4-3-8 控制系統(tǒng)的三次抖動取消算法的示意圖如圖4-3-8所示的是系統(tǒng)中啟動和停止的兩個控制鍵的三次抖動取消算法的示意圖,即將控制鍵sw9和控制鍵sw10的三次抖動取消算法。其主要目的是對控制鍵進行重復判斷,提高按鍵操作的靈敏度和減少操作所引起的誤差。圖4-3-9 控制系統(tǒng)的lcd顯示畫面設計示意圖如圖4-3-9所示的是步進電機控制系統(tǒng)的lcd顯示畫面設計圖。第一行,模式的顯示即步進電機控制系統(tǒng)的普通控制模式和精確

35、控制模式;第二行,步進角的顯示即步進電機在運行時的步進角為1.8度,0.9度,0.45度,0.225度,0.1125度,0.05625度,0.028125度,這里的步進角共有六種角度且會隨著選擇的變化而變化;第三行中,左邊是運行狀態(tài)的顯示:stop表示停止運行, run表示正在運行;右邊是轉向的顯示:l_d表示逆時針旋轉, r_d表示順時針旋轉;第四行中,步進電機的旋轉角速度的顯示,在步進電機運行時旋轉速度顯示會隨著a/d轉換器的變化而隨之改變。4.4 步進電機的主要文件構成表 圖4-4-1 控制系統(tǒng)的主要文件及其功能表的示意圖如圖4-4-1所示的是控制系統(tǒng)的主要文件及其功能和作用,文件主要包

36、括有啟動文件, c語言頭文件,c語言源文件,匯編源文件。4.5 控制系統(tǒng)的功能檢測控制系統(tǒng)功能檢測是對步進電機控制系統(tǒng)運行之后,對所編寫的系統(tǒng)進行檢測和分析。(1)模式切換測試:控制鍵sw1為on,lcd顯示器顯示為精確控制模式;控制鍵sw3和控制鍵sw1都為off,lcd顯示器顯示為普通驅動模式。 (2)輸入控制測試:控制鍵sw1和控制鍵sw3都為on,鍵盤輸入步數(shù)的值不超過兩位并且以“#”結束鍵結束,輸入步數(shù)為三位時,控制系統(tǒng)自動結束,并且輸入步數(shù)位前三位的值。 (3)轉向控制測試:控制鍵sw2為on,二相六線步進電機順時針旋轉;相反則,逆時針旋轉。(4)啟停控制測試:控制鍵sw9為on,

37、二線六線步進電機開始運行;控制鍵sw10為on,二相六線步進電機停止運行。(5)細分模式控制測試:sw8為on即六十四細分模式;sw8為off且sw7為on即三十二細分模式;sw8為off,sw7為off,sw6為on即十六細分模式;sw8為off,sw7為off,sw6為off,sw5為on即八細分模式;sw8為off,sw7為off,sw6為off,sw5為off,sw4為on即四細分模式;sw8為off,sw7為off,sw6為off,sw5為off,sw4為off,sw3為on即半步狀態(tài)模式。sw8為off,sw7為off,sw6為off,sw5為off,sw4為off,sw3為off

38、即整步狀態(tài)模式。 第五章 結論 通過實現(xiàn)基于瑞薩m16c的步進電機控制系統(tǒng)。有效地控制sihongmotor16h38-0806a二相六線步進電機的運行停止、轉向、轉速的控制及六十四細分等七種細分模式。利用lcd顯示器同步顯示sihongmotor16h38-0806a二相六線步進電機的運行情況。參考文獻1 謝寶昌,任永德. 電機的dsp控制技術及其應用.北京:北京航空航天大學出版社,2005.2 王鴻鈺.步進電機控制技術入門.上海:同濟大學出版社,1990.3 李念強.單片機原理及應用.北京:機械工業(yè)出版社,2007.4liyu cao,howard m.schwartz.oscillati

39、on,instability and control of stepper motors. nonlinear dynamics.canada.springer netherlands,1999,4:383-404.5 沈志勤.電子技術基礎.北京:清華大學出版社,2006.6 劉國永,陳杰平.單片機控制步進電機系統(tǒng)設計.安徽技術師范學院學報,2002,04:61-63.7 孫玲,尹福昌.單片機控制步進電機細分驅動的實現(xiàn)研究.科技資訊,2007,35:89-90.8 王義軍.單片機原理及應用習題與實驗指導書.北京:中國電力出版社,2006.9 周根林.嵌入式系統(tǒng)原理與應用.南京:南京大學出版社,

40、2006. 10 陸延豐.三菱m16c/62單片機原理和應用.北京:北航出版社,1997. 致謝感謝在本論文題目的研究開發(fā)過程中得到趙海東老師的細心指導,感謝在本論文撰寫的過程中得到于慶豐老師細心指導,感謝給予我?guī)椭耐瑢W。附 錄 a/d旋轉按鈕控制程序:/*funccomment* function name : caladvdc(void);* function : get a/d result* return : int*func commentend*/int caladvdc(void) int value_ad,result; /variable definitions value

41、_ad = ad0;/get result from ad register result = 0; /variable definitions result = 0;/variable definitions/*change the value of ad register into a number between 0 and 500*/ if(value_ad & 0x0200)result += 2500; if(value_ad & 0x0100)result += 1250; if(value_ad & 0x0080)result += 625; if(value_ad & 0x0

42、040)result += 313; if(value_ad & 0x0020)result += 156; if(value_ad & 0x0010)result += 78; if(value_ad & 0x0008)result += 39; if(value_ad & 0x0004)result += 20; if(value_ad & 0x0002)result += 10; if(value_ad & 0x0001)result += 5; result += 2; result += 5; result /= 10;return result;/*func comment* fu

43、nction name : void calpwmspeed()* function : get the motor s speed and drive it*func commentend*/void calpwmspeed() /*get pwm vlaue from ad result*/ volatile unsigned int value; if(run=mtr.state)/if motors state is run change pwmvalue value=(unsigned int)(caladvdc()/500.0)*65535); /get the a/d resul

44、t if(value=4)flgchange=true;if(flag_f_old!=flgf&(flgf=1|flgf=2)flgchange1=true; if(flag_m_old!=mtr.mode) mtr.state=stop;mtr.speed=0;flag_f_old=flgf;flag_m_old=mtr.mode;精準控制時步進角的初始化:constunsignedintstep1=0xfffe,0xfffe,0x0000,0x0000; constunsignedintstep2=0x0000,0x0000,0x0000,0x0000,0x0000,0xfffe,0xfffe,0xfffe; constunsignedintstep= 0x7fff,0x8c89,0x98f4,0xa522,0xb0f5,0xbc4e,0xc714,0xd13c,0xda76,0xe2e7,0xea63,0xf0d9,0xf639,0xfa75,0xfd84,0xff5e,0xfffe,0xfffe,0xff5e,0xfd84,0xfa75,0xf639,0xf0d9,0xea63,0xe2e7,0xda76,0xd13c,0xc714,0xbc4e,0xb0f5,0xa522,0x98f4,0x8c89,0x7fff,0x7fff,0x7375,0x670a,0x5adc

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論