久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: L298N電機驅動小車的學習資料與單片機源程序(含PWM PID 循跡算法分析) [打印本頁]

作者: 計算機愛好者    時間: 2018-8-14 00:29
標題: L298N電機驅動小車的學習資料與單片機源程序(含PWM PID 循跡算法分析)
這是關于電機驅動模塊L298N的資料,設計智能小車必備,共享之,按需取


列表:
電機驅動板51單片機的4個引腳輸入控制的測試程序\
紅外\
超聲波資料\
PWM控制技術.ppt
關于PID.pdf
尋光 尋跡 電機驅動原理分析.ppt
智能尋跡小車 3路尋跡算法分析.ppt


單片機測試程序5(L298N小車調速PWM前進)源程序如下:
  1.         /****************************************************************************
  2.          硬件連接
  3.          P1_6 接驅動模塊ENA        使能端,輸入PWM信號調節速度
  4.      P1_7 接驅動模塊ENB        使能端,輸入PWM信號調節速度

  5.      P3_4 P3_5 接IN1  IN2    當 P3_4=1,P3_5=0; 時左電機正轉         驅動藍色輸出端OUT1 OUT2接左電機
  6.      P3_4 P3_5 接IN1  IN2    當 P3_4=0,P3_5=1; 時左電機反轉               
  7.      P3_6 P3_7 接IN3  IN4         當 P3_6=1,P3_7=0; 時右電機正轉         驅動藍色輸出端OUT3 OUT4接右電機
  8.      P3_6 P3_7 接IN3  IN4         當 P3_6=0,P3_7=1; 時右電機反轉

  9.      P1_0接四路尋跡模塊接口第一路輸出信號即中控板上面標記為OUT1
  10.      P1_1接四路尋跡模塊接口第二路輸出信號即中控板上面標記為OUT2        
  11.      P1_2接四路尋跡模塊接口第三路輸出信號即中控板上面標記為OUT3
  12.          P1_3接四路尋跡模塊接口第四路輸出信號即中控板上面標記為OUT4
  13.          四路尋跡傳感器有信號(白線)為0  沒有信號(黑線)為1
  14.          四路尋跡傳感器電源+5V GND 取自于單片機板靠近液晶調節對比度的電源輸出接口
  15.                                                                                                                                                                                          
  16.          關于單片機電源:本店驅動模塊內帶LDO穩壓芯片,當電池輸入最低的電壓6V時候可以輸出穩定的5V
  17.          分別在針腳標+5 與GND 。這個電源可以作為單片機系統的供電電源。
  18.         ****************************************************************************/

  19.         #include<AT89x51.H>

  20.         #define Left_moto_pwm     P1_6           //接驅動模塊ENA        使能端,輸入PWM信號調節速度
  21.         #define Right_moto_pwm    P1_7           //接驅動模塊ENB

  22.     #define Left_1_led        P1_0           //四路尋跡模塊接口第一路
  23.         #define Left_2_led        P1_1           //四路尋跡模塊接口第二路
  24.     #define Right_1_led       P1_2           //四路尋跡模塊接口第三路
  25.         #define Right_2_led       P1_3           //四路尋跡模塊接口第四路


  26.         #define Left_moto_go      {P3_4=0,P3_5=1;} //P3_4 P3_5 接IN1  IN2    當 P3_4=0,P3_5=1; 時左電機前進
  27.         #define Left_moto_back    {P3_4=1,P3_5=0;} //P3_4 P3_5 接IN1  IN2    當 P3_4=1,P3_5=0; 時左電機后退               
  28.         #define Right_moto_go     {P3_6=0,P3_7=1;} //P3_6 P3_7 接IN1  IN2         當 P3_6=0,P3_7=1; 時右電機前轉
  29.         #define Right_moto_back   {P3_6=1,P3_7=0;} //P3_6 P3_7 接IN1  IN2         當 P3_6=1,P3_7=0; 時右電機后退

  30.            unsigned char pwm_val_left  =0;//變量定義
  31.         unsigned char push_val_left =0;// 左電機占空比N/10
  32.         unsigned char pwm_val_right =0;
  33.         unsigned char push_val_right=0;// 右電機占空比N/10
  34.         bit Right_moto_stop=1;
  35.         bit Left_moto_stop =1;
  36.         unsigned  int  time=0;

  37. /************************************************************************/
  38.      void  run(void)        //前進函數
  39. {
  40.      push_val_left  =3;  //PWM 調節參數1-10   1為最慢,10是最快  改這個值可以改變其速度
  41.          push_val_right =3;         //PWM 調節參數1-10   1為最慢,10是最快         改這個值可以改變其速度
  42.          Left_moto_go ;                 //左電機前進
  43.          Right_moto_go ;         //右電機前進
  44. }

  45. /************************************************************************/
  46. /*                    PWM調制電機轉速                                   */
  47. /************************************************************************/
  48. /*                    左電機調速                                        */
  49. /*調節push_val_left的值改變電機轉速,占空比            */
  50.                 void pwm_out_left_moto(void)
  51. {  
  52.    if(Left_moto_stop)
  53.    {
  54.     if(pwm_val_left<=push_val_left)
  55.                Left_moto_pwm=1;
  56.         else
  57.                Left_moto_pwm=0;
  58.         if(pwm_val_left>=10)
  59.         pwm_val_left=0;
  60.    }
  61.    else  Left_moto_pwm=0;
  62. }
  63. /******************************************************************/
  64. /*                    右電機調速                                  */  
  65.    void pwm_out_right_moto(void)
  66. {
  67.   if(Right_moto_stop)
  68.    {
  69.     if(pwm_val_right<=push_val_right)
  70.                Right_moto_pwm=1;
  71.         else
  72.                Right_moto_pwm=0;
  73.         if(pwm_val_right>=10)
  74.         pwm_val_right=0;
  75.    }
  76.    else    Right_moto_pwm=0;
  77. }
  78. /***************************************************/
  79. ///*TIMER0中斷服務子函數產生PWM信號*/
  80.          void timer0()interrupt 1   using 2
  81. {
  82.      TH0=0XF8;          //1Ms定時
  83.          TL0=0X30;
  84.          time++;
  85.          pwm_val_left++;
  86.          pwm_val_right++;
  87.          pwm_out_left_moto();
  88.          pwm_out_right_moto();
  89. }        
  90. /***************************************************/

  91.         void main(void)
  92. {

  93.         TMOD=0X01;
  94.         TH0= 0XF8;                  //1ms定時
  95.          TL0= 0X30;
  96.         TR0= 1;
  97.         ET0= 1;
  98.         EA = 1;

  99.         while(1)                                                        /*無限循環*/
  100.         {         
  101.           run();

  102.          }
  103. }
  104.         
復制代碼

所有資料51hei提供下載:
L298N(NEW).rar (5.11 MB, 下載次數: 205)



作者: lbe545455    時間: 2021-6-10 16:49
好資料,51黑有你更精彩!!!




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 在线欧美小视频 | 综合五月婷| 久久亚洲免费 | 中文字幕第7页 | 极品电影院 | 成人福利在线 | 国产一区二区欧美 | 在线观看午夜视频 | 亚洲中午字幕 | 激情欧美一区二区三区中文字幕 | 日韩网站免费观看 | 国产一区视频在线 | 亚洲国产精品视频一区 | 欧美九九| 精品国产一区二区三区日日嗨 | 99久久免费精品 | 欧美成人精品 | 91在线精品一区二区 | 国产在线一区二 | 日韩欧美福利视频 | 九九九久久国产免费 | 成人自拍视频 | 精品久久久久久国产 | 日本激情视频中文字幕 | 91视在线国内在线播放酒店 | 国产精品久久久久久久一区二区 | 91亚洲国产成人久久精品网站 | 久久美女网| 色婷综合网 | 精品国产一区二区三区日日嗨 | 在线观看av不卡 | 日日操av | 亚洲一区二区三区在线播放 | 久久精品亚洲成在人线av网址 | 日韩视频 中文字幕 | 黄色精品 | 农夫在线精品视频免费观看 | 亚洲男人天堂 | 九九热在线免费视频 | av在线免费观看不卡 | 91精品久久久久久综合五月天 |