隨著電子自動化和智能化的普及,步進電機的應用場合越來越多,主要應用于要求精確定位的各種場合,特別適合于要求運行平穩,低噪音,響應快,使用壽命長,高輸出扭矩的場合。步進電機已經涉及到現代社會的各行各業,例如醫療機械,高精度儀器,機器人,辦公自動化,計算機外設及海量存儲,工業控制系統等,由此可見其在現代社會的重性。
本文主要介紹采用SmartFusion FPGA來實現一個兩相步進電機的八細分精確控制系統,為大家提供一種全新的步進電機細分控制方案。傳統的步進電機細分控制系統往往由一片Mcu加一片FPGA構成,新一代的SmartFusion內部集成FPGA和Cortex-M3硬核,因此傳統的MCU+FPGA組合現在可以直接由SmartFusion替換。同時,結合Actel PPGA單芯片、上電即行、低功耗、高安全性和高可靠性的優點,使得該新方案的應用場合更加廣泛。
1 概述
(1)功能概述
1.實現對兩相步進電機的8分步、正反轉、加減速和勻速控制:2.通過實時加減速算法削弱步進電機的振蕩和失步現象:完善的上位機和觸摸屏人機交互界面,帶速度實時顯示和動態繪制曲線功能;3.PC上位機控制臺能夠通過以太網無差錯的發送各種電機運行控制參數;4.觸摸屏控制臺能夠通過串口無差錯的發送各種電機運行控制參數;5.真正完美的單芯片、低功耗解決方案;6.Actel PPGA的FlashLock和AES雙重加密。保護您的設計;7.Actel FPGA的固件錯誤免疫使得系統可以工作于較惡劣的環境中,可靠性極高。

(2)系統框圖該系統由兩大模塊構成:人機交互模塊和電機控制模塊。其中,人機交互模塊完成對電機運行的指令控制和電機運行狀態顯示:電機控制模塊則用于實現指令解析和細分控制。
由于系統控制核心由Cortex-M3和FPGA構成,因此分別對其接口進行描述,詳細的接口信息如表1和表2所示。

2 各功能模塊介紹
(1)人機交互模塊
人機交互模塊由上位機和觸摸屏兩部分組成。其中上位機在系統中被設置成具有比觸摸屏更高的優先級,即上位機在操作的時候觸摸屏操作指令失效。通過人機交互模塊可以對電機進行正反向、加減速和勻速設置,同時還可以對電機的當前速度進行實時顯示并通過曲線把電機的運行狀態給描繪出來。
(2)電機控制模塊
電機控制模塊由Cortex-M3和PPGA兩部分組成,其中Cortex-M3負責電機運行的算法實現,FPGA則負責電機運行的時序邏輯控制,經過PPGA和Cortex-M3的協同工作,最終實現兩相步進電機的八細分精確控制。下面分別對Cortex-M3和FPGA這兩個控制部分進行闡述。

Cortex-M3控制部分
Cortex-M3控制程序部分主要包含控制指令解析,實時變速算法,以及細分控制。指令解析部分將接收到的指令進行校驗和解析,如果指令錯誤,將會放棄指令并請求上位機重發;如果指令正確那么就將指令中包含的參數傳遞給電機控制算法部分,用于計算出下一次定時器需要加載的值,并將其加載到定時器中,接著控制DAC輸出對應的電流采樣參考值用于配合FPGA時序邏輯部分完成電流斬波工作,同時不斷更新電機的實時參數(如果電機的速度沒有達到設定速度就會不斷調用算法部分從而控制電機的變速)。
FPGA控制部分
FPGA時序邏輯控制采用模塊化設計,主要由D觸發器、死區控制、相位控制、時鐘產生和微控制器子系統(MSS)等模塊構成。

①D觸發器模塊
FPGA程序中定義了兩個相同的D觸發器,D觸發器有三個輸入輸出接口,其中Clock為斬波時鐘,Clear為清零腳,Q為D觸發器的輸出。根據實際情況,當Clear=O時,Q立即置低:當Clear=1時,在Clock的上升沿Q被置高;該D觸發器的時序如圖2所示。
②死區控制模塊
為了確保H橋正常工作時不會發生電源和地短路的情形,程序模塊中定義了一個死區控制模塊。該死區控制模塊的工作原理是:如果關閉H橋中的一個管,就馬上關閉它,不做延時;如果要接通一個管,先延時數微秒,保證另一端的管徹底截止后,再把它接通。預處理開關信號(Drvin)和處理后開關信號(Drvout)之間的關系如圖3所示。
③時鐘產生模塊
為了充分利用FPGA強大的PWM信號產生能力,同時減小Cortex-M3的工作負擔,避免定時器資源的額外占用,系統所需的斬波時鐘(cHOP_CLK)、衰減時鐘(DEC_CLK)、死區時鐘(DEAD_CLK)均可由FPGA內部邏輯控制產生。
FPGA輸入輸出信號的邏輯關系如表3所示。由于A/B線圈兩組信號完全相同,所以把他們結合起來闡述。從表3很容易看出。通過一個組合邏輯就可以實現對線圈A/B的相位控制。

⑤MSS模塊
當在Libero軟件中正確對MSS進行配置后,軟件會自動生成Mss的vedlog模塊,在頂層模塊中可以直接例化調用。
3 市場應用
步進電機已經涉及到現代社會的各行各業,而基于SmartFusion的步進電機細分控制系統以其極高的控制精度,將會在醫療,機械,高精度儀器,機器人,辦公自動化,計算機外設及海量存儲,工業控制系統等領域大放異彩。該系統的典型應用如圖4所示。
4 小結
本文主要介紹了基于SmartFusion的步進電機控制系統的功能和應用。敬請關注周立功公司的網站www.zlgmcu.com以獲得更多的信息。我們有著一個接近30人的FPGA團隊提供強有力的售后服務和技術支持,解決用戶在產品使用和研發過程中遇到的困難。若有更多的需求可以與我們聯系,我們將會竭誠為您服務,并請關注下期的FPGA專題技術講座。