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

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

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

基于FPGA的平衡小車設(shè)計(jì)

FPGA研究院 ? 來(lái)源: FPGA之旅 ? 2023-11-30 09:31 ? 次閱讀

一. 硬件介紹

底板資源:

TB6612電機(jī)驅(qū)動(dòng)芯片 * 2

MPU6050陀螺儀

WS2812 RGB彩色燈 * 4

紅外接收頭

ESP-01S WIFI

核心板

微相 A7_Lite Artix-7 FPGA開(kāi)發(fā)板

電機(jī)采用的是平衡小車之家的MG310(GMR編碼器)電機(jī)。底板上有兩個(gè)TB6612芯片,可以驅(qū)動(dòng)四個(gè)電機(jī),除了做平衡小車之外,也可以用來(lái)作為四驅(qū)車的底板,非常nice,同時(shí)支持兩種控制方式,推薦通過(guò)紅外遙控進(jìn)行控制,實(shí)現(xiàn)起來(lái)非常簡(jiǎn)單,紅外遙控器也非常便宜。

二. RTL 介紹

本次設(shè)計(jì)分為三大部分: MPU6050姿態(tài)解算 , 電機(jī)驅(qū)動(dòng)(PWM+編碼器) , 平衡控制,遙控器控制的模塊另外算。其中MPU6050姿態(tài)解算為設(shè)計(jì)的核心,解算出來(lái)的角度越穩(wěn),平衡控制就越容易,小車也就越穩(wěn)定。平衡控制其核心是調(diào)節(jié)PID的參數(shù),參數(shù)調(diào)的好,小車沒(méi)煩惱。

這里只對(duì)框架上做一個(gè)簡(jiǎn)單的介紹

整體架構(gòu)如下

10bce2f2-8f10-11ee-939d-92fbcf53809c.jpg ? ? ? ?

1. MPU6050姿態(tài)解算

模塊數(shù)據(jù)流如下圖所示,將獲取到的角度進(jìn)行一個(gè)8階的FIR濾波,加速度進(jìn)行一個(gè)2階的IIR濾波,即可得到相對(duì)平滑一點(diǎn)的數(shù)據(jù),然后經(jīng)過(guò)Cordic算法進(jìn)行姿態(tài)解算,即可得到roll和pitch角度,為了得到更加平滑一點(diǎn)的roll和pitch數(shù)據(jù),這里將得到的角度再進(jìn)行了一個(gè)1階的均值濾波(本來(lái)使用的是3階的均值濾波,但是相位延時(shí)有點(diǎn)大,所以修改為1階的了)

10cadeb6-8f10-11ee-939d-92fbcf53809c.png ? ? ? ?

2. 電機(jī)驅(qū)動(dòng)(PWM+編碼器)

框圖如下,在實(shí)際使用的時(shí)候,只使用了速度的檢測(cè),角度檢測(cè)這部分功能就去掉了,PWM生成模塊另算,這部分的代碼是比較簡(jiǎn)單的,就不作過(guò)多的說(shuō)明了。

10db03ea-8f10-11ee-939d-92fbcf53809c.png ? ? ? ?

3. 平衡控制

平衡車的控制采用三環(huán): 直立環(huán)、速度環(huán)、轉(zhuǎn)向環(huán),來(lái)進(jìn)行控制,直立環(huán)采用的是PID進(jìn)行控制,速度環(huán)采用的是PI進(jìn)行控制,而轉(zhuǎn)向環(huán)由于yaw在MPU6050解算的時(shí)候,誤差較大,所以沒(méi)有使用PID來(lái)進(jìn)行控制轉(zhuǎn)向的速度,而是直接輸出的兩輪的速度差進(jìn)行控制。框圖如下,三環(huán)通過(guò)PID進(jìn)行調(diào)節(jié)后,相加得到最終的PWM值進(jìn)行輸出。三5環(huán)的具體實(shí)現(xiàn)可以參考開(kāi)源的平衡小車C語(yǔ)言實(shí)現(xiàn),所以難點(diǎn)不在代碼實(shí)現(xiàn)上,而在于PID的調(diào)參上面,沒(méi)有經(jīng)驗(yàn)且沒(méi)有人指導(dǎo)的情況下,那簡(jiǎn)直是噩夢(mèng),如果長(zhǎng)時(shí)間沒(méi)有調(diào)好的話,容易懷疑是不是小車的結(jié)構(gòu)有問(wèn)題(但小車的結(jié)結(jié)構(gòu)一般是沒(méi)有問(wèn)題的,哈哈哈)。

10edda10-8f10-11ee-939d-92fbcf53809c.jpg ? ? ? ?

4. 遙控控制

本來(lái)想使用低成本高效率的紅外遙控來(lái)對(duì)小車進(jìn)行控制的,但是出現(xiàn)了意外,接收到的紅外遙控值不穩(wěn)定,按同一個(gè)按鍵,接收到值居然不一樣。沒(méi)辦法,還好弄了個(gè)esp-01S,可以通過(guò)tcp進(jìn)行連接,之前弄四軸飛機(jī)的有程序,可以拿來(lái)直接使用,美滋滋。

三. 總結(jié)

FPGA平衡小車的基本架構(gòu)就已經(jīng)介紹完了,很多模塊在都已經(jīng)實(shí)現(xiàn)過(guò),拿來(lái)通過(guò)簡(jiǎn)單的修改就可以直接用了,代碼實(shí)現(xiàn)上還是比較輕松的,難點(diǎn)在于PID的調(diào)參上,也是花了非常多的時(shí)間。

速度環(huán),還是有點(diǎn)問(wèn)題,能力時(shí)間有限, 沒(méi)有調(diào)好(?﹏?),希望后面有時(shí)間了可以接著調(diào)。

來(lái)源:FPGA之旅

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

    關(guān)注

    1620

    文章

    21509

    瀏覽量

    598869
  • 陀螺儀
    +關(guān)注

    關(guān)注

    44

    文章

    768

    瀏覽量

    98173
  • 開(kāi)發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    4769

    瀏覽量

    96150
  • 驅(qū)動(dòng)芯片
    +關(guān)注

    關(guān)注

    13

    文章

    1223

    瀏覽量

    54142
  • 平衡小車
    +關(guān)注

    關(guān)注

    1

    文章

    39

    瀏覽量

    12473

原文標(biāo)題:FPGA實(shí)現(xiàn)平衡小車

文章出處:【微信號(hào):FPGA研究院,微信公眾號(hào):FPGA研究院】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    平衡小車

    平衡小車
    云端AI
    發(fā)布于 :2023年04月10日 18:53:02

    兩輪平衡小車

    兩輪平衡小車兩輪平衡小車兩輪平衡小車兩輪平衡
    發(fā)表于 07-20 21:07

    stm32制作平衡小車問(wèn)題?

    最近在做平衡小車,遇到的問(wèn)題是:角度環(huán)調(diào)節(jié)好了,速度環(huán)加上去向前一點(diǎn)距離等待平衡之后再向前這樣操作小車能夠一直向前并且不會(huì)倒下,但是一下子操作向前的距離太大,
    發(fā)表于 10-14 20:00

    基于STM32的雙輪平衡小車設(shè)計(jì)

    預(yù)告:代碼及文檔下載方案分析1、基于STM32F103C8T6 單片機(jī)的雙輪自平衡小車系統(tǒng);2、以 MPU6050 三軸陀螺儀加速計(jì)為傳感器的姿態(tài)感知系統(tǒng);3、通過(guò)卡爾曼濾波對(duì)傳感器的數(shù)據(jù)進(jìn)行濾波
    發(fā)表于 11-30 08:03

    兩輪自平衡小車自主設(shè)計(jì)

    你只需要一個(gè)UNO和一個(gè)ITEAD提供的自平衡擴(kuò)展板,再加上你的小車底盤就可以了。配合速度環(huán),即使重心不在小車中心,小車也能自己調(diào)整角度,達(dá)到重心
    發(fā)表于 05-13 11:28 ?3次下載

    兩輪自平衡小車的設(shè)計(jì)與實(shí)現(xiàn)

    兩輪自平衡小車的設(shè)計(jì)與實(shí)現(xiàn),基于STM32控制的自平衡雙輪小車,其中機(jī)械部分包括車體、車輪、步進(jìn)電機(jī)、鋰電池等部件設(shè)計(jì)加工。
    發(fā)表于 05-19 15:16 ?20次下載

    平衡小車調(diào)試指南

    關(guān)于平衡車的調(diào)試指南,就是一種PID的基本實(shí)現(xiàn),基于平衡小車之家的文件
    發(fā)表于 07-13 17:43 ?0次下載

    STM32平衡小車平衡原理詳細(xì)介紹和程序及算法的概述免費(fèi)下載

    平衡小車是通過(guò)兩個(gè)電機(jī)運(yùn)動(dòng)下實(shí)現(xiàn)小車不倒下直立行走的多功能智能小車,在外力的推拉下,小車依然保持不倒下。這么一說(shuō)可能還沒(méi)有很直觀的了解究竟什
    發(fā)表于 07-16 08:00 ?53次下載
    STM32<b class='flag-5'>平衡</b><b class='flag-5'>小車</b>的<b class='flag-5'>平衡</b>原理詳細(xì)介紹和程序及算法的概述免費(fèi)下載

    基于STM32設(shè)計(jì)的智能平衡小車源代碼免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是基于STM32設(shè)計(jì)的智能平衡小車源代碼 支持手機(jī)及電腦上位機(jī)控制的平衡小車
    發(fā)表于 07-16 08:00 ?123次下載

    平衡小車直流電機(jī)驅(qū)動(dòng)的介紹及如何平衡小車如何測(cè)速?

    本文檔的主要內(nèi)容詳細(xì)介紹的是平衡小車直流電機(jī)驅(qū)動(dòng)的介紹及如何平衡小車如何測(cè)速?資料概述
    發(fā)表于 09-11 18:04 ?41次下載
    <b class='flag-5'>平衡</b><b class='flag-5'>小車</b>直流電機(jī)驅(qū)動(dòng)的介紹及如何<b class='flag-5'>平衡</b><b class='flag-5'>小車</b>如何測(cè)速?

    平衡小車調(diào)試總結(jié)

    前言本文將總結(jié)平衡小車的調(diào)試經(jīng)驗(yàn),經(jīng)過(guò)幾晚的努力平衡小車已經(jīng)可以比較穩(wěn)定的平衡了。本文平衡
    發(fā)表于 01-14 12:29 ?14次下載
    <b class='flag-5'>平衡</b><b class='flag-5'>小車</b>調(diào)試總結(jié)

    stm32平衡小車

    stm32f103c8t6的平衡小車的代碼
    發(fā)表于 06-15 14:51 ?37次下載

    STC節(jié)能平衡小車淺析

    電子發(fā)燒友網(wǎng)站提供《STC節(jié)能平衡小車淺析.pdf》資料免費(fèi)下載
    發(fā)表于 10-25 15:46 ?0次下載
    STC節(jié)能<b class='flag-5'>平衡</b><b class='flag-5'>小車</b>淺析

    平衡小車與電機(jī)PID系列教程

    平衡小車與電機(jī)PID系列教程可配合bilibili教學(xué)視頻使用
    發(fā)表于 07-31 18:30 ?29次下載

    STM32平衡小車原理圖

    STM32f103c8t6平衡小車原理圖
    發(fā)表于 07-05 10:54 ?1次下載