f1039225 發表於 2008-6-13 21:25:29

關於L293 IC 的問題

請教各位大大,小弟利用 L293 去控制直流馬達正反轉
      程式如下:



   #include<at89x51.h>

   delay(int d)
   {
         int i,j;
         for(i=0;i<d;i++)
            for(j=0;j<200;j++)
            ;
   }
/*----------------------------*/
   led()
   {
         int i;
         for(i=0;i<2;i++)
      {
            P3_7=0;
            delay(50);
            P3_7=1;
            delay(50);
      }
   }
/*----------------------------*/
   void ex0_int(void)interrupt 0
   {
          int i;
          led();
          for(i=0;i<100;i++)
         {
            P1_0=1;
            P1_1=0;
            delay(150);
            P1_0=1;
            P1_1=1;
             delay(50);
         }
   }
/*----------------------------*/
    void ex1_int(void)interrupt 2
    {
      int i;
      led();
      for(i=0;i<100;i++)
      {
            P1_0=0;
            P1_1=1;
            delay(150);
            P1_0=0;
            P1_1=0;
            delay(50);
      }
    }
/*----------------------------*/

    main()
    {
      P1_0=1;
      P1_1=1;
      TCON=0x05;
      IE=0x85;
      IP=0x01;
      led();
    }


但問題來了,現在 L293 好像不能夠控制馬達何時停止光寫 delay() 好像不夠喔,因為小弟有去問老師他說 delay() 不行說是要利用 enable
這隻腳去控制它停止,不知是否老師講的對不對,假如對的話程式是否要改哪裡呢??

麻煩大大們的講解,小弟感激不盡


http://www.jvmbots.com/pafiledb/uploads/2094d75f6b33202ecab8d50ccbc2c639.pdf
以上檔案是這顆 L293 的 data sheet

sansam 發表於 2008-6-13 22:14:53

L293的ENABLE若是為Low時,馬達處於free狀態,也就是在慣量小於摩擦力時才會停止
若要快速停止時,可以令馬達反方向運轉
有些驅動元件有煞車的控制腳,只要設定這隻腳就會快速煞車

LMD18200T   55V3A
LMD18245T   55V3A
BA6287F   max:18V1A
A3959(Allegro產品)
A3950(Allegro產品)

參考各種DC馬達驅動IC

[ 本帖最後由 sansam 於 2008-6-13 22:24 編輯 ]
頁: [1]
查看完整版本: 關於L293 IC 的問題