0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

授人以漁,24電賽H題完賽資料開源,思想開源-(3)控制思想講解

CW32生態(tài)社區(qū) ? 來源:CW32生態(tài)社區(qū) ? 作者:CW32生態(tài)社區(qū) ? 2024-09-09 18:16 ? 次閱讀

例程開源鏈接:https://pan.baidu.com/s/1PpacwWdcqvmT4xJEspaojw?pwd=6edb 提取碼:6edb

初始設(shè)定與啟動

首先,我們啟動小車并觀察其運行情況。小車通過測量左右輪的路程差來進行方向調(diào)節(jié)。一旦找到尋跡的黑色線,即開始尋跡操作。我們使用了5個尋跡感應(yīng)管來實現(xiàn)精確的尋跡功能。

尋跡過程

在第一圈中,我們可以看到小車迅速定位并開始尋跡。每一圈結(jié)束后,小車進行角度調(diào)整,通過調(diào)整左右輪的路程差來實現(xiàn)方向調(diào)節(jié)。尋跡過程中,小車沿著預(yù)設(shè)的角度前行,一旦再次檢測到黑色線,即刻重新開始尋跡操作。

控制策略概述

總體而言,我們的控制策略相對簡單明了:在空白區(qū)域通過左右輪的路程差進行實時方向調(diào)節(jié),并在尋跡模塊檢測到線時立即切換到尋跡模式。在達到ABCD點后,我們先進行方向調(diào)整,將車輛轉(zhuǎn)向設(shè)定方向,然后執(zhí)行路程差控制。

其中路程差進行方向調(diào)節(jié)實現(xiàn)代碼如下:

void task0(void)
{
                                        IR_Check();                                        if(FLAG_ONir==1&&timecount>=300)   //有傳感器了,聲光提示,停下
                                  {
                                                        StartFlag=0;
                                                        setspeedr=0;setspeedl=0; // 停車
                                                        R_Pid_Ctrl(0,SPEED_RIGHT);
                                                        L_Pid_Ctrl(0,SPEED_LEFT);                                                  beeponflag=1;
                                        }
                                        else
                                        {
                                                  setrightroad=5000;
                                                        setleftroad=5000;
                                                  if(Flag_PID>=1)
                                                        {                                                                if(rightroad>leftroad+10)
                                                                {Flag_PID=0;        Car_turnright(80,40);}
                                                                else if(leftroad>rightroad+10)
                                                                {Flag_PID=0;        Car_turnright(40,80);}
                                                                else
                                                                {Flag_PID=0;        Car_turnright(80,80);}

                                                                R_Pid_Ctrl(setspeedr,SPEED_RIGHT);
                                                                L_Pid_Ctrl(setspeedl,SPEED_LEFT);                                                        }                                        }                                
}

車輛轉(zhuǎn)角實現(xiàn)代碼如下:(以下代碼為左輪速不動,右輪轉(zhuǎn)動調(diào)角度)

void ToangleR(unsigned int targetangl, unsigned int picha)
{
        do
        {
                         if(Flag_PID>=1)
                                        {                                                                Flag_PID=0;                                                                R_Pid_Ctrl(15,SPEED_RIGHT);
                                        }
                                if(Flag_Encode == 1)            //標志位檢測執(zhí)行 10ms 實時速度顯示
                          {
                                        Encode_Speed();Flag_Encode=0;                                }
         }while(targetangl+picha

此外,左右輪速度的控制也至關(guān)重要。我們采用閉環(huán)電機速度控制,確保在尋跡過程中左右輪速度能夠精確控制,以提高運動穩(wěn)定性和直線行駛效果。

PID速度閉環(huán)實現(xiàn)代碼如下:(以下代碼為左輪速度閉環(huán)控制代碼。)

void L_Pid_Ctrl(unsigned int Target,unsigned int Real)      //PID速度控制函數(shù)
{
        int Error=0; //本次差值,上次差值  float j=0.0,i;     
         if(Target==0)
         {                        LastError=0;
                        dError=0;
                        SumError=0;
                  outpwml=0;
                  ATIM_SetCompare2B(outpwml);                  return;
         }
   Error =(Target-Real);   //本次偏差         if(SumError*L_Ki>1600)   //計算積分項
                                        {
                                                        SumError=1600;
                                                        SumError=SumError/L_Ki;
                       } // 輸出到最大值后,不再累計偏差,抗積分飽各
         else SumError +=Error;        
    dError=Error-LastError; //微分項,偏差的變化
    LastError=Error; //記錄本次偏差,用于下次計算
                i=L_Kp;
                j=Errori;
                i=L_Ki;
*                j=j+SumError*i;
                i=L_Kd;
                j=j+dError*i;
                if(j>1600)outpwml=1600+1;
                else if(j

調(diào)試過程中的挑戰(zhàn)

在實際調(diào)試過程中,我們遇到了幾個挑戰(zhàn)。首先是PID參數(shù)調(diào)節(jié),這直接影響到小車的穩(wěn)定性和精確性。其次是尋跡過程中的速度調(diào)整和轉(zhuǎn)向角度的精確控制,這些都需要仔細調(diào)整以保證最佳性能。

綜上所述,項目中涉及到多個參數(shù),它們的合理調(diào)整直接影響小車的最終運行效果。我設(shè)定的是跑6圈,但實際上小車可以持續(xù)運行更多圈數(shù),每一輪的積累反而會減小誤差,從而提高穩(wěn)定性和準確性。

硬件視頻講解:

授人以漁,24電賽H題完賽資料開源,思想開源-(1)硬件講解21 播放 · 0 贊同視頻

wKgZombeyvCAUhU8AAOMGlUVfKA268.jpg

?

授人以漁,24電賽H題完賽資料開源,思想開源-(2)軟件講解65 播放 · 0 贊同視頻

wKgaombeyvGANAElAAPzghPdSQA630.jpg

?

授人以漁,24電賽H題完賽資料開源,思想開源-(3)控制思想講解29 播放 · 0 贊同視頻

wKgZombeyvKAdkmjAAJ9t2SMJlM195.jpg

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 開源
    +關(guān)注

    關(guān)注

    3

    文章

    3181

    瀏覽量

    42235
  • 控制策略
    +關(guān)注

    關(guān)注

    0

    文章

    24

    瀏覽量

    8934
  • 尋跡
    +關(guān)注

    關(guān)注

    0

    文章

    6

    瀏覽量

    12544
  • CW32
    +關(guān)注

    關(guān)注

    1

    文章

    172

    瀏覽量

    525
收藏 人收藏

    評論

    相關(guān)推薦

    授人以漁,24H資料開源,思想開源-(2)軟件講解

    芯片完成的全國電子競賽H智能小車項目。該項目旨在通過智能控制技術(shù)完成項目功能,以下是項目的完整代碼和功能說明。 1.硬件平臺與功能特性 我們選擇了CW32F030C8T6芯片作為項目的核心
    的頭像 發(fā)表于 09-09 18:12 ?911次閱讀
    <b class='flag-5'>授人以漁</b>,<b class='flag-5'>24</b><b class='flag-5'>電</b><b class='flag-5'>賽</b><b class='flag-5'>H</b><b class='flag-5'>題</b><b class='flag-5'>完</b><b class='flag-5'>賽</b><b class='flag-5'>資料</b><b class='flag-5'>開源</b>,<b class='flag-5'>思想開源</b>-(2)軟件<b class='flag-5'>講解</b>

    天津ti

    天津ti。。。
    發(fā)表于 07-25 08:24

    浙江

    一共七,一樣的吧
    發(fā)表于 07-25 10:25

    2015 年全國——風力擺控制系統(tǒng)(B )精選資料分享

    2015 年全國大學生——風力擺控制系統(tǒng)(B ) 一、系統(tǒng)設(shè)計方案論證1. 預(yù)期目標1)主控芯片選擇2)傳感器選擇
    發(fā)表于 07-23 06:23

    2019年H電磁炮實錄 精選資料分享

    2019年H電磁炮實錄你好學弟!這里...
    發(fā)表于 08-18 07:50

    報名開啟!開放原子開源大賽OpenHarmony創(chuàng)新來啦!

    大賽背景 開放原子開源大賽OpenHarmony創(chuàng)新賽期望達到以促用、以促教、以促學、以促練、以
    發(fā)表于 05-17 16:52

    2003年國A講解

    03年國A講解
    發(fā)表于 12-16 13:04 ?4次下載

    2019年H電磁炮實錄

    2019年H電磁炮實錄你好學弟!這里...
    發(fā)表于 11-10 09:05 ?44次下載
    2019年<b class='flag-5'>電</b><b class='flag-5'>賽</b><b class='flag-5'>H</b><b class='flag-5'>題</b>電磁炮實錄

    潤和軟件承辦2023開放原子開源大賽OpenHarmony創(chuàng)新金融行業(yè)

    近日,2023開放原子全球開源峰會在北京圓滿舉行。峰會期間,開放原子開源大賽OpenHarmony創(chuàng)新Workshop北京站(以下簡稱“Workshop北京站”)也同步舉辦,邀請到了多位專家、導師
    的頭像 發(fā)表于 06-27 11:30 ?432次閱讀
    潤和軟件承辦2023開放原子<b class='flag-5'>開源</b>大賽OpenHarmony創(chuàng)新<b class='flag-5'>賽</b>金融行業(yè)<b class='flag-5'>賽</b><b class='flag-5'>題</b>

    梁山派開發(fā)板-21年F-送藥小車-分析

    全國產(chǎn)開源開發(fā)板,基于GD32F4系列,21F-送藥小車分析
    的頭像 發(fā)表于 07-31 10:13 ?1151次閱讀
    梁山派開發(fā)板-21年<b class='flag-5'>電</b><b class='flag-5'>賽</b>F<b class='flag-5'>題</b>-送藥小車-<b class='flag-5'>賽</b><b class='flag-5'>題</b>分析

    2023年E國獎開源分享

    2023年E開源分享,主控為CW32!
    的頭像 發(fā)表于 10-09 16:18 ?6819次閱讀
    2023年<b class='flag-5'>電</b><b class='flag-5'>賽</b>E<b class='flag-5'>題</b>國獎<b class='flag-5'>開源</b>分享

    18萬獎金!開放原子開源大賽OpenCloudOS征集開啟

    上下游的協(xié)同能力,基于開源共享、共建共治的原則共同舉辦。 本次大賽,OpenCloudOS社區(qū)以「OpenCloudOS 8至OpenCloudOS 9操作系統(tǒng)遷移工具研發(fā)」為參與基礎(chǔ)軟件賽道, 同時設(shè)置總獎金18萬元,征集
    的頭像 發(fā)表于 10-21 16:35 ?471次閱讀
    18萬獎金!開放原子<b class='flag-5'>開源</b>大賽OpenCloudOS<b class='flag-5'>賽</b><b class='flag-5'>題</b>征集開啟

    18萬獎金!開放原子開源大賽OpenCloudOS征集開啟

    上下游的協(xié)同能力,基于開源共享、共建共治的原則共同舉辦。 本次大賽,OpenCloudOS社區(qū)以「OpenCloudOS 8至OpenCloudOS 9操作系統(tǒng)遷移工具研發(fā)」為參與基礎(chǔ)軟件賽道,同時設(shè)置總獎金18萬元,征集優(yōu)
    的頭像 發(fā)表于 10-25 10:27 ?397次閱讀
    18萬獎金!開放原子<b class='flag-5'>開源</b>大賽OpenCloudOS<b class='flag-5'>賽</b><b class='flag-5'>題</b>征集開啟

    2023A國獎CW32 開源分享

    A開源分享,主控為CW32
    的頭像 發(fā)表于 11-02 10:16 ?2162次閱讀
    2023<b class='flag-5'>電</b><b class='flag-5'>賽</b>A<b class='flag-5'>題</b>國獎CW32 <b class='flag-5'>開源</b>分享

    授人以漁,24H資料開源,思想開源-(1)硬件講解

    在2024年全國電子競賽的H題目中,我們團隊采用了CW32F030C8T6作為核心控制芯片,設(shè)計并完成了一款功能完備的智能小車。以下是我們的硬件配置及其功能特性的詳細介紹: 1.硬件概述與組成
    的頭像 發(fā)表于 09-09 18:10 ?294次閱讀
    <b class='flag-5'>授人以漁</b>,<b class='flag-5'>24</b><b class='flag-5'>電</b><b class='flag-5'>賽</b><b class='flag-5'>H</b><b class='flag-5'>題</b><b class='flag-5'>完</b><b class='flag-5'>賽</b><b class='flag-5'>資料</b><b class='flag-5'>開源</b>,<b class='flag-5'>思想開源</b>-(1)硬件<b class='flag-5'>講解</b>