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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

小車跑不了直線?是怎么回事

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:173860 發(fā)表于 2017-6-10 12:37 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
#include<reg52.h>  
#define uchar unsigned char  
#define V_TH  0XFF  
#define V_TL  0XF6  
#define V_TMOD 0X01  

void init_sys(void);            /*系統(tǒng)初始化函數(shù)*/  
void f_left();  //前進(jìn)左轉(zhuǎn)  
void f_right(); //前進(jìn)右轉(zhuǎn)  
void b_left();  //后退左轉(zhuǎn)  
void b_right(); //后退右轉(zhuǎn)  
void forward(); //前進(jìn)  
void back();    //后退  
void stop();    //停止  

//控制小車正反轉(zhuǎn)  
sbit IN1 = P0 ^ 0;  
sbit IN2 = P0 ^ 1;  
sbit IN3 = P0 ^ 2;  
sbit IN4 = P0 ^ 3;  
//控制小車轉(zhuǎn)速  
sbit ENA = P2 ^ 0;  
sbit ENB = P2 ^ 1;  

uchar ZKB1 = 80, ZKB2 = 80; //控制輪子轉(zhuǎn)速  
uchar tmp;  //存放串口數(shù)據(jù)  
void main (void)  
{  
    init_sys();  
    ENA = 0;  
    ENB = 0;  
    ZKB1 = 90;  
    ZKB2 = 90;  
    IN1 = 0;  
    IN2 = 0;  
    IN3 = 0;  
    IN4 = 0;  
    TMOD |= 0x20;           // 定時器1工作于8位自動重載模式, 用于產(chǎn)生波特率  
    TH1 = 0xFD;             // 波特率9600  
    TL1 = 0xFD;  
    SCON = 0x50;            // 設(shè)定串行口工作方式  
    PCON &= 0xef;           // 波特率不倍增  
    TR1 = 1;                // 啟動定時器1  
    while(1)  
    {  

        if(RI)                      // 是否有數(shù)據(jù)到來  
        {  
            RI = 0;  
            tmp = SBUF;             // 暫存接收到的數(shù)據(jù)  
            switch(tmp)  
            {  
            case 'a':  
                forward();  
                break;  
            case 'b':  
                back();  
                break;  
            case 'c':  
                f_left();  
                break;  
            case 'd':  
                f_right();  
                break;  
            case 'e':  
                b_left();  
                break;  
            case 'f':  
                b_right();  
                break;  
            case 'g':  
                stop();  
                break;  
            }  
        }  
    }  
}  
/******************************************************
*函數(shù)功能:對系統(tǒng)進(jìn)行初始化,包括定時器初始化和變量初始化*/  
void init_sys(void)            /*系統(tǒng)初始化函數(shù)*/  
{  
    /*定時器初始化*/  
    TMOD = V_TMOD;  
    TH0 = V_TH;  
    TL0 = V_TL;  
    TR0 = 1;  
    ET0 = 1;  
    EA = 1;  
}  
/*********************************************
*函數(shù)功能:控制方向*/  

void forward()  
{  
    IN1 = 1;  
    IN2 = 0;  
    IN3 = 1;  
    IN4 = 0;  
}  
void back()  
{  
    IN1 = 0;  
    IN2 = 1;  
    IN3 = 0;  
    IN4 = 1;  
}  
void f_left()  
{  
    ZKB1 = 90;  
    ZKB2 = 45;  
    IN1 = 1;  
    IN2 = 0;  
    IN3 = 1;  
    IN4 = 0;  
}  
void f_right()  
{  
    ZKB1 = 45;  
    ZKB2 = 90;  
    IN1 = 1;  
    IN2 = 0;  
    IN3 = 1;  
    IN4 = 0;  
}  
void b_left()  
{  
    ZKB1 = 90;  
    ZKB2 = 45;  
    IN1 = 0;  
    IN2 = 1;  
    IN3 = 0;  
    IN4 = 1;  
}  
void b_right()  
{  
    ZKB1 = 45;  
    ZKB2 = 90;  
    IN1 = 0;  
    IN2 = 1;  
    IN3 = 0;  
    IN4 = 1;  
}  
void stop()  
{  
    IN1 = 1;  
    IN2 = 1;  
    IN3 = 1;  
    IN4 = 1;  
}  
/********************************************************
/*中斷函數(shù)*/  
void timer0(void) interrupt 1 using 2  
{  
    static uchar click = 0;                /*中斷次數(shù)計數(shù)器變量*/  
    TH0 = V_TH;                                  /*恢復(fù)定時器初始值*/  
    TL0 = V_TL;  
    ++click;  

    if (click >= 100) click = 0;  

    if (click <= ZKB1)     /*當(dāng)小于占空比值時輸出高電平,高于時是低電平,從而實現(xiàn)占空比的調(diào)整*/  
    {  
        ENA = 1;  
    }  

    if (click > ZKB1)  
    {  
        ENA = 0;  
    }  

    if (click <= ZKB2)     /*當(dāng)小于占空比值時輸出高電平,高于時是低電平,從而實現(xiàn)占空比的調(diào)整*/  
    {  
        ENB = 1;  
    }  

    if (click > ZKB2)  
    {  
        ENB = 0;  
    }  

}  

1497069302039.jpg (3.75 MB, 下載次數(shù): 121)

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

使用道具 舉報

沙發(fā)
ID:177855 發(fā)表于 2017-6-10 14:01 | 只看該作者
湊個熱鬧。
回復(fù)

使用道具 舉報

板凳
ID:123289 發(fā)表于 2017-6-10 18:09 | 只看該作者
先不考慮程序,你的車子能跑直線嗎?
回復(fù)

使用道具 舉報

地板
ID:209916 發(fā)表于 2017-6-10 19:36 | 只看該作者
可以考慮使用PID算法
回復(fù)

使用道具 舉報

5#
ID:189134 發(fā)表于 2017-6-10 22:20 | 只看該作者
2輪的因為左右兩邊電機(jī)轉(zhuǎn)速不一致,基本上走不了直線,采用增量PID控制電機(jī)轉(zhuǎn)速可以是走的曲線平滑一點
回復(fù)

使用道具 舉報

6#
ID:209976 發(fā)表于 2017-6-10 23:09 | 只看該作者
占樓 湊個熱鬧
回復(fù)

使用道具 舉報

7#
ID:164602 發(fā)表于 2017-6-11 09:26 | 只看該作者
一般在小車,在沒有限制條件時(如尋跡等),是跑不了直線的!!!
因為:(這就是技術(shù)與科學(xué)的區(qū)別了!)
第一:你以為給電機(jī)的電壓是“絕對”——就是絕對一樣嗎?
第二:你的電機(jī)絕對一樣嗎?
第三:你啟動電機(jī)的時間絕對一樣嗎?
第四:電車的輪子與地面的抓地力絕對一樣嗎?這個涉及小車重心在絕對中心嗎?輪子受到壓力絕對一樣嗎?等等
第五:地面絕對一樣平整嗎?
.................
不說了,你要生氣了。
在課本中說的科學(xué),都是理想化的,你做技術(shù),就是具體化的,以前書上的題,不能拿到這里來用。而且,我們用的模塊,本身便宜,精度就不是很高。
所以,正常情況下,小車自己走不了直線。
像樓上說的,你要讓小車走直線,得加好多傳感器才行。如:測個速,但千萬不要以為測出、調(diào)節(jié)到一樣的速度,小車就走直線了(平整路面差不多了),輪子打不打滑呢等等。
之所以我能說這么多,也是有經(jīng)歷的。原來我也想搞這個,咨詢了專業(yè)人士,這些都是專業(yè)人士說的,還說這本身就是一個大大的研究課題。我放棄了。沒辦法,我沒那個能力。呵呵

評分

參與人數(shù) 1黑幣 +80 收起 理由
admin + 80 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

8#
ID:210066 發(fā)表于 2017-6-11 12:59 | 只看該作者
看個熱鬧
回復(fù)

使用道具 舉報

9#
ID:173860 發(fā)表于 2017-6-11 17:15 | 只看該作者
謝謝大家了,我用四輪的會好點下次搞個試試。
回復(fù)

使用道具 舉報

10#
ID:173860 發(fā)表于 2017-6-19 09:22 | 只看該作者
大家好,我用另外一個程序小車可以走直,這個走不了。我說的走直線不是直線是正常的前進(jìn)后退。
回復(fù)

使用道具 舉報

11#
ID:182758 發(fā)表于 2017-6-19 09:58 | 只看該作者
加油~湊個熱鬧,
回復(fù)

使用道具 舉報

12#
ID:182758 發(fā)表于 2017-6-19 09:59 | 只看該作者
用增益式PID算法試試
回復(fù)

使用道具 舉報

13#
ID:201524 發(fā)表于 2017-6-19 10:42 | 只看該作者
要實現(xiàn)什么功能呢
回復(fù)

使用道具 舉報

14#
ID:212679 發(fā)表于 2017-6-19 18:48 | 只看該作者
學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報

15#
ID:212711 發(fā)表于 2017-6-19 20:23 | 只看該作者
湊個熱鬧
回復(fù)

使用道具 舉報

16#
ID:212474 發(fā)表于 2017-6-20 11:32 | 只看該作者
排除程序問題的話,很有可能是兩個輪子或電機(jī)不平行,有一定誤差,會導(dǎo)致小車越跑越偏。
回復(fù)

使用道具 舉報

17#
ID:110734 發(fā)表于 2017-6-20 16:43 | 只看該作者
1.小車的輪子是否直徑絕對相一致?2.程序的運行時間你看看有沒有問題?
回復(fù)

使用道具 舉報

18#
ID:173860 發(fā)表于 2017-6-23 13:06 來自觸屏版 | 只看該作者
三輪小車,視頻上不了。

IMG_20170617_154844.jpg (110.5 KB, 下載次數(shù): 80)

IMG_20170617_154844.jpg
回復(fù)

使用道具 舉報

19#
ID:212728 發(fā)表于 2017-6-23 18:00 來自觸屏版 | 只看該作者
HC6800-ES-V2.0 發(fā)表于 2017-6-11 09:26
一般在小車,在沒有限制條件時(如尋跡等),是跑不了直線的!!!
因為:(這就是技術(shù)與科學(xué)的區(qū)別了!) ...

好厲害的樣子,長見識了,原來還有這么多的問題
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品一区国产精品 | 99久久精品国产一区二区三区 | 日韩在线观看一区 | 精品视频一区二区 | 欧美jizzhd精品欧美巨大免费 | 国产综合视频 | 亚洲高清视频在线观看 | 日韩欧美中文在线 | 成人久久久 | 精品九九久久 | yiren22 亚洲综合 | 欧美精品啪啪 | 欧洲精品码一区二区三区免费看 | 久久久久久高潮国产精品视 | 国产精品自拍啪啪 | 久久精品久久久 | 亚洲精品久久久久中文字幕欢迎你 | 自拍偷拍中文字幕 | 韩日一区 | 无码一区二区三区视频 | 欧美激情在线一区二区三区 | 欧美日韩中文国产一区发布 | 一区二区三区欧美大片 | 天天色图 | 国产精品高潮呻吟久久 | 欧美一区二区三区在线观看视频 | 国产精品久久久久久久 | 亚洲黄色在线 | 日本精品一区二区三区在线观看视频 | 久久久免费毛片 | 日韩精品久久一区二区三区 | 久久久999国产精品 中文字幕在线精品 | 精品国产一区二区三区久久久蜜月 | 色综合九九 | 中文字幕一二三区 | 国产免费国产 | 欧美性精品 | 日韩欧美亚洲 | 国产伦一区二区三区 | 91精品久久久久久久久中文字幕 | 特黄色一级毛片 |