中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于MSPM0G3507主控的一輛智能(平衡) 小車

        基于MSPM0G3507主控的一輛智能(平衡) 小車

        作者:CHINAQN FROM EEPW 時間:2025-01-21 來源:EEPW 收藏

        1737461450981772.png

        本文引用地址:http://www.antipu.com.cn/article/202501/466535.htm

        1   項目目的及實現(xiàn)功能

        一般在弱電領域,對單片機學習和使用的通用路線就是使用開發(fā)板進行調試,但是開發(fā)板有的大多是一些板載零件,沒有相應的執(zhí)行機構。然而我們電子工程師常常需要一些執(zhí)行機構進行調試/ 分析/ 驗證圍繞單片機的設計方案;

        (vehicle) 作為科研工程中一個常見的機電一體化執(zhí)行機構模型,其包含了運動學和動力學兩個領域的物理和數(shù)學知識,所以摸索使用一款新單片機時,可選一個做工程實踐平臺,特點如下:

        ①能評估選型一款MCU 硬件外設資源(如定時器PWM,ADC,I2C,SPI,SDIO,UART,GPIO,CAN,LIN 等);

        ② 能評估考量MCU功耗(如工作電壓,電流,溫度等);

        ③能通過經典PID 等算法測試MCU 的數(shù)據(jù)處理能力。

        不夸張地說,一輛可稱為智能的(vehicle),硬件上大多會將一款MCU 所有的功能和外設都使用了,本項目用一款TI 的低功耗新產品MCU 主控  G3507 來實現(xiàn)控制一輛小車(注: 不等同于mini 玩具車),在G3507上運用PID控制算法和卡爾曼濾波算法完成小車軟硬件設計實踐平臺,讓其不僅可前后運動/轉向運動,還可平衡態(tài)靜止等運動態(tài)。此項目對于學習使用當今低碳時代下的電子領域的一款新MCU 應該還是很有實踐意義的。

        2   項目整體設計思路

        2.1 機械結構

        此單片機實踐項目主要應用G3507 主控對一個機械平臺- 小車(vehicle)進行控制,使小車能在前進/ 后退/ 左轉/ 右轉運動時,仍然保持動態(tài)直立平衡狀態(tài),所以首先采用CAD 設計圖紙,制造組裝一個小車機械結構平臺,最終設計如下圖所示:

        1737461576936409.png

        2.2 硬件:MCU主控選型

        硬件電子部分主要基于TI LP-開發(fā)板設計,如圖示,主控芯片是TI(德州儀器)公司的新產品MSPM0G3507.

        1737543962603909.png

        MCU介紹:

        MSPMOG3507器件提供具有內置錯誤修正碼(ECC)的128KB 嵌入式閃存程序存儲器和具有硬件奇偶校驗的32KB SRAM。這些器件還包含一個存儲器保護單元、7 通道DMA、數(shù)學加速器和各種高性能模擬外設,例如兩個12 位4MSPS ADC、一個可配置內部共亭電壓基準、一個12 位DAC、三個具有內置基準DAC 的高速比較器、兩個具有可編程增益的零漂移運算放大器和一個通用放大器。這些器件還提供智能數(shù)字外設,例如兩個16 位高級控制計時器、三個16 位通用計時器、一個32 位高分辨率計時器、兩個窗口式看門狗計時器以及一個具有警報和日歷模式的RTC。這些器件可提供數(shù)據(jù)完整性和加密外設(AES、CRC、TRNG)以及增強型通信接口(四個UART、兩個12C、兩個SPI 和一個CAN 2.0/FD)。

        器件特性包括:

        ●   工作電壓為1.62V至3. V

        ●   具有存儲器保護單元且頻率高達80MHz的ARM32 位Cortex-M0+

        ●   具有內置ECC 的128KB 閃存和具有硬件奇偶校驗的32KB SRAM

        ●   兩個12 位4MSpS ADC

        ●   12 位DAC

        ●   兩個零漂移、零交叉斬波運算放大器

        ●   兩個16 位高級控制計時器

        ●   三個16 位通用計時器

        ●   一個32 位高分辨率計時器

        ●   60 個GPIO 引腳

        image.png

        LQFP64引腳排列(頂視圖)

        2.3 硬件:開發(fā)板平臺

        LP-MSPM0G3507 開發(fā)板特性

        板載XDS110 調試探針

        可用于超低功耗調試的EnergyTrace 技術

        用于用戶交互的2 個按鈕、1 個LED 和1 個RGB LED

        溫度傳感器電路

        光傳感器電路

        用于ADC(高達4Msps)評估的外部OPA2365(默認緩沖模式)

        板載32.768 kHz 和40 MHZ 晶體

        ADC 輸入的RC 濾波器(默認未安裝)

        開發(fā)板硬件框圖

        1737550488215611.png

        2.4 硬件框圖

        1737550794423889.png

        小車系統(tǒng)硬件圖

        1737550849180534.png

        小車各模塊信號流及供電

        2.5 硬件實物

        本項目硬件板卡主要圍繞TI LP-MSPM0G3507 開發(fā)板進行二次開發(fā)擴展板SHEILD-PCBA,完成小車執(zhí)行機構所需的外圍器件的實物如下(已經過二次PCB集成)

        image.png

        2.6 硬件:開發(fā)板原理圖概覽

        1737595050456629.png

        總體概覽

        1737595086345514.png

        MSPM0G3507最小系統(tǒng)電路圖

        1737595114953796.png

        最小系統(tǒng)-晶振原理圖

        image.png

        最小系統(tǒng)-電源原理圖

        image.png

        XDS110調試模塊原理圖

        2.7 硬件:開發(fā)者二次開發(fā)部分

        車執(zhí)行機構各電路模塊和 MSPM0G3507-MCU 外 設分配 / 連接表

        image.pngimage.png

        IMU模塊(MPU6050)原理圖

        image.png

        編碼器模塊電路原理圖

        image.png

        驅動隔離芯片+DMOS原理圖

        驅動電機轉速和 MCU 信號轉接板(自制)轉向控 制真值表:

        image.png

        以上二次開發(fā)的原理圖最終 Layout 生成 PCB 實物 如圖所示(此板卡分成兩塊 PCB 由開發(fā)者通過 PCBEDA 設計提供)

        image.png

        小車用到的所有零部件集成組裝實物平臺,整體構 成圖如下

        1737595160754681.png

        2.8 軟件部分:軟件流程圖

        1737595187498492.png

        基于MSPM0G3507主控的智能(平衡)小車

        2.8.1 軟件部分: 核心算法介紹

        此小車項目選擇簡單的串級PID 算法,所謂串級PID類似于串聯(lián),它將PD直立環(huán)(balance)、PI速度環(huán)(velocity)和PD轉向環(huán)(turn)結果分別計算最后相加。得到輸出左右輪的PWMA 和PWMB 輸出。其極性代表轉向。三個環(huán)量“你追我趕”,“相互制約”才能保證一個動態(tài)穩(wěn)定的系統(tǒng),具體計算公式如下:

        1737595255218953.png

        其中直立環(huán)使用比例+ 微分變量(PD)進行控制,比例系數(shù)計算小車傾角與平衡位置的差(Bias),而微分系數(shù)計算小車俯仰角的加速度。小車的直立情況與積分量無關,主要與其位置和加速度有關,具體計算公式如下:

        1737595279392861.png

        速度環(huán)使用優(yōu)化后的限幅比例+ 積分變量(PI)進行控制,比例系數(shù)計算小車左右輪速度之和和零之間差值(Encoder_Least),積分系數(shù)計算小車速度差累加和(Encoder_Integral)。由于速度控制與小車的加速度幾乎無關,所以只是用PI控制,具體公式如下:

        1737595301193574.png

        2.8.2 軟件部分:PID算法運行過程

        1737595331981143.png

        2.8.3 軟件部分:PID算法調試步驟

        參數(shù)整定:

        平衡小車的具體參數(shù)受到車體結構和地面傾斜角度的影響,參數(shù)整定是一個極為枯燥耗時的工作。參數(shù)整定沒有好的方法,只能通過不斷嘗試,用“夾逼準則”才能找到最好的值。換言之,好的參數(shù)就是大量時間堆積出來的結果,學習使用PID 對于參數(shù)的調節(jié)不過分追求。但調出一個能用的參數(shù)也許花費點的時間,這里簡單敘述一下參數(shù)調整的過程。對于串級PID 我們一般先調節(jié)直立環(huán),再調節(jié)速度環(huán),在調節(jié)完這兩個環(huán)節(jié)之后小車就能很好地走直線了,最后調節(jié)轉向環(huán),用于調節(jié)轉向。每個環(huán)的功能如下圖所示:

        image.png

        經典口訣 :

        1738666595321993.png

        2.9 編碼實現(xiàn):將上述軟件流程及算法在MSPM0G 3507這款MCU開發(fā)環(huán)境中編碼調試

        以上軟件編碼調試可以在 TI-MSPM0G3507 中使用 CCSTI Code Composer Studio? IDE)或云 IDE 開 發(fā)調試;Code Composer Studio IDE 支持 EnergyTrace? 技術。開發(fā)人員可以輕松測量其應用的功耗,便于優(yōu)化 產品低功耗應用。

        1737680215290228.png

        1737680235504296.png

        image.png

        1737680254775044.png

        1737680273544936.png

        1737595436417536.png

        當然其他IDE 如IAR Embedded Workbench? IDE和Keil?μVision? IDE也可進行正常調試MCU。MSPM0G3507軟件開發(fā)的特色:低門檻,無需環(huán)境就可云IDE開發(fā)調試,測試用例程序可以直接參照右圖調試;

        本項目采用國內開發(fā)人員使用較多的Keil MDKIDE(V5.39)

        1737595657656031.png

        1737595672332429.png

        安裝好MSPM0G3507軟件支持包

        1737595697413140.png

        安裝好TI MCU專用Sysconfig配置工具KEIL IDE的Tools工具欄

        1737595726805763.png

        配置MSPM0G3507的Debug為CMSIS-DAP

        1737680317856448.png

        配置MSPM0G3507專用XDS110板載調試器(LPMSPM0G3507開發(fā)板板載)

        1737680356120661.png

        配置MSPM0G3507的Flash大小為128KB

        1737680409413577.png

        打開安裝好的1737680435788831.png

        例程,進行配置。syscfg

        1737680453941897.png

        配置本工程MCU底層文件.syscfg

        1737680487792648.png

        image.png

        打開main文件,如圖

        1737680527991415.png

        添加初始化各部外設代碼

        配置定時器產生PWM

        1737680552662789.png

        1737680569856571.png

        配置IIC初始化MPU6050

        1737680595767410.png

        配置IIC初始化OLED初始化;

        配置GPIO按鍵初始化;

        添加/移植PID算法代碼;

        1737680634670365.png

        1737680657134104.png

        1737680675900691.png

        1737680690219321.png

        2.10 MCU固件最終調試及測試結果

        啟動后配置。syscfg文件中各GPIO引腳與自制驅動板一致后編譯程序,將PID代碼拷貝到工程中。參考前述方法進行整定參數(shù)。不斷調試代碼,進行如下測量項目,驗證是否達標。

        1737680728144374.png

        小車平衡態(tài)實際調試視頻

        基礎測試:

        1737680768426925.png

        高級測試:

        1737680797304256.png

        3   總結

        1737680840739244.png

        本實踐項目采用MSPM0G3507 作為80MHz主控芯片對小車進行MCU控制,對MPU6050 實現(xiàn)姿態(tài)角解算輸出,使用DMOS 芯片進行直流電機驅動調速,還采用霍爾編碼器進行脈沖計數(shù)實現(xiàn)了小車左右電機速度讀取,霍爾編碼器的反饋信號可達到速度環(huán)的控制。反饋是控制的核心,此項目中MCU微控制器,主要作用就是獲取小車的反饋信息,做出相應的控制。

        采用MSPM0G3507低功耗單片機制作小車,做到了相比以往3.3 V供電的ARM Cortex-M3 系列單片機電壓降低至1.62 V仍然可以工作,且需要要的頻率80MHz 可以滿足PID 控制運算需要,運算功耗也明顯降低。低碳時代背景下,使用如TI 的MSPM0G3507 系列低功耗MCU 研發(fā)產品是時代趨勢。當下看來MSPM0G3507 比XXX32F103R系列ARM Cortex-M3單片機更具性價比。

        (本文來源于《EEPW》



        評論


        相關推薦

        技術專區(qū)

        關閉