1. gzyueqian
      13352868059
      首頁 > 新聞中心 > > 正文

      基于DSP的電動輪自卸車控制器的設計

      更新時間: 2008-01-23 08:50:37來源: 粵嵌教育瀏覽量:844

      摘 要:本文根據設計要求,以TI公司的TMS320F2812芯片為核心設計了一個高集成控制器。文中詳細論述了系統的軟硬件設計。樣機測試表明其性能優良,可用于裝備新一代國產108T和154T等系列電動輪自卸車。
      關鍵詞:DSP,控制器,設計


      1. 前言

        重型電動輪自卸車是大型露天礦和水利工程的高效運輸設備。目前,分布在我國冶金、煤炭行業與大型水利建設工程的正在運行的重型電動輪自卸車約有600臺之多,其電傳動控制系統國內使用企業一直依賴進口美國通用電氣公司(GE)的Statex系列單片機控制系統。由于該系統插件板多,致使線路復雜,調試困難,加之電動輪的工作環境惡劣,使得該類型的車存在故障率高、檢修麻煩、備件昂貴等缺點,嚴重影響了自卸車的作業率。以往,有一些廠礦和研究所的技術研究員對該類產品進行分析與改造[1,2],但未從根本上解決問題。為此,湖南大學和湘潭電機股份有限公司聯合研制了154T電動輪自卸車微機控制與故障診斷系統。該系統的車載電控子系統以DSP為核心處理器進行開發,更新升級原單片機控制系統,并與原系統兼容,開發出具有自主知識產權的產品。

      2. 基于DSP的控制器硬件設計

        車載控制系統工作在-30°C ~40°C環境下,控制精度≤5%,超調量σ≤5%,上升時間tS≤3 s~5s,并要求符合IE60077牽引電力設備規則。它主要完成電動機的開關邏輯控制、電動車牽引與制動過程的發電機和電動機的自動勵磁調節以及故障信號的實時采集。

        根據設計要求,控制器的核心CPU選用TMS320F2812型芯片[3]。該款芯片是在F24X的基礎上開發的高性能定點芯片。先進的內部和外設結構使得該處理器特別適合電機及其他運動控制應用,能夠真正的實現單片控制器。F2812采用32bit操作,150MHZ的主頻。內含16KRAM,128KFLASH,16路12位高速A/D轉換,16路PWM,52路數字I/O,4路定時器和內置WATCHDOG。并配有專用的電機控制外設(事件管理模塊EVA、EVB),能工作在−40°C 到 85°C的環境下。采用TMS320F2812無需外部總線擴展就能實現控制器的所有功能。

        該控制器的硬件結構框圖如圖1所示??刂破鞯妮斎氩糠钟?路脈沖輸入模塊,34路開關量經輸入光電隔離及電平轉換后送入DSP處理,14路模擬量經通道切換、放大、濾波和快速A/D轉換后輸入。輸出有經光電隔離及電平轉換后的28路開關量和2路PWM方式的模擬量輸出模塊。TPS1與TPS2兩路同步信號輸入到同步觸發模塊,保證了發電機和電動輪的同步工作??刂破髟O有2個RS485串行通訊口,可保證它與上位機(故障診斷機)進行可靠通信??刂破鬟€帶掉電保持的實時日歷時鐘電路和64Kx8位帶掉電保持存取器FM25L256,可實時采集和保存機車運行實時數據和故障數據。
              


                            圖1 控制器硬件系統方框圖

      3. 控制器軟件部分的設計

        控制系統軟件具有通信、系統管理、控制和信息處理等功能,能實現系統的控制要求。系統主程序主要包括系統初始化、邏輯運算、牽引/制動控制和故障數據分析與處理,其主程序流圖如2所示。由于系統外設較多,實時性要求高,故對系統中移相觸發、串口通信、AD采樣與數字濾波、測速、0.5ms的定時和歷史數據保存均采用中斷方式,確保了對電動車的實時監控。系統軟件調試在CCS2.0環境下進行。系統中除了個別初始化程序采用匯編語言編寫外,其他部分均采用標準C編寫,這有利于軟件的修改、維護和升級[4]。系統程序燒錄在F2812的Flash存儲器中,運行時將全部中斷程序加載到F2812的RAM中運行。這樣可避免頻繁從慢速的Flash中取指而影響運行速度,充分發揮了F2812的性能。
                    



                                圖2 主程序流程圖

        上圖中,系統初始化主要完成整個系統硬件部分和參數的初始化工作。包括CPU工作初始化、 EV模塊初始化、中斷向量及中斷初始化、串口初始化、故障診斷機(PTU)整定參數初始化和AD值與實際值的比例系數初始化。它還完成反饋單元的比例系數和各個函數輸入接口參數的初始值及 PI或PID調節器參數、各特性曲線的轉折點參數和比例(斜率)系數的設置。邏輯運算是運用開關輸入量和相關模擬量,根據湘潭電機廠所提供的154T邏輯關系式計算開關輸出量和中間變量,并輸出所有開關輸出量。由傳感器送來的車速和柴油機轉速信號,經EV模塊處理后輸出兩路PWM信號。故障分析與處理部分主要是故障發生后,采集和保存故障數據,提供給上位機分析用。其主程序如下:

      #include "Device.h" // DSP2812 Headerfile Include File

      #include "Examples.h" // DSP2812 Examples Include File

      #include "Global_Variables.h" // Global variables used in this project

      #include "io.h"

      #include "PulseIn.h"

      extern void ReadDin(), OutDout(), LogicFunction(), InitialFramAndCalendar();

      extern void WriteReadFramAndCalendar(Uint16*BuffStartAddress,Uint16DataLength,Uint16 FramAndCalendarAddress,Uint16 OperateID);

      void DigitalInFilter();void Read_PIDPara_FromFRam();

      extern void Read_PIDPara(),ReadDin();

      Uint16 DI_Temp[5][3], DI_Counter,i;

      strRxBuf SciA_RxBuf,SciB_RxBuf; strTxBuf SciA_TxBuf,SciB_TxBuf;

      Uint16 SCI_Timer;Uint16 RecFlag=0xff; Uint32 ii; Uint16 KPKI[9];

      void main(void)

      {

      InitSystem(); InitSysCtrl();

      EINT; // Enable Global interrupt INTM

      ERTM; // Enable Global realtime interrupt DBGM

      InitialFramAndCalendar();InitPIDPara(); InitAllGlobalPara(); FaultInit(); // 參數初始化

      CloseDo(DO_CNTRL);

      //…… Init FRAM AND CALENDAR(略) //

      for(;;)

      {

      if (Flag.bit.DI_FLAG==1)

      { GetInput(DI_Temp[DI_Counter++]) ;

      Flag.bit.DI_FLAG=0;

      }

      if (DI_Counter>=5) DI_Counter=0;

      DigitalInFilter(); // 讀入開關量并處理

      VehicleSpeed_Switch(); //根據車速輸出開關量

      LogicFunction(); //邏輯運算

      OutDout(); //開關量輸出

      OutPWM(); //輸出PWM脈沖

      if (Flag.bit.AD_10MS==1)

      { Flag.bit.AD_10MS=0; Renew_RTPara();

      RenewPidIn(); //模擬量計算、濾波,更新PID_IN,曲線計算

      }

      if (Flag.bit.DIGITAL_200MS==1)

      { Flag.bit.DIGITAL_200MS=0; PushRealTtimePara(); //記錄實時參數

      }

      if (Flag.bit.DATE==1)

      { Flag.bit.DATE=0; ReadDate();

      }

      FaultMain();

      if(RecFlag==1) { WriteReadFramAndCalendar(&(SciA_TxBuf.Data[2].a),SciA_RxBuf.Data[2].a,SciA_RxBuf.Data[1].a, UpperComputerReadFramFlag); //故障分析與處理程序

      for(ii=0;ii<60000;ii++);

      }

      else if(RecFlag==0)

      { SciA_TX_Ready();

      SciA_Start_Tx(); //向上位機提供故障數據、實時數據或其他參數

      RecFlag=0xff;

      }

      } //end for

      } //end main()

        對電動輪自卸車的控制采用PID調節方式,主要由牽引發電機、制動發電機、牽引電動機和制動電動機4個子程序完成。根據測速傳感器測出的柴油機轉速V,計算發電機的給定功率E_POWER。由速度傳感器測出的電動車的左右輪速度V_RIGHT,V_LEFT,計算出主整流柜輸出牽引電流IF_V或制動電流IM。該程序還要判斷機車是否超速,如果超速,電動車將自動制動。由柴油機轉速V和反饋回來的主整流柜輸出電流IF,計算移相觸發角,從而控制發電機和電動機的勵磁電流,使機車性能滿足牽引曲線,見圖3(a)。由踏板電位信號、恒速下坡信號、電動車的左右輪速度及反饋回來的制動電流IM,計算出移相觸發角,從而控制發電機和電動機的勵磁電流,使機車性能滿足制動曲線,見圖3(b)。
                      


                                 ?。╝)牽引恒功曲線圖
                    


                              (b)制動曲線圖


        圖3 中斷服務程序中,移相觸發服務程序包含發電機移相觸發、電動機移相觸發兩部分,分別由發電機勵磁回路同步脈沖TPS1、電動機勵磁回路同步脈沖TPS2的邊沿(上升沿和下降沿)觸發。觸發后,延時t(在PID調節部分根據導通角計算得到)后,發出寬度為0.5ms的觸發脈沖。串口通信服務程序負責下位機和上位機之間的數據通信,包括PTU的整定參數、實時數據、故障數據和PID調節器參數等,其程序設計可參考文獻【5】。AD采樣中斷服務程序由DSP中AD模塊外設觸發中斷,啟動系統對14路(1路備用)模擬量的采樣。采樣數據經0.5ms定時中斷程序觸發,每10ms對14路(每路包含8個采樣值)數據進行加權平均濾波。0.5ms定時中斷程序給各PID調節器、數字濾波、串口通信、故障分析和16幀歷史數據保存等提供時間基準。

      4. 結束語

        本文的創新點在于:根據用戶設計要求,考慮電動輪自卸車特殊的工作環境,采用了TI公司推出的專用于數字控制的TMS32F2812芯片,用一塊電路板實現了國外同類產品至少需要5塊電路板才能實現的全部功能,使得所開發的控制器集成度高,實時性與抗干擾能力強,適應了電動輪自卸車復雜的工作環境。

        本文所設計的控制器能完成電動機的開關邏輯控制、電動車牽引與制動過程的發電機和電動機的自動勵磁調節以及故障信號的實時采集,樣機測試表明其性能優良,可用于裝備新一代國產108T、154T等系列電動輪自卸車,可實現進口設備備件的國產化。

      參考文獻:

      [1] 肖善福、曹志誠.電動輪三型車計算機控制系統的剖析.礦業研究與開發,2002,4: 46-47

      [2] 周建功.國產礦用電動輪自卸車電控系統的改造.工程機械,2001,8:51-52

      [3] TMS320F/C28x Digital Signal Processors Data Manual. Texas Instruments Inc. Literature Number SPRS174K. 2001

      [4] 劉和平、王維俊等編著.《TMS320LF240x DSP C語言開發應用》.北京航空航天大學出版社.2003

      [5] 王煉紅、章兢.TMS320F2812 DSP 與PC機的串口通信設計.微計算機信息,2006,7-2:173-175


      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 亚洲v日韩v欧美在线 | 亚洲日本va午夜中文字幕一区 | 伊人久久精品一区二区三区 | 亚洲日本中文字幕乱码在线 | 亚洲国产在人线放午夜 | 亚洲中文字幕综合精品视频 |