找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

帖子
查看: 9047|回復(fù): 1
收起左側(cè)

請(qǐng)大家?guī)臀曳治鲆幌略搯纹瑱C(jī)控制步進(jìn)電機(jī)驅(qū)動(dòng)器的程序

[復(fù)制鏈接]
ID:4574 發(fā)表于 2008-10-3 11:14 | 顯示全部樓層 |閱讀模式
我做了一個(gè)單片機(jī)控制步進(jìn)電機(jī)驅(qū)動(dòng)器的電路板,開(kāi)始它的脈沖輸出控制PUL端使用計(jì)時(shí)器控制輸出,但是,有的時(shí)候會(huì)輸出脈沖不一樣,有時(shí)剛好等于那個(gè)數(shù),有時(shí)卻少了(沒(méi)有多的時(shí)候),仔細(xì)觀察計(jì)時(shí)器的時(shí)間常數(shù),有時(shí)會(huì)不一樣,所以請(qǐng)大家來(lái)一起分析一下,為何會(huì)這樣?
下面我給出部分相關(guān)程序:

//******主程序內(nèi)工作子程序:

void work_Auto (void)
{
 if (QD_flag)   //啟動(dòng)按鈕標(biāo)志為1時(shí),表示按了啟動(dòng)按鈕 
 {


do         //先執(zhí)行一次,再測(cè)是否為自動(dòng)運(yùn)行,自動(dòng)運(yùn)行,則繼續(xù),不繼續(xù)則停機(jī)
 {
  ENA=0;    //步進(jìn)電機(jī)驅(qū)動(dòng)器允許運(yùn)行

  DIR=0;    //正轉(zhuǎn)
  maichong=0;   //脈沖量清零

  TH0=-7000/256;   //裝啟動(dòng)時(shí)間常數(shù)
  TL0=-7000%6 ;

  PUL=0;
  ET0=1;    //允許計(jì)時(shí)器T0中斷
  TR0=1;    //啟動(dòng)計(jì)時(shí)器T0,讓PUL端輸出脈沖
  

  while (maichong <= jiaodujishuan )  ;        //等待轉(zhuǎn)動(dòng)角度達(dá)到設(shè)定值  為總共角度除以每步角度
 
  ET0=1;    //允許計(jì)時(shí)器T0中斷
    TR0=0;
  delay(1);

  DIR=1;    //設(shè)定反轉(zhuǎn)

  maichong=0;   //脈沖量清零
  TH0=-7000/256;   //裝啟動(dòng)時(shí)間常數(shù)
  TL0=-7000%6 ;
  PUL=0;

  TR0=1;    //重新啟動(dòng),但為反轉(zhuǎn)
  while  (maichong <= jiaodujishuan );   //等待反轉(zhuǎn)到設(shè)定值
  
  TR0=0;            //停轉(zhuǎn)
  DIR=0;
   ENA=1;            //關(guān)閉步進(jìn)電機(jī)驅(qū)動(dòng)
 maichong=0; 
  _nop_();
  _nop_();

  delay ( 100*zhanting );   //延時(shí)設(shè)定暫停時(shí)間,單位為0.1S

  _nop_();
  _nop_();
  QD_flag=0;

        }
  while (Auto_flag);    //檢測(cè)是否為自動(dòng)模式,自動(dòng)模式則繼續(xù)運(yùn)行,半自動(dòng)則跳出再去檢查是否有啟動(dòng)按鍵 按下

     }


     }
 

//*****************計(jì)時(shí)器中斷子程序:

 

void zd0(void ) interrupt 1
{
             //此中斷程序用輸出脈沖給步進(jìn)電機(jī)驅(qū)動(dòng)板速度控制端

  _nop_();
  _nop_();
  if ((maichong<10) || (maichong >(jiaodujishuan-20)))
  {
 TH0=-7000/256;
 TL0=-7000/256;
          }
     else
{
 TH0=-T/256;
 TL0=-T/256;
       }
 maichong++;  //脈沖量計(jì)數(shù)加1   

 PUL=!PUL;  //脈沖輸出反相

     }

 

 敬請(qǐng)大家分析!

[此貼子已經(jīng)被admin于2008-10-4 1:34:58編輯過(guò)]
回復(fù)

使用道具 舉報(bào)

ID:475888 發(fā)表于 2019-2-28 14:24 | 顯示全部樓層
你好,能分享這個(gè)程序給新萌的我嗎?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表