新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于DSP芯片TMS320F240的步進電機的調焦系統(tǒng)設計

基于DSP芯片TMS320F240的步進電機的調焦系統(tǒng)設計

作者: 時間:2010-09-13 來源:網(wǎng)絡 收藏

  int table[ ]= { 25,800,255, //第1行

  . . . . . . } //第n行

  其中25為步數(shù);800為定時器周期寄存器值;255每兩步間所要進入定時器中斷的次數(shù)。實現(xiàn)準確地控制控制器關鍵在于由F240 I/O口產生規(guī)定的脈沖信號,提供給控制器從而驅動電機正確轉動,程序中包括F240初始化、電機正轉、等待、電機反轉幾個程序模塊。程序流 程圖如圖2所示:

  

  圖2 程序流程圖

  以下是實現(xiàn)電機正轉的程序。程序中變量解釋:step:用于存儲數(shù)組中電機步數(shù);every step:用于存儲數(shù)組中每兩步間所要進定時中斷的次數(shù);flag:數(shù)組行數(shù)標志(程序假設需正轉36組)。

  void interrupt INT2_ISR()

  { while (*EVIVRA==0x0027) //是否是定時器中斷

  { if(flag36) //用來完成正轉

  {

  if (steptotal==step) //是否走完數(shù)組每行規(guī)定的步數(shù)

  { flag++; //數(shù)組行標志加1

  steptotal=0; //電機轉動步數(shù)清零

  step=table[++j]; //更新電機運行步數(shù)數(shù)據(jù)

  *T1PR=table[++j]; //更新定時器定時周期

  everystep=table[++j]; //更新需要進入定時器中斷次數(shù)

  *T1CNT=0; } //從零開始計時,啟動定時器

  i++; //循環(huán)標志位加1

  if(i==1) *PADATDIR=0xff05; // 提供下降沿,正轉,不脫機

  else{ if (i==everystep)



評論


相關推薦

技術專區(qū)

關閉