摘要:根據步進電機的運動特性,設計出一種基于FPGA的通用、可控、高精度轉速發生器IP內核。
關鍵詞:步進電機;FPGA;轉速發生控制器

引言
步進電機廣泛應用于經濟型數控機床,包裝、雕刻、環保等機電一體化產品中。步進電機結構簡單、控制方便但如何實現高速、高精度的定轉數和定轉速控制一直是一個未完全解決的課題。步進電機的轉速范圍一般在200-1500轉/分,過低或過高會由于磁共振而出現失步現象,這就降低了步進電機運行的準確性和可靠性。傳統的電機控制也往往由于在低速時間過長出現失步現象,或者無法提高電機的轉速而不得不增加變速裝置。
步進電機速度控制是靠輸入的脈沖信號的變化來改變的,每給驅動器一個脈沖(cP),步進電機就旋轉一個步距角,但是實際上,如果脈沖CP信號變化太快,步進電機由于慣性將跟隨不上電信號的變化,這時會產生堵轉和丟步現象,所以步進電機在啟動時,必須有升速過程,在停止時必須有降速過程。
解決的方法就是在電機的磁共振頻率附近改變觸發脈沖的頻率,從而避免發生磁共振現象。通過多級脈沖頻率和脈沖計數的方法來實現高精度、可靠的電機控制,并通過內部狀態地址鎖存的方式來實現電機控制的可觀性、可控性。
IP內核設計
本設計以Atmel公司的10K系列FPGA為底層,搭建一個高精度、可控、可觀測的轉速發生器內核,設計成一個RAM的形式,可自主設定最高轉速、轉數、升降快慢,可實時回讀當前轉速、轉數,可控制電機啟動、停止。
通過這種方式來實現一種智能的、高精度脈沖輸出、可適用于所有的電機控制系統,將所有電機操作交由芯片來實現,通過內部的模糊算法來實現輸出脈沖的智能控制。
數學建模
以74190(BCD COUNTER)為底層搭建一個24位的脈沖計數器,通過啟動使能、停止使能、清除使能來控制計數器時鐘,通過升降速使能選擇脈沖的累加或遞減。
如圖1所示,啟動、停止等控制使能端與時鐘以或門的形式聯系在一起,來實現脈沖的輸出,ten6count表示6個BCD碼計數器的組合。通過信號的組合來實現基頻脈沖的產生。
Ten6count輸出接內核的累加計數和頻率比較電路。
根據當前轉速來選定不同的脈沖頻率,以不同加速度的形式實現步進電機轉速的提升。
如圖2所示,利用FPGA內部的LPM_CONSTANT發生器與當前的脈沖頻率比較來進行加速度選擇,將多個LPM_CONSTANT組合根據模糊算法就可以確定出在不同的脈沖頻率下實現不同的加速度。
如圖3所示,通過地址譯碼將所有的參數設定以RAM的形式將數據鎖存在控制寄存器中,并根據模糊算法參照步進電機的電氣和機械特性根據輸出脈沖頻率的不同實時自動調整各項控制參數。其內部由鎖存、計數、分頻、模糊模式選擇、狀態反饋等單元項組成。
在內核設計中采用流水線技術提高同步電路的處理速度。
同步電路的速度是指同步系統時鐘的速度,同步時鐘愈快,電路處理數據的時間間隔越短,電路在單位時間內處理的數據量就愈大。
由于一般同步電路都大于一級鎖存,而要使電路穩定工作,時鐘周期必須滿足最大延時要求。故只有縮短最長延時路徑,才能提高電路的工作頻率。可以將較大的組合邏輯分解為較小的N塊,通過適當的方法平均分配組合邏輯,然后在中間插入觸發器,并和原觸發器使用相同的時鐘,就可以避免在兩個觸發器之間出現過大的延時,消除速度瓶頸,這樣可以提高電路的工作頻率。這就是所謂”流水線”技術的基本設計思想,即原設計速度受限部分用一個時鐘周期實現,采用流水線技術插入觸發器后,可用N個時鐘周期實現,因此系統的工作速度可以加快,吞吐量加大。

在組合邏輯電路中,信號要經過一系列的門電路和信號變換。由于延遲的作用使得當輸入信號發生變化時,其輸出信號不能同步地跟隨輸入信號變化,而是經過一段過渡時間后才能達到原先所期望的狀態。這時會產生小的寄生毛刺信號,使電路產生瞬間的錯誤輸出,造成邏輯功能的瞬時紊亂。在FPGA內部沒有分布電感和電容,無法預見的毛刺信號可通過設計電路傳播,從而使電路出現錯誤的邏輯輸出。
任何組合電路、反饋電路和計數器都可能是潛在的毛刺信號發生器。毛刺并不是對所有輸入都有危害,如觸發器的D輸入端,只要毛刺不出現在時鐘的上升沿并滿足數據的建立保持時間,就不會對系統造成危害。而當毛刺信號成為系統的啟動信號、控制信號、握手信號,觸發器的清零信號(cLEAR)、預置信號(PRESET)、時鐘輸入信號(CLK)或鎖存器的輸入信號就會產生邏輯錯誤。任何一點毛刺都可能使系統出錯,因此消除毛刺信號是FPGA設計中的一個重要問題。毛刺問題在電路連線上是找不出原因的,只能從邏輯設計上采取措施加以解決。
如圖4所示,以高頻脈沖作為時鐘,源信號作為LATCH的輸入,經過以上電路的處理后可以完全消除毛刺的干擾,去除了計數中的誤差和誤脈沖擾動。
實驗效果
經過這種智能轉速IP內核的處理后,驅動脈沖信號安全達到了改造后的目的,傳統的2相4拍步進電機可以5000轉/分高速運行,在使用10MHz恒溫補償晶振的情況下其脈沖精度可以達到10。使用這種IP內核設計的轉速標準源在江蘇省計量局轉速檢測科測試時,其精度和穩定性都高于現有的國標檢測設備。
結語
本IP內核以FPGA設計為基礎,依據步進電機的電氣和機械特性,完全解決了步進電機在實際運行中出現的問題,并以智能化IP內核的形式將整個設計方案實現SoC化。
本設計不但實現了高精度的電機運行,而且實現了所有運行轉態的實時反饋,滿足了工業控制中的可觀測性和可控性操作,實現了控制系統中的閉環控制。
搜索FPGA,電子產品世界網站有535篇相關文章。