




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、基于 FPGA 的四相步進電機細分控制電路設計摘要步進電動機又稱階躍電動機或脈沖電動機, 它是一種典型的機電一體化器件。步進電動機可以接收數字脈沖信號并轉變其為角位移或線位移。本次設計使用的是四相步進電機,而目的是要實現四相步進電機的細分控制,即對四相電流先進行八拍細分,而后再對每拍進行細分,而 FPGA 技術的發展和改善,很有可能實現步進電機的細分,并且可以進行穩定、精確的響應和控制。要想實現基于 FPGA 的四相步進電機細分控制電路設計,首先我要對 FPGA(現場可編程集成電路)進行了解,并按照 FPGA 設計流程進行編寫和仿真實現,電路的設計和輸入我應用了 VHDL 編程語言,在 Qua
2、rtus 軟件上進行了波形仿真,在設計過程中,我應用了 PWM 細分驅動技術,從而于每拍電流形成階梯性向上的波形,由此實現細分的目的。對每個模塊兒進行編寫和成功仿真后,完成了軟件設計部分。硬件設計部分我應用了 L298N 驅動集成電路,L298N 能夠實現 FPGA 弱信號的功能放大,并針對弱信號和強電流的沖突問題在連接中設置了光電耦合器,最終成功驅動步進電機,實現了步進電機的細分驅動。關鍵詞:步進電機;FPGA; PWM 細分驅動FPGA based four phase stepping motor subdivision control designAbstractStepper mot
3、or is also called step motor or pulse motor, it is a typical mechatronics device. Stepper motor can receive digital pulse signal and change it into angular displacement or line displacement. This design is the use of four phase stepping motor, and the aim is to achieve the four phase stepping motor
4、subdivision control, namely the four phase current for the first eight shot segmentation, and then to take every segment, and the development of FPGA technology and improved, it is possible to achieve the breakdown of stepper motor, and can be a stable, accurate response and control.In order to real
5、ize based on the FPGA four phase stepping motor subdivision control circuit design, first of all I want to understand the FPGA ( field programmable integrated circuit ), and according to the FPGA design process for the preparation of and simulation, circuit design and input I used VHDL programming l
6、anguage, on the Quartus software had waveform simulation, in the design process, I used PWM subdivision driving technology, thus to take every step to form the current waveform, thereby realizing the aim of subdivision. Each of the modules of infants were prepared and successful simulation, complete
7、d the part of software design.The hardware design part I used L298N driver integrated circuits, L298N can achieve FPGA weak signal amplifying function, and aiming at the weak signal and the current conflict problem in connecting in the setting of photoelectric coupler, the ultimate success of the st
8、epper motor drive, realize the stepper motor subdivision drive.Key words: stepping motor; FPGA; PWM subdivision drive目錄1緒論.1引言.1步進電機的特點和應用.1課題研究的目的與意義.22步進電機的結構和細分驅動原理.3步進電機的結構.3步進電機細分驅動原理.4步進電機細分驅動的研究現狀.53步進電機細分驅動系統的軟件設計.7FPGA.73.2VHDL.9PWM 細分驅動電路 .10控制部分.11模塊仿真.144步進電機細分驅動系統的硬件設計.164.1 驅動系統的組成 .16
9、4.2 L298N .164.3 L298N 對功能放大的實現.165結論.18參考文獻:.19致 謝.201 緒論引言步進電動機又稱階躍電動機或脈沖電動機, 它是一種典型的機電一體化器件。步進電動機可以接收數字脈沖信號并轉變其為角位移或線位移。因為不必進行數模轉換, 故使用起來非常方便, 它廣泛于閥門控制、數控機床、繪圖儀、打印機以及光學儀器等需要高定位精度及高靈活控制性的系統中應用。步進電動機運行時對于有相當功率的時序脈沖按要求的邏輯饋送給它的各個控制繞組有著要求, 并且為了步進電動機調速的實現, 要求其能夠改變送給各個控制繞組的時序脈沖的頻率。現如今,隨著 FPGA 技術的發展和改善,很
10、有可能使用其進行各種各樣的運算,并且可以進行穩定、精確的響應和控制。近些年,隨著不斷增加的需求量,FPGA 的技術得到了迅速的發展,總的來說現在的FPGA 的性能等同于 2.0um 時代的門陣列水平,仍未達到固定標準程序階段。在光通信區域的商家為了保持競爭力,必須采用以 FPGA 設計的 ASIC 電路。近些年我國迅速發展的光通信系統中也較多的采用了 FPGA 器件。FPGA 的市場發展、FPGA 研究開發最早、產品系列最多、換代最快的是美國,至于日本,因為一些廠家認為 FPGA 只是產品開發階段被采用,批量生產時就會被門陣列電路代替,所以占有率不是很高,而在我國電子產品的開發及生產蓬勃發展,
11、FPGA 的應用也受到人們極大的關注,FPGA 不但可以應用于某些高檔次產品,一些消費性電子產品也已經廣泛使用。不少大學還將 FPGA 應用于科研教學工作之中。且預計我國的 FPGA 的需求量還會不斷的上升。步進電機是把脈沖信號轉換成角位移或直線位移的執行原件,是一種對應于輸出與輸入數字脈沖中的增量驅動元件。具有定位、精度高、無積累誤差、啟動性能好、價格低廉、易于控制及計算機接口方便等優點,廣泛應用于數控系統中。計算機技術的發展,對數字控制系統技術的發展起到了促進的作用。步進電機細分驅動技術可以減小步進電機的步距角、提高電機運行的平穩性,增加控制的靈活性等。利用 FPGA 中的嵌入式 EAB可
12、以構成存放電機各相電流所需的控制波形表,再利用數字比較器同步產生多路 FPGA 電流波形,以控制多相步進電機。改變控制波形表的數據、增加計數器和比較器的位數、提高計數精度、就可以予 PWM 波形的細分精度以提高,進而對步進電機的步進轉角進行任意級的細分,以實現轉角的精確控制。步進電機的特點和應用步進電機是一種由數字系統控制的執行電動機,其具有以下優點:(1) 整個系統簡單廉價且可以用數字信號直接進行控制。(2) 位移與輸出脈沖信號數一一對應,可以組成結構較為簡單而且具有一定精度的開環控制,步距誤差不長期積累,也可在要求更高精度的情況下組成閉環控制系統。(3) 無刷,電動機本體部件比較少,可靠性
13、高。(4) 正反轉及速度響應性好,易于啟動/停止。(5) 停止時有自鎖能力。(6) 步距角可以在大范圍內進行選擇,通常可以不經減速器直接驅動負載,在小步距情況下,通常可以在超低轉速下高速矩穩定運行。(7) 速度可平滑調節在相當寬范圍內,同時用一臺控制器控制幾臺步進電動機可完全同步運行。但是步進電動機也存在著很多的不足,其帶慣性負載能力較差。因為存在失步和共振,步進電機的加減速方法根據利用狀態的不同而復雜化。且需要專用的伺服控制器控制,不可以直接使用普通的交直流電源驅動。步進電機卻別于其他電動機的最大特點為:它接受電脈沖信號(數字控制信號) ,并將其轉換成與之相對應的角位移或是直線位移。它本身就
14、是一個完成模擬/數字轉換的執行元件。且它可以進行開環位置控制,通過輸入一個脈沖信號就可以得到一個規定的位置增量,這樣的增量位置控制系統比較起傳統的直流伺服務器系統,成本有顯著的降低。因此,步進電機的應用隨著運動控制系統數字化的到來而日益廣泛。在通過控制買成個數來控制角位移兩從而達到準確定位目的的同時,也可以通過控制脈沖頻率來控制電機轉動的速度/加速度以達到調速的目的。基于步進電機再生產應用上的優點,其已經在許多工業控制系統中作為重要執行部件得到了應用。在計算機外圍設備種總有步進電機的出現。步進電機在數字、工具程序控制系統之中得到了廣泛的應用。課題研究的目的與意義步進電機由于其可用數字信號直接進
15、行開環控制,唯一于輸入脈沖信號數相對應,步距誤差步長期累積,可靠性高,無刷,電機本體部件少;易于啟動和停止、正反轉及變速,響應性好等優點的存在,被廣泛應用于工業控制之中,但是,步進電機運行工況也存在著許多的不阻止住,例如噪聲大,分辨率較低,低頻震蕩等,嚴重對其應用范圍造成了制約。如果步進電機能夠克服以上的缺點,那可以肯定其應用范圍可進一步擴大。采用電路細分控制的策略便是為了有望克服步進電機在運行工況中出現的諸多不足之處。但是目前的狀況為:基于單片機細分驅動器性能不好,并且發展空間局限,基于占用控制芯片的細分驅動器通常只能用來驅動較小功率的步進電機,而基于 DSP 的細分驅動器的成本又比較高。故
16、本課題利用的基于 FPGA 的低成本構成,步進電機驅動器的高性能便成為了首選。FPGA 的大容量,高速處理能力可以集所有的控制部分于 FPGA 芯片之中,很大程度上的提高了系統可靠性。這種新型驅動器體積小,硬件結構簡單,成本低,控制能力強,并可以輕易完成驅動器升級換代,一旦投入使用必將步進電機的應用范圍擴大,并使步進電機驅動系統的成本降低。2步進電機的結構和細分驅動原理步進電機的結構本課題使用的是四相步進電機,它采用單極性直流電源供電。只要按合適的時序通電給步進電機的各相繞組,就可以使步進電機步進轉動。如圖 2-1 所示,該四相反應式步進電機工作原理示意圖。圖 2-1四相步進電機步進示意圖開始
17、時,開關 SB 接通電源,斷開 SA、SC、SD,對齊 B 相磁極和轉子 0、3 號齒,于此同時,C、D 相繞組磁極就和轉子的 1、4 號齒產生錯齒,D、A 相繞組磁極就和 2、5 號齒產生錯齒。當接通開關 SC,SB、SA、SD 斷開時,因為 C 相繞組的磁力線和 1、4 號齒之間磁力線的作用,使轉子轉動,C 相繞組的磁極和 1、4 號齒對齊。而 A、B 相繞組和 0、3 號齒產生錯齒,A、D 相繞組磁極就和 2、5 號齒產生錯齒。依次類推,A、B、C、D 四相繞組輪流供電,則轉子會沿著 A、B、C、D 方向轉動。反之,轉子就會沿著 D、C、B、A 轉動。四相步進電機按照通電順序的不同,可分
18、為雙四拍、單四拍、八拍三種工作方式。單四拍與雙四拍的步距角相等,但單四拍的轉動力矩較小。八拍工作方式的步距角是單四拍與雙四拍的一半,因此,八拍工作方式既可以提高控制精度又可以保持較高的轉動力矩。本課題研究的是八拍的工作方式。步進電機細分驅動原理步進電機的驅動是靠通電流給步進電機的各相勵磁繞組輪流, 實現步進電機內部磁場合成方向的變化,從而使步進電機轉動的。即轉子就會轉過一個步距角,每伴隨著一次通電狀態的改變。該步距角的計算公式為: (2-xbamZQ3601)其中: 為接入繞組的線路狀態數, m 為電動機的相數, Zr 為轉子齒數。由此可見, 一旦步進電機制造出來, 其轉子齒數與相數將為定值,
19、 要想減小其步距角, 以達到細分的目的,只能通過改變 實現。而在無細分的步進電機驅動系統中, 通過各相繞組的電流幅值是不發生變化的, 只有在變化各相通電狀態的時候, 值才相應地進行變化。針對四相步進電機來說, 單四拍或雙四拍運行時, = l ; 單雙八拍運行時, =2。如果要想增大 , 必須使繞組中的電流按階梯上升和下降, 即在零與最大相電流之間有多個穩定的中間電流狀態。如圖 2-2 所示為四相八拍四細分時各相電流波形, 各相電流均以最大電流值的 1/4 上升和下降。與單雙八拍方式相比, 值從 2 增加到 8, 步距角 b 為四相八拍運行方式時的 1/4。所以步進電機細分驅動的關鍵在于控制電機
20、各相勵磁繞組中的電流大小及其穩定性。而如圖 2-2 所示我們可以分析得各相電流是以 1/4 的步距上升或者下降的,而在兩相Ta、Tb 中間再次插入了七個穩定的中間狀態,原來每一步所轉過的角度將經由八部完成,實現了步距角的八細分。圖 2-2四相步進電機八細分電流波形改變步進電機相電流通常采用電流矢量恒幅均勻旋轉的細分方法來實現, 即同時改變兩相電流 iA 和 iB 的大小, 使電流合成矢量等幅均勻旋轉。iA 和 iB 的變化曲線可描述為:iA= imcosxiB= imsinx四相步進電機八細分時的各相電流是以 1/4 的步距上升或下降的, 在兩相穩定的中間狀態, 原來一步所轉過的角度將由八步完
21、成, 實現了步距角的八細分。步進電機的驅動是靠著給步進電機的各相勵磁繞組輪流通過電流,實現步進電機內部磁場合成方向的變化來轉動步進電機。設置矢量 Ta、Tb、Tc、Td 為四相步進電機的勵磁繞組分別通電的時候產生的磁場矢量:Tab、Tbc、Tcd、Tda 是步進電機種AB、BC、CD、DA 兩相同時通電而產生的合成磁場矢量。每當步進電機內部磁場產生這樣的變化:TATBTCTD,即磁場產生了旋轉,步進電機的步距角計數公式可以表示為:;公式中參數為步進電機的轉子齒數;而參數:為步進電機運行時相鄰穩定磁場之間的夾角。以上分析可知,步進電機細分控制實際上是通過對步進電機定子繞組電流的控制,來達到使步進
22、電機每步的合成磁場按某種要求變化,從而完成對步進電機步距角細分的目的。在普遍情況下,不僅地阿基旋轉力矩的大小和步距角的大小是由合成磁場矢量決定的。均勻細分是最佳的細分方式,卻要想完成對步進電機的恒力矩均勻的細分控制的實現,必須合理的對電機繞組中的電流控制使步進電機內部合成的磁場幅值恒定,且每個進給買成引發的合成磁場的角度變化也要均勻。步進電機細分驅動的研究現狀步進電機的細分驅動技術在實踐中得到了廣泛的應用,且技術上獲得了很大的發展。實踐證明,步進電機細分驅動技術可以提高步進運行的平穩性,增加控制的靈活性等等。國內外研究步進電機細分驅動的文獻非常豐富,分別對細分數、均勻步距、低噪音、低震動、抗干
23、擾等方面進行研究,總結這些研究,可得到一下特點:(1)必須產生真實的給定細分的電壓波形,并且一般性采用可逆循環計數器對 EPROM 存儲器進行尋址,再經 D/A 轉換器之后輸出,理應模擬期間進行輸出的調節。反饋電流的測量全部采用霍爾傳感器。離線計算出步進電機勵磁狀態轉換表,得到所需的喚醒分配器輸出狀態表后存入 EPROM 中。該模式實際上是一種軟硬結合的技術,通過編輯 EPROM存儲器的軟件即可實現不同細分波形的輸出。(2)因為步進電機的電子轉子轉角與電機繞組電流之間的非線性關系,是很難精確的進行計算的,所以一般采用相似的方法。想要得到近似均勻步距的細分波形,一般采用以下三種方法:數值插值法,
24、近似波形法,曲線擬合法。之后在進一步的實驗修正下達到近似均勻的步距。(3)步進電機細分驅動電路的下一個特點是通用性較弱,各個研究單位基于機型開發不同和不同的目標和機型開發不同的細分驅動電路,他們普遍具有較強的專用性,基于功率、微步距、噪音的指標等參數的不用,要求驅動電路也不能“兼容” 。且一點電機的型號、應用指標發生了改變,驅動系統必須重新設計。接口標準不統一,通用性也進一步的降低。通過以上的分析,步進電機細分驅動電路已經日漸趨于成熟,但是目前細分驅動器的設計仍然有不少缺陷:(1)使用的期間很多,使調試復雜化,占用很大的系統空間,且抗干擾能力不足。(2)勵磁狀態轉換表的修正相當繁瑣,使得在線調
25、節很難實現。(3)控制單元通常采用單片機,可靠性和相應速度低。(4)在體積重量方面沒有優勢,能源利用率低。(5)超過負載時會破壞同步,高速工作會發出振動和噪聲。3步進電機細分驅動系統的軟件設計3.1FPGA3現場可編程門陣列 FPGA 結構現場可編程門陣列 FPGA 器件于 1985 年由 Xilinx 公司推出,它是一種新型的高密度PLD。它的結構一般分為三個部分,可編程邏輯模塊、可編程 110 模塊和可編程內部互聯區 IRO,FPGA 的結構與門陣列 PLD 是不相同的,其內部由許多獨立的可編程邏輯單元組成,可編程邏輯單元是 FPGA 芯片實現邏輯的最基本結構,其之間能夠靈活的相互連接。可
26、編程邏輯單元的功能非常強大,步進可以完成邏輯函數的實現,還可以實現 RAM 等復雜形式的配置。配飾數據是存放在熔絲圖或者片內的 SRAM 上的,基于 SRAM 的 FPGA 期間工作前需要從芯片的外部對配置數據進行加載。配置數據可以存儲在計算機或者片外的EPROM 上,設計人員可以對加載過程進行控制,并對期間的邏輯功能進行控制,在現場對期間的邏輯功能進行修改,即為所謂的現場可編程。FPGA 的基本結構形式,由一個用于存放編程數據的靜態存儲器和三種可編程單元組成。上述三種可編程單元分別是: I/O Block(輸入/輸出模塊),LE(邏輯單元)和互連資源,它們的工作狀態全都設定于數據存儲器中。而
27、對于 FPGA 為迎合未來的發展,它即將迎接的挑戰為:(1) 系統芯片時代的來臨,要求 FPGA 向著密度更高,速度更快,頻帶更寬的數百門超大規模發展。(2) 為了方便用戶設計和對于特殊功能的應用,就要向標準功能模塊或嵌入功能發展。(3) 低壓,低功耗的綠色原件以迎合全球環保潮流。同時,涌現出數模混合可編程陣列,模擬可編程陣列,動態可重構陣列期間等新概念。3現場集成的編程方式應用設計現場可編程集成電路,針對具體目標,需要不同的編程方式來完成目標數字系統下載的實現。根據器件結構的不同,目前有三種下載方式。1、在線系統可編程技術。具有 ISP 功能的期間,沒有下載時專門的編程器,芯片可直接在已制成
28、的系統中進行編成數據下載。ISP 技術使系統設計和制造更加靈活。目前大多數芯片均采用編程技術。2、在線系統可重配置技術 ISR。具備 ISR 功能的器件可直接在印制電路板上通過數據或者在目標系統種下載電纜配置和重新配置,不需要專門的編程器。因為 ISR 期間是基于 SRAM 的編程技術,所以系統掉電后,會丟失芯片的編程信息。3、一次性編程技術。一旦編程就不能發生改變,這種編程技術的 FPGA 應用的工藝為反熔絲制造,比較適合高可靠低功耗的使用場合。3FPGA 設計總體流程開始電路設計與輸入綜合優化綜合仿真是否正確實現過程布局布線后時序仿真與驗證加載配置在線調節是否為實現問題YYYNNN圖 3-
29、1FPGA 設計總體流程圖現場可編程門陣列的總體流程圖如圖 3-1 所示,在電路設計并輸入后,進行仿真,如果仿真成功則對其編程進行綜合性的優化和判斷,并對其原理和優化過程進行探究,之后對程序進行實現與布線,而后實現最終的配置加載和在線的調節。VHDLVHDL 語言是告訴集成電路的硬件描述語言,可以抽象的對電路行為和結構進行描述,支持邏輯設計中范圍和層次的描述,能夠借用高級語言精巧的結構對電路的行為描述進行簡化,并具有對電路仿真與驗證機制保證正確性的能力。VHDL 語言的編寫在用 VHDL 進行電路設計前,首先要由邏輯電路基礎,VHDL 編程語言與其他軟件語言是不同的,雖然語法看上去也是一種編寫
30、語言的軟件,但是 VHDL 語言和編寫軟件語言有著本質的區別。VHDL 語言根本就對電路的描述,通常軟件是順序執行的,而 VHDL 語言大部分是并發執行的。所以,在編程時,應該時刻記住自己是在描述電路,應對要綜合的電路有概念才能正確寫出功能且能綜合實現的程序。3.2.2VHDL 程序的結構一個完整的 VHDL 設計是由構造體和實體說明組成的。并且一個 VHDL 語言程序按需要調用程序包和庫文件。1 VHDL 庫和程序包庫文件是存放可編程設計單元的地方,通過其目錄查詢和調用。不同的設計單元存放在不同的庫當中,不同的編譯軟件相同的庫名稱也不同。在程序開頭要按需調用不同的庫,這些庫的調用有 libr
31、ary 語句實現。程序包是其中一種類型、原件、函數、和其他說明對設計單元可見的類型,原件和子程序,而包體則是用來存放說明中的函數和程序。2 實體實體是能表達完整系統、芯片小函數、電路板和邏輯功能的設計概述。實體說明主要描述實體輸入和輸出,也可以描述參數化的數值。實體說明可以理解為電路的符號,其設計其余部分的連接關系和描述一個原件。3 構造體構造體主要說明實體存在,也就是描述實體的功能。VHDL 允許采用不同格式對構造設計。4 VHDL 主要語法結構(1) 組合邏輯設計(2) 順序語句(3) 同步邏輯設計(4) 進程設計所以在編程時,程序的執行一般根據語句的先后,此時程序的順序顯得尤為重要,但是
32、在寫 VHDL 的時候就不同了,因為 VHDL 描述的是一張電路圖,你只要清楚的描述各個模塊就可以了,至于先后順序的描述則較為自由。3.3PWM 細分驅動電路3.3.1系統軟件總體設計遵照上述電路圖的設計和流程圖,且為了更好、更清楚的表達,下面將要使用 VHDL對每個模塊進行描述。首先對脈沖部分進行描述:脈沖序列的生成:步進電機控制軟件中必須首要解決產生一個周期性脈沖序列的問題。脈沖是用周期、接通與斷開電源時間、脈沖高度來表示的。對于一個數據線來說,脈沖高度決定于使用的數字電平。例如一般的 TTL 電平為 0-5V,使用的借口電路多為 0-5V 等。再如當傳送高電平到步進電機相應的數據線時,步
33、進電機開始步進,因為步進是需要一定的時間的,故在高電平后進行一段時間的延長,便可使步進電機達到指定的位置。利用軟件生成脈沖序列的方法是先輸出高電平,接著利用軟件延長一段時而后輸出低電平,延時時間的長短決定于步進電機的工作頻率。3.3.2PWM 細分步進電機的細分控制方法是通過控制各相繞組中的電流分配,使其按一定的規律階梯上升或下降,從而獲得從 0 到最大相電流之間的多個穩定的中間電流狀態。相應地,定子磁場也就存在多個中間狀態,這樣各相的合成磁場也將有多個穩定的中間狀態,相鄰兩個合成磁場矢量的夾角決定了微步距的大小,轉子沿著這些中間狀態以微步距轉動。3-2步進電機 PWM 細分驅動電路圖如圖 3
34、-2 所示,描述了步進電機 PWM 細分驅動電路,PWM 計數器產生周期性向上的階梯波形,地址計數器控制方向和給定輸入信號,并且以控制頻率的方法對速度進行控制,PWM 波形 ROM 控制器對給定信號中每拍進行細分,并將其輸入到四個數字比較器中,實現步進電機 PWM 電路的細分。接下來是對每個模塊兒的說明。3.4控制部分要想實現步進電機的細分功能,必須用 VHDL 進行編譯和實現。如圖 3-2 所示的各個元件的功能和 VHDL 源代碼如下。3.4.1PWM 計數器(cnt8):利用微處理器的數字輸出來對模擬電路進行控制,產生周期性向上的鋸齒波,用 VHDL 語言描述如下:BEGIN PROCES
35、S(CLK) BEGIN IF CLKEVENT AND CLK = 1 THEN CQI = CQI + 1; END IF; END PROCESS; CQ = CQI (4 DOWNTO 1); END BEHAV;3.4.2地址計數器:為 PWM 波形 ROM 提供地址,為 A、B、C、D 輸出提供參考;方向信號控制計數器的增減方向從而控制 PWM 波形輸出順序來控制電機正反轉,使能信號程序中已接地,速度信號來自 CLK0,通過控制 CLK0 的頻率來控制 PWM 波形的頻率。用 VHDL 語言描述如下:BEGIN PROCESS(CLK,EN,U_D) BEGIN IF EN = 1
36、 THEN CQI = CQI; ELSIF CLKEVENT AND CLK =1 THEN IF U_D = 1 THEN CQI = CQI + 1; ELSE CQI = CQI-1; END IF; END IF; END PROCESS; CQ(4 DOWNTO 0) = CQI;END BEHAV;3.4.3PWM 波形 ROM(rom3):存儲 PWM 細分波形參數,ROM 中的數據和標準為:WIDTH=16;DEPTH=32;ADDRESS_RADIX=HEX;DATA_RADIX=HEX;CONTENT BEGIN0:F000; 1:F600; 2:F900 3:FC00;
37、 4:FF00; 5:CF00; 6:9F00; 7:6F00; 8:0F00; 9:0F60; a:0F90; b:0FC0; c:0FF0; d:0CF0; e0AF0; f:06F0; 10:00F0; 11:00F6; 12:00F9; 13:00FC; 14:00FF; 15:00CF; 16:009F; 17:006F; 18:000F; 19:600F; 1a:900F; 1b:C00F; 1c:F00F; 1d:F00C; 1e:F009; 1f:F006;END;對以上十六進制代碼進行描述,將其轉化為二進制代碼可知0:F000=1111 0000 0000 0000;1:F6
38、00=1111 0110 0000 0000;2:F900=1111 1001 0000 0000;3:FC00=1111 1100 0000 0000;4:FF00=1111 1111 0000 0000;5:CF00=1100 1111 0000 0000;6:9F00=1001 1111 0000 0000;7:6F00=0110 1111 0000 0000;8:0F00=0000 1111 0000 0000;以上 2 進制代碼的描述可以清楚的表述出每拍電流在進行八細分后每次細分的電流走向呈階梯形,而具體到 ROM 存儲器的編寫,則要實現以下過程。要成功設計出 ROM 模塊首先要填充
39、 ROM 中的十六進制代碼,由于 Quartus 中的內存初始化文件(memory initialization file)不能進行十六進制代碼的填充,所以必須轉化為十進制。圖 3-3 就是對上 32 個十六進制代碼的十進制轉化的填充。圖 3-3內存初始化文件的十進制填充將上述文件生成 mif 文件,之后對 ROM 存儲器進行宏單元模塊兒調用,按照上面要求的帶寬和位數進行設置,之后將 mif 文件調用,填充并封裝,ROM 模塊的設計就完成了。3.4.4數字比較器:通過細分波形與 PWM 計數器輸出的階梯波型比較,產生周期性PWM 波,改變信號的占空比。可以宏單元模塊調用或者用 VHDL 編程,
40、在此 VHDL 源代碼省略。3.4.5電路復位器(BUSMUX)細分信號決定電路是否進行電機驅動細分,輸出信號經過電機驅動芯片驅動,電路實現電機的驅動。宏單元模塊調用即可。3.4.6各個模塊生成的頂層文件圖 3-4基于 FPGA 的四相步進電機 PWM 細分控制控制電路如圖 3-4 所示連接電路,在 CNT8 前加以一個輸入 clk5,給予輸入信號,CNT8 對電流信號實行了四相八拍分后,將輸出信號加以 BUSMUX 電路復位器上,電路復位器控制是否對輸出信號進行細分,若不進行細分,則直接輸出至數字比較器中,通過功能放大器,將信號放大,加到各相繞組之上,實現步進電機轉子轉動。若進行細分,則 D
41、EC2(PWM 計數器)實現其功能,將輸入電流信號轉化為每拍八細分的階梯波電流,之后將其傳達到 PWM 波形 ROM(存儲器)中,對應著封裝 ROM 中的八進制代碼輸出加至數字比較器之上,之后將信號放大,加到各相繞組上,實現步進電機轉子轉動。3.5模塊仿真 本設計共分為兩個階段,即步進電機細分時和非細分時的波形仿真。3.5.1基于 FPGA 的四相步進電機非細分電路仿真仿真波形如圖 3-5 所示,當給予 S 高電平時輸出波形為非細分電路波形。圖 3-5基于 FPGA 的四相步進電機非細分電路仿真3.5.2 基于 FPGA 的四相步進電機細分電路仿真仿真波形如圖 3-6 所示,當給予 S 低電平
42、是輸出波形為細分電路波形。圖 3-6基于 FPGA 的四相步進電機細分電路仿真4 步進電機細分驅動系統的硬件設計4.1 驅動系統的組成步進電機驅動系統組成如圖 4-2 所示,一般由信號處理器、PWM 細分電路、輸入電路、驅動級、保護級等部分組成。輸入電路保護推動級信號放大與處理PWM 細分電路驅動器圖 4-2PWM 驅動器的組成PWM 細分電路的作用為:步進電機 PWM 細分驅動電路,PWM 計數器產生周期性向上的階梯波形,地址計數器控制方向和給定輸入信號,并且以控制頻率的方法對速度進行控制,PWM 波形 ROM 控制器對給定信號中每拍進行細分,并將其輸入到四個數字比較器中,實現步進電機 PW
43、M 電路的細分。信號處理級的作用為:一方面按照來自環形分配器的信號放大到驅動推動級,一方面對如斬波、抑制等特殊功能信號進行處理。推動級的作用是放大較小的信號。保護級的作用是保護驅動級的安全。4.2 L298N本課題中步進電機細分驅動系統采用電機驅動 L298N。L298N 是專用驅動集成電路,屬于 H 橋電路,它的輸出電流大,功率強。輸出電流為 2A,最高電流為 4A,最高工作電壓達 50V,可以驅動感性負載,例如步進電機,電磁閥等,特別是其輸入端可以與單片機直接相聯。當驅動直流電機時,可以直接控制兩路電機,并可以實現電機正反轉,實現此功能只需要對輸入端的邏輯電平改變。4.3 L298N 對功
44、能放大的實現L298 具有體積小,控制方便的特點,并可以與光耦隔離驅動模塊連接隔離開以達到避免 FPGA 微小信號與其大電流的沖突的效果,圖 4-3 是 L298N 的驅動電路圖。圖 4-3L298N 驅動電路圖當步進電機驅動軟件實現仿真并下載后,由于 FPGA 的信號較弱,所以需要 L298N 對其實現放大功能,從而使步進電機接收到足夠強大的信號實現轉子轉動,如圖 4-3 所示,左邊步進電機給予弱信號,中間光電耦合器的功能為避免弱信號和 L298 強電流沖突產生電路干擾,L298 在接受到信號放大后輸入至右側的步進電機 A、B、C、D 四相中,實現步進電機的轉動。5 結論本設計主要開發一套基于 FPGA 芯片集成的步進電機脈沖細分驅動系統。通過對理想化四相步進電機模型的分析和討論,將其視為一種
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 提振消費新舉措推動經濟回升
- 藥師考試解析技巧試題及答案
- 重要疾病治療中的倫理問題試題及答案
- 考試難點攻克2024系統規劃與管理師考試試題及答案
- 育嬰師的工作壓力管理方法考核試題及答案
- 高管招聘邏輯試題及答案
- 計算機二級考試備考心得試題及答案
- 的試題及答案紅樓夢
- 訓練與考核試題及答案
- 理解系統架構設計師核心知識試題及答案
- 廣東省2024-2025學年佛山市普通高中教學質量檢測英語試卷及答案(二)高三試卷(佛山二模)
- 2025年春季學期形勢與政策第二講-中國經濟行穩致遠講稿
- 家長要求學校換老師的申請書
- 成都高新區小學數學五年級下冊半期考試數學試卷
- 職業危害防治實施管理臺賬
- 2018年人教版九年級英語單詞表
- 畢業設計U型管換熱器設計說明書
- 蘋果中國授權經銷商協議
- KGW船用起重機維護使用手冊
- 怎樣確保騎車安全-1
- 消化系統的結構與功能
評論
0/150
提交評論