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

QQ登錄

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

搜索
查看: 2337|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

我做的51單片機(jī)循跡小車 改PWM1和PWM2就可以達(dá)到理想狀態(tài)對(duì)嗎?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:219079 發(fā)表于 2017-7-22 17:30 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
用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;        //開(kāi)總中斷
  17.          ET0=1;        //開(kāi)定時(shí)器1中斷
  18.          TR0=1;        //啟動(dòng)定時(shí)器1         程序開(kāi)始在此等待中斷
  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ù)制代碼




評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:221642 發(fā)表于 2017-7-22 22:27 | 只看該作者
你說(shuō)的循跡   是黑膠帶還是鐵絲之類的?    改變PWM可以控制輪子的速度   輪子一定要擰緊
回復(fù)

使用道具 舉報(bào)

板凳
ID:219079 發(fā)表于 2017-7-23 08:55 | 只看該作者
陶墨一 發(fā)表于 2017-7-22 22:27
你說(shuō)的循跡   是黑膠帶還是鐵絲之類的?    改變PWM可以控制輪子的速度   輪子一定要擰緊

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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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