新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于NiosⅡ的直流電機PID調速控制系統設計與應用方案

        基于NiosⅡ的直流電機PID調速控制系統設計與應用方案

        作者: 時間:2015-01-16 來源:網絡 收藏

          引言

        本文引用地址:http://www.104case.com/article/268260.htm

          以往的直流電機調速系統通常采用單片機或DSP進行控制,而單片機需要使用大量的外圍電路,且系統的可升級性差,如更換控制器,往往要對整個軟硬件進行重新設計,可重用性不高。而采用DSP作為主要控制器,如果碰到處理多任務系統時,一片DSP不能勝任,這時就需要再擴展一片DSP或者芯片來輔助控制,從而實行雙芯片控制模式。但這樣做,既增加了兩個處理器之間同步和通信的負擔,又使系統實時性變壞,延長系統開發時間。基于以上此類問題,本文提出了采用Altera公司推出的軟核來控制直流電機調速系統,它的好處在于Ni-osⅡ屬于軟核處理器,可以直接通過軟件形式擴展成雙核乃至多核,無需外加芯片;再者軟核處理器和所有外圍電路可以集成到一片芯片上來實現整個直流電機控制系統,這樣無疑大大減小了控制器體積和重量,設計人員也可以在短時間內完成整個系統的制作,提高了工作效率。

          本文利用Altera公司的芯片EP2C35F672C6作為系統控制器,采用數字算法對直流電機進行PWM閉環調速控制。并且利用硬件描述語言(VHDL)自行設計、生成PWM模塊和測速模塊,最后通過實驗驗證了該系統的可行性。

          1 系統硬件設計

          1.1 系統總體設計方案

          選用Altera公司的DE2開發板作為開發平臺,采用SOPC技術通過在FPGA中植入嵌入式系統處理器作為核心控制電路,利用FPGA中的可編程邏輯資源和IP軟核來構成該嵌入式系統處理器的接口功能模塊,借助于Avalon總線,實現對外圍PWM模塊、測速模塊、SDRAM、鍵盤等硬件的控制,FPGA通過Avalon總線對輸入模塊和輸出等模塊進行配置,整體功能框圖如圖1所示。

          

         

          整個系統的主要工作流程如下:當系統啟動完成各單元初始化后,通過鍵盤輸入期望設定值,同時由光電編碼器采集實測轉速傳輸到測速模塊,通過NiosⅡ處理器處理電機控制算法,并將計算后的數據傳輸給自定制的PWM模塊對其進行閉環控制。最后在NiosⅡIDE上采集到實際輸出數據,并通過Matlab軟件畫出控制曲線波形圖,最后對實驗結果進行分析。

          1.2 PWM模塊

          系統中的自定制PWM模塊是通過寫VHDL代碼,經過仿真、編譯、管腳分配,最后生成PWM功能模塊。它在整個系統中的作用是:對實測轉速通過計算進行閉環控制。生成的PWM模塊如圖2所示。

          

         

          圖2中:clk為時鐘信號端;sta用來控制直流電機正反轉;conword為占空比信號;PWM_A表示直流電機處于正轉狀態時的占空比輸出;PWM_B表示直流電機處于反轉時的占空比輸出。

          PWM模塊的原理如下:將時鐘源50 MHz的基頻信號64分頻,作為PWM模塊的基頻信號,以256個該基頻脈沖信號作為PWM輸出的一個周期,由NiosⅡ處理器給出的conword的值指定一個PWM周期內高電平持續時間,改變conword的值即刻改變占空比輸出的值。

          1.3 測速模塊

          系統中的測速模塊生成方式如PWM模塊,它在整個系統中的作用如下:主要是利用基頻的周期來計算光柵信號的周期,算出直流電機的轉速,其生成的模塊如圖3所示。

          

         

          圖3中:clk為時鐘信號端;en為使能信號,即表示光柵有效;dout表示光櫥有效時間。

          測速模塊的原理如下:給出已知頻率的基頻,用光柵作為門限,測基頻脈沖的個數,由基頻的周期來計算光柵信號的周期,再算出轉速,電機控制算法即根據測速模塊測出的速度進行算法調整,達到閉環控制的效果。

          2 系統軟件設計

          本次設計的軟件主要分為兩部分:

          (1)利用QuartusⅡ7.2完成NiosⅡ系統的構建:利用SOPC Builder構建NiosⅡCPU;使用VHDL編寫各控制模塊。

          (2)利用NiosⅡIDE完成系統控制與控制算法編寫,主要使用C語言進行控制與算法編寫;對直流電機進行成功控制后,在NiosⅡIDE上采集輸出轉速的實測數據,將其導入Matlab畫出控制效果圖,整體軟件框圖如圖4所示。

          

         

          本次設計使用SOPC Builder組建的NiosⅡ嵌入式系統,如圖5所示。該系統除了配置NiosⅡ最小系統的CPU核NiosII CPU,Avalon總線,使用FPGA資源例化的存儲器之外,還有以下外接設備的控制單元:

          

         

          (1)SDRAM Controller;

          (2)Common Flash Interface;

          (3)JTAG UART;

          (4)鎖相環PLL;

          (5)Interval Timer;

          (6)通用I/O接口,包括PWM模塊接口conw,msta和測速模塊接口speed,按鈕接口button。

          對于SOPC Builder組建的NiosⅡ系統,可以在QuartusⅡ軟件方便地調用,在QuartusⅡ中Block Diagram設計調用NiosⅡ系統的框圖如圖6所示。給該系統配備工作時鐘,并分配FPGA的I/O管腳,程序經綜合,布局,仿真之后,就可將配置文件通過各種配置方法下載到FPGA上。本文使用JTAG+AS方式配置,通過USB Blaster下載電纜線將計算機USB接口與FPGA的JTAG口相連,把配置文件從計算機下載到FPGA中,這樣就完成了系統的軟件設計。

          

        pid控制相關文章:pid控制原理


        pwm相關文章:pwm是什么


        c語言相關文章:c語言教程


        pid控制器相關文章:pid控制器原理


        鎖相環相關文章:鎖相環原理

        上一頁 1 2 下一頁

        關鍵詞: PID NiosⅡ FPGA

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 台州市| 芜湖市| 江山市| 台湾省| 衡水市| 阜康市| 克东县| 剑阁县| 莫力| 灵璧县| 上蔡县| 泸州市| 丹巴县| 剑阁县| 兴海县| 玛纳斯县| 合山市| 桃江县| 南阳市| 黑河市| 女性| 德阳市| 河南省| 德清县| 桓仁| 赤壁市| 临汾市| 会泽县| 双鸭山市| 盐山县| 赣州市| 镇沅| 婺源县| 湟中县| 襄垣县| 黄浦区| 奉新县| 洪江市| 天峨县| 绿春县| 会理县|