標(biāo)題: 我做的51單片機(jī)循跡小車 改PWM1和PWM2就可以達(dá)到理想狀態(tài)對(duì)嗎? [打印本頁(yè)]

作者: better-me    時(shí)間: 2017-7-22 17:30
標(biāo)題: 我做的51單片機(jī)循跡小車 改PWM1和PWM2就可以達(dá)到理想狀態(tài)對(duì)嗎?
用51做循跡小車,不知道程序錯(cuò)沒(méi)錯(cuò),我覺(jué)得改PWM1和PWM2就可以達(dá)到理想狀態(tài)對(duì)嗎?還有輪子的松緊會(huì)不會(huì)影響輪子的轉(zhuǎn)動(dòng)��?

  1. #include<reg52.h>
  2. #include<intrins.h>
  3. #include "xunji.h"


  4. int t=0,PWM1=10,PWM2=1;
  5. unsigned long int shijian=0;

  6. void delayms(unsigned int xms)   //誤差 0us
  7. {
  8.         unsigned int i,j;
  9.     for(i=0;i<xms;i++)
  10.                 for(j=0;j<110;j++);
  11. }

  12. void Init_T0()
  13. {

  14.     TH0 = (65536-10)/256;                           //0.1ms
  15.     TL0 = (65536-10)%256;                                                                                                                                          
  16.          EA=1;        //開總中斷
  17.          ET0=1;        //開定時(shí)器1中斷
  18.          TR0=1;        //啟動(dòng)定時(shí)器1         程序開始在此等待中斷
  19. }

  20. void zhi()
  21.         {
  22.         IN1=1;IN2=0;IN3=0;IN4=1;                        
  23.         }
  24.                                                                                                   
  25. void zuo()
  26.         {
  27.         IN1=0;IN2=0;IN3=0;IN4=1;                                
  28.         }
  29. void you()
  30.         {
  31.         IN1=1;IN2=0;IN3=0;IN4=0;        
  32.         }
  33.                                                                                                                                                 
  34. void ting()
  35. {
  36.                  IN1=0;
  37.                 IN2=0;
  38.                 IN3=0;
  39.                 IN4=0;
  40. }                  

  41. void  xunji()
  42. {
  43.                
  44.                 if((z==1)&&(y==0))          //  左轉(zhuǎn)          (亮為高,暗為低)
  45.                 {               
  46.                         zuo();                        
  47.                         PWM1=20;   
  48.                         PWM2=20;
  49.                    }            

  50.            if((z==0)&&(y==1))           //          右轉(zhuǎn)
  51.                 {                                                        
  52.                      you();
  53.                          PWM1=20;
  54.                          PWM2=20;                                                                          
  55.                 }                                                                                 
  56.                 if((z==0)&&(y==0))                     //          直走
  57.                 {                                                
  58.                      zhi();         
  59.                         PWM1=20;
  60.                         PWM2=20;
  61.                 }
  62.                 if((z==1)&&(y==1))           //          停止
  63.                 {
  64.                          ting();
  65.                         PWM1=0;
  66.                         PWM2=0;               
  67.                 }        
  68. }






  69. /************電機(jī)中短*****************/
  70. void T0_time() interrupt 1
  71. {
  72.     TH0 = (65536-10)/256;                           //0.1ms
  73.     TL0 = (65536-10)%256;
  74.            t++;
  75.            shijian++;        
  76.         if(t==100)                           //1s
  77.           t=0;                          //清零        
  78.           if(t<=PWM1)
  79.              ENA=1;                  //當(dāng)計(jì)數(shù)變量小于占空比時(shí)輸出高電平,大時(shí)輸出低電平   
  80.            else
  81.                  ENA=0;  
  82.                                                                
  83.           if(t<=PWM2)
  84.            ENB=1;                  //當(dāng)計(jì)數(shù)變量小于占空比時(shí)輸出高電平,大時(shí)輸出低電平      
  85.         else                          
  86.            ENB=0;         
  87.    }
復(fù)制代碼





作者: 陶墨一    時(shí)間: 2017-7-22 22:27
你說(shuō)的循跡   是黑膠帶還是鐵絲之類的?    改變PWM可以控制輪子的速度   輪子一定要擰緊
作者: better-me    時(shí)間: 2017-7-23 08:55
陶墨一 發(fā)表于 2017-7-22 22:27
你說(shuō)的循跡   是黑膠帶還是鐵絲之類的?    改變PWM可以控制輪子的速度   輪子一定要擰緊

黑膠帶,改變了pwm但經(jīng)常還是會(huì)經(jīng)常跑出去




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1