基于ARM的步進電機控制系統(tǒng)
3 控制系統(tǒng)設計
3.1 總體結(jié)構(gòu)設計
本系統(tǒng)是以LPC2131為控制器,用L298N電機驅(qū)動芯片設計的驅(qū)動電路,由于電機是12 V供電,那么還需要12 V的電壓,人機界面采用的是鍵盤顯示板,這樣可以實現(xiàn)良好的人機界面,方便現(xiàn)場調(diào)試與參數(shù)設定。
3.2 硬件設計
該系統(tǒng)的整體硬件設計框圖如圖1所示,該硬件設計系統(tǒng)主要包括三個部分,第一部分是LPC2131最小系統(tǒng),由于LPC2131的工作電壓必須是3.3 V,就得把輸入進來的電壓進行穩(wěn)壓,輸出所需要的電源電壓。一般采用的是電源穩(wěn)壓芯片實現(xiàn)。這部分還有控制器的復位電路,復位電路一般有阻容式復位和芯片復位兩種,根據(jù)該控制器的芯片手冊中對復位要求,故選擇了芯片復位電路。本文引用地址:http://m.butianyuan.cn/article/148175.htm
第二部分是設計該系統(tǒng)的重點——步進電機驅(qū)動電路,采用的是L298N電機驅(qū)動芯片設計的驅(qū)動電路。該芯片是SGS公司的美國國家半導體公司生產(chǎn)的。L298N是一個高電壓,高電流全橋驅(qū)動電路,其支持TTL邏輯標準電平,是驅(qū)動步進電機的良好方案。其工作的最大電壓可以達到46V,電流可達到4A,具有過電流保護,低功耗芯片。其有15個引腳,內(nèi)含兩個H橋電路,能夠驅(qū)動兩個直流電機和一個四相的步進電機。它接受PWM脈沖波,輸出為跟輸入PWM波占空比一樣的脈沖波驅(qū)動電機,這樣如果需要改變步進電機的轉(zhuǎn)速,可以通過調(diào)整PWM的占空比和頻率實現(xiàn)。該驅(qū)動電路可以控制電機的轉(zhuǎn)動方向,只需要用GPIO控制L298N的方向引腳,設置其為低電平或者高電平這樣方可改變其方向。這部分還需要12 V的直流電源,可通過電壓穩(wěn)壓芯片實現(xiàn)。
第三部分是鍵盤顯示部分,這部分主要是用來顯示電機的速度和給定,左邊顯示了速度的給定,右邊顯示電機當前的速度,其中按鍵用來設定電機調(diào)速的調(diào)整參數(shù)。其設計原理是利用ARM的SPI進行串行通信實現(xiàn)每次傳送兩個字節(jié),其中第一個字節(jié)是段碼,該段碼是八段數(shù)碼管的段碼值,它是8個數(shù)碼管公用的段碼;第二個字節(jié)是位碼,該位碼的8位分別對應8個數(shù)碼管的公共端。用兩個74HC164移位寄存器實現(xiàn)數(shù)據(jù)的移位傳輸,并且把8個按鍵連接到8個數(shù)碼管的公共端,這樣實現(xiàn)動態(tài)掃描顯示數(shù)碼管。
3.3 軟件設計
軟件設計主要是包含三個部分,分別是系統(tǒng)初始化模塊、電機調(diào)速控制模塊和鍵盤顯示模塊。設計流程如圖2所示,其中第一部分系統(tǒng)初始化模塊。主要實現(xiàn)LPC2131的啟動設置,包括初始化中斷向量表、初始化堆棧、系統(tǒng)變量初始化、中斷系統(tǒng)初始化、I/O初始化、外圍設備初始化、存儲器初始化和地址重映射初始化等操作,這部分主要是用ARM匯編實現(xiàn)的,為C語言的運行提供一個良好的環(huán)境。
第二部分是電機調(diào)速模塊。這部分是該系統(tǒng)設計的重點,其中需要PWM初始化,定時器捕獲初始化、I/O初始化和PID算法實現(xiàn)。對于PWM模塊的初始化需要兩路PWM以實現(xiàn)四相電機時序來控制電機的轉(zhuǎn)動,其中PWM的占空比實現(xiàn)電機電壓的速度控制。I/O實現(xiàn)電機的方向控制,通過設置低電平和高電平設置不同的電機轉(zhuǎn)向。定時器捕獲模塊實現(xiàn)閉環(huán)調(diào)速系統(tǒng),用定時器捕獲電機轉(zhuǎn)動時電機葉子切割紅外線產(chǎn)生的脈沖數(shù)進而算出電機的轉(zhuǎn)速,不過計算電機轉(zhuǎn)速時得注意電機的減速比。PID算法以實現(xiàn)電機的智能控制,通過設置給定轉(zhuǎn)速和捕獲回來的轉(zhuǎn)速,計算出下次需要給出的PWM占空比,以實現(xiàn)電機速度的準確控制。
第三部分是鍵盤顯示模塊。該模塊主要是實現(xiàn)通過鍵盤實時的調(diào)整PID參數(shù),那么左邊顯示的是給定的電機轉(zhuǎn)速,右邊顯示的是當前的電機轉(zhuǎn)速。在該模塊中需要定時器模塊、SPI模塊,其中定時器模塊實現(xiàn)對數(shù)碼管的動態(tài)掃描和獲取按鍵的鍵值;SPI模塊實現(xiàn)把數(shù)碼管的段碼和位碼串行發(fā)送出去。其中按鍵的功能主要實現(xiàn)加法、減法、修改和確定,這樣就可以實時的根據(jù)當前的轉(zhuǎn)速修改PID參數(shù),以實現(xiàn)電機轉(zhuǎn)速的實時控制。
4 結(jié)束語
為了提出一種更高效、實用性更強、更優(yōu)化的控制系統(tǒng),本文的控制系統(tǒng)是基于ARM LPC2131來設計的步進電動機控制系統(tǒng),其通過ARM的高速和豐富的外設資源對步進電機實現(xiàn)轉(zhuǎn)速的精確控制和實時監(jiān)測控制,具有對步進電機實時控制、數(shù)據(jù)處理速度快、精度高、良好的人機界面、操作簡單和易于維修等特點。
評論