智能平衡移動機器人(MATLABSimulink版·微課視頻版)課件 第1-4章 緒論、應用平臺的搭建 -數字控制系統_第1頁
智能平衡移動機器人(MATLABSimulink版·微課視頻版)課件 第1-4章 緒論、應用平臺的搭建 -數字控制系統_第2頁
智能平衡移動機器人(MATLABSimulink版·微課視頻版)課件 第1-4章 緒論、應用平臺的搭建 -數字控制系統_第3頁
智能平衡移動機器人(MATLABSimulink版·微課視頻版)課件 第1-4章 緒論、應用平臺的搭建 -數字控制系統_第4頁
智能平衡移動機器人(MATLABSimulink版·微課視頻版)課件 第1-4章 緒論、應用平臺的搭建 -數字控制系統_第5頁
已閱讀5頁,還剩133頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

智能平衡移動機器人第一章

緒論目錄1.1背景介紹1.1.1智能平衡移動機器人介紹1.1.2智能平衡移動機器人應用1.1.3基于模型設計與自動代碼生成技術簡介1.2智能平衡移動機器人優勢1.3本書內容1.3.1應用平臺1.3.2應用內容1.3.3本書特色1.4本章小結

智能平衡式輪式機器人的模型源自經典的倒立擺模型,其兩輪同軸,主體有沿著輪軸旋轉的不穩定趨勢,因而控制其重心的位置保持主體的平衡是其區別于其他輪式機器人的主要控制難點,尤其是在運動的過程中保持自身平衡,這需要智能平衡機器人能夠通過其外部感知器件迅速地檢測出自身重心的偏移與繞輪軸方向傾斜角度的變化,傳輸到主控制器去控制執行部件——電機的迅速響應,從而能夠及時地抵消這種傾斜的趨勢來保持可接受范圍內的平衡。直線一級倒立擺自平衡小車1.1.1智能平衡移動機器人介紹

輪式機器人作為移動機器人的一種,將更為廣泛地應用到工業制造及物流運輸等場景中,成為節省人力成本,提高生產運輸效率,完成特殊環境工作的必不可少的核心力量。智能平衡式的輪式機器人,由于結構輕便,體積靈活,零轉彎半徑等方面的特點,在以上領域中將更具優勢。Ninebot公司的兩輪代步車Segway和雪佛蘭合作研制的概念車EN-V1.1.2智能平衡移動機器人應用

基于模型的設計與自動代碼生成技術的快速高效、兼容性強可復用、質量控制有保障等特性,恰恰能夠更好地適應現代及未來的軟件設計需求。基于模型設計主要是指通過MATLAB或者SCADE等計算機軟件工具對嵌入式的控制系統進行控制算法的建模與仿真。其優勢可以總結為以下四點。(1)圖形化模型化的設計將更加方便上手,對工程師而言意味著學習時間成本更低,交流成本更低,維護起來也更加有效率。(2)軟件開發中無法避免的一個問題便是BUG(軟件漏洞與錯誤)的引入,早期的驗證便是很有效的方法,每個階段都可以通過模型去做仿真,驗證效果,這樣不會因為前期的錯誤而在后期造成更大的損失。(3)自動代碼生成技術大幅度地提高工作效率的同時,也不用擔心自動生成代碼的質量與兼容性等問題,可以通過相應的工具進行完善。(4)在基于模型的設計中可以實現相關技術文件的快速創建,由模型等信息就可以生成詳細的代碼報告,能夠將整個系統軟件的細節詳細記錄,也方便了工程師做整理與發布,形成技術規范,幫助項目管理過程。

1.1.3基于模型設計與自動代碼生成技術簡介能夠載重自身10倍以上的物體,并且在路面行駛摩擦力小,具有速度快、效率高的優點。轉彎靈活,越野和爬坡能力強,是很有前途的用于短途代步、物流運輸的電動車輛,具有很好的應用前景。軟硬件知識豐富,是較好的教研載體,如直流有刷電機、編碼器、H橋電路電機驅動、動力電池、藍牙通信、液晶屏、MPU6050陀螺儀、WIFI通信、手機APP控制、串口通信、計算機軟件監控等模塊。結構輕便,體積靈活,能夠實現零半徑轉彎。在許多工業應有中能夠起到很好的效果。能夠以其自平衡移動底盤為載體,可以進行多種的改造,例如在機器人上添加機械臂實現移動抓取或者安裝消毒等工具進行移動消毒。1.2智能平衡移動機器人優勢智能平衡移動機器人應用平臺分為三部分,包括軟件部分、硬件部分和機械部分。(1)軟件部分:計算機搭載的MATLAB/Simulink仿真軟件、用于TIC2000系列DSP控制芯片代碼生成的HardwareSupportPackages硬件支持包、TI官方集成開發環境及編譯器CCS0004、C2000系列軟件資源庫ControlSuite等其他必要的驅動程序與支持文檔。(2)硬件部分:智能平衡式機器人硬件板卡,集成了仿真器的主控制板、電源板、驅動板、傳感器模塊板及使用BoosterPack標準的接口板。(3)機械部分:包括鋁合金板若干、品牌充電寶一塊、電機、編碼器、輪胎、及安裝支架一堆、若干緊固件與排線、數據線等。1.3.1應用平臺本書應用由淺入深的可分為三大部分:基礎外設應用、基于智能平衡移動機器人模塊的外設應用、基于智能平衡移動機器人的綜合應用。(1)基礎外設應用提供的應用如下所述。●時鐘控制。●GPIO輸出——LED跑馬燈。●定時器中斷——Timer0Interrupt。●SCI串口通信GPIO輸入——按鍵應用。●SCI串口通信。●Epwm應用。●ECap應用。●ADC電壓采集應用。(2)基于智能平衡移動機器人模塊的外設應用提供的應用如下所述。●ECap應用——超聲波測距。●Epwm應用——電機調速。●IIC應用——MPU6050數據讀取。●EQep應用——編碼器信號采集。●ADC應用——線性CCD數據采集。(3)基于智能平衡移動機器人的綜合性應用提供的應用如下所述。●智能平衡移動機器人平衡控制應用。●平衡控制進階應用。●智能平衡移動機器人之圈內避障應用。●智能平衡移動機器人之紅外循跡應用。1.3.2應用內容(1)融合單片機、C語言編程、建模仿真、電機技術、傳感器與檢測技術、理論力學、MATLAB、信號與系統等綜合技術。是初級工程師、研究生、本科生進入項目開發的一次實戰演練,經過這樣的綜合訓練,有助于提升綜合研發能力。(2)協助讀者更好掌握TIDSP技術:提供基礎的實驗案例,包括ADC、TIM1~4、UART1~2、IIC、GPIO、SPI、SWD、EXTI等模塊;提供智能平衡移動機器人系統級的控制案例,包括多種外部傳感器、伺服電機、通信模塊、顯示屏、計算機軟件監控、PID控制算法等,可以更好、更系統地使讀者掌握單片機技術。(3)更深入掌握電子技術:包含二極管、三極管、MOSFET、邏輯門電路、MOSFET驅動芯片、H橋電路電機驅動、穩壓電源芯片、藍牙和串口通信、液晶顯示屏等技術,對電子技術的綜合應用能力進行提升。(4)提升C語言編程能力:通過陀螺儀和加速度計姿態傳感器的讀取、卡爾曼濾波信號處理,平衡控制,通信,控制指令接收等功能,代碼有近3000行,上位機波形和控制參數發送軟件代碼,對C語言的綜合開發能力也有較大提升。(5)自動控制技術:通過智能平衡移動機器人的建模、仿真和實時控制,能系統掌握自動控制技術的數學模型、時域、頻域分析方法、PID的原理和軟硬件實現。這是初級嵌入式/單片機工程師到中級工程師的重要標志。(6)提供MBD工程開發方法:融合建模、仿真、實時控制、自動代碼生成、硬件在環仿真、快速控制原型技術,非常有助于提升科研能力。1.3.3本書特色本章首先對智能平衡移動機器人進行背景介紹,提出基于模型設計與自動化代碼生成技術,并且展示出智能平衡移動機器人較好的穩定性和快速移動的能力。然后將本書內容分為應用平臺、應用內容和本書特色等方面進行介紹。1.4本章小結合肥工業大學智能平衡移動機器人第二章

應用平臺的搭建目錄2.1應用平臺概述2.1.1硬件平臺2.1.2軟件平臺2.1.3MBD開發流程2.2集成開發環境2.2.1開發環境介紹2.2.2軟件安裝及配置2.2.3軟件應用基礎2.2.4軟件高級應用2.3本章小結算法與模型的搭建而生成的代碼需要在搭建的實驗平臺進行實驗,而完成這套實驗的硬件平臺是必不可少的。本書硬件平臺由兩部分組成:電控和機械。2.1.1硬件平臺(1)MATLAB/Simulink:Simulink是美國MathWorks公司推出的MATLAB中的一種可視化仿真工具。Simulink是一個模塊圖環境,用于多域仿真以及基于模型的設計。它支持系統設計、仿真、自動代碼生成以及嵌入式系統的連續測試和驗證。Simulink提供圖形編輯器、可自定義的模塊庫以及求解器,能夠進行動態系統建模和仿真。(2)CodeComposerStudio:其是代碼調試器,代碼設計套件,縮寫為CCS,可提供強健、成熟的核心功能與簡便易用的配置和圖形可視化工具,使系統設計更快。CodeComposerStudio包含一整套用于開發和調試嵌入式應用的工具。它包含適用于每個TI器件系列的編譯器、源碼編輯器、項目構建環境、調試器、描述器、仿真器以及多種其他功能。2.1.2軟件平臺(3)controlSUITE:其是TI為C2000開發者提供的資料庫和參考工具包。在這里面對C2000每個型號都有對應的樣例、手冊和設計指導。還有各種開發板平臺的原理圖、PCB圖和使用說明。(4)EmbeddedCoderSupportPackagesForTexainstrumentsC2000硬件支持包:能夠生成一個實時可執行文件,并將其下載到TI開發板。EmbeddedCoder自動生成C代碼,并在方框圖中插入I/O設備驅動程序。基于模型設計工程方法(Model-Based-Design):主要針對汽車、飛機、機器人等電控系統、雷達導航等信號處理系統、電力系統、通信系統等較復雜的需要單片機或計算機作為主處理器的控制系統設計,綜合采用物理建模、計算機仿真、自動代碼生成、軟件模型與控制器交互測試驗證的一種先進的開發方法。2.1.3MBD開發流程基于模型的設計到代碼生成的過程不同于普通的Simulink建模仿真,其涉及多個軟件,均需要根據具體要求進行配置后使用,具體涉及的軟件有下列幾種。(1)MATLABR2020a、Simulink工具箱及對應芯片的硬件支持包:R2020a僅支持64位操作系統,同時由于其運算能力的提升,要求系統至少有4G運行內存;Simulink是依附于MATLAB的一個仿真工具箱,其具有模塊精簡,參數配置靈活,模型符合實際等優點,廣泛應用于航空航天、信號處理、汽車、電機控制、通信行業等。(2)EmbeddedCoder支持包,該支持包由MathWorks公司與TexasInstrument公司(TI)共同開發提供,提供了配置選項和可以更好地控制生成代碼的函數、文件和數據的高級優化選項。EmbeddedCoder提高了代碼效率,并且能很方便的集成已有代碼,數據類型和產品中的標定參數。生成的代碼可以在處理器上執行用來驗證性能,可以通過PIL(ProcessorInLoop)仿真和代碼剖析的方法來查看代碼在硬件上的運行情況。(3)CodeComposerStudio0004,以下簡稱CCS9.0.1:該軟件為TI(德州儀器)官方開發的適用于其各系列DSP控制器的IDE(集成開發環境)及編譯器軟件,其內部集成了DSP代碼生成工具,數據傳輸工具,軟件項目開發工具等。(4)ControlSUITE3.4.5,這個軟件相當于為了方便開發TI各系列芯片所提供的一個工具箱資料集,它包含了C2000系列及其他各系列芯片所需要的所有頭文件與庫文件2.2.1開發環境介紹

請先在MathWorks官網上購買正版MATLABR2020a下載安裝包以及獲取MathWorks賬號。安裝過程如下所述。雙擊打開MATLAB_R2020a_win64安裝包2.2.2軟件安裝及配置1.MATLAB軟件安裝

輸入之前在MathWorks注冊的電子郵件,如圖所示,單擊【下一步】按鈕。

進入MathWorks許可協議界面,如圖所示,先單擊【是】按鈕,然后單擊【下一步】按鈕。進入確認用戶界面,如圖所示,請輸入名字、姓氏、電子郵件和Windows用戶名信息,注意不要出現漢字,然后單擊【下一步】按鈕。選擇安裝目標文件夾,然后單擊【下一步】按鈕。本次安裝選擇D盤,建議選擇較大內存空間的磁盤,MATLABR2020a占用空間較大。進入產品選擇界面,根據工具箱中的產品進行勾選,然后單擊【下一步】按鈕。進入通用選項界面,先勾選【將快捷方式添加到桌面】和【通過向MathWorks公司發送用戶體驗信息來幫助改進MATLAB】,然后單擊【下一步】按鈕。如果在安裝完成后,打開MATLABR2020a時,出現LicenseManagerError-9情況。單擊如圖所示中的Troubleshoot按鈕,會進入MATLABAnswers中,按照給出的方法進行激活。具體操作可參考網頁WhydoIreceiveLicenseManagerError-9?。2.CodeComposerStudio軟件安裝下載此軟件的網址是/index.php/Download_CCS#Code_Composer_Studio_Version_6_Downloads然后找到CodeComposerStudio0004,DonloadWindows并下載,下載完成后的安裝包如圖所示。下載完后,解壓,點開安裝文件夾,運行如圖所示的應用程序文件。請注意安裝包文件的目錄不能包含中文。目前開發C2000系列的芯片就僅選擇C2000real-timeMCUs即可,如果有其他需求可多選,然后單擊Next按鈕,如圖所示。仿真器驅動選擇默認提供的,本書配備的智能平衡移動機器人常用的是XDS100v2的仿真器。其他功能安裝后期都可在CCS內選擇,并非必須選項,這里暫不安裝。單擊Finish按鈕,如圖所示。3.controlSUITE軟件安裝安裝controlSUITE是為了后期生成代碼時,MATLAB能夠從中找到需要的庫文件,頭文件和支持代碼。進行解壓,如圖所示,打開controlSUITE3.4.5setup,然后雙擊運行,選擇和CCS同樣的安裝路徑。4.C2000Simulink開發工具箱打開MATLAB2020a,先單擊【附加功能】的下三角按鈕,然后單擊【獲取硬件支持包】選項.打開會出現如下圖所示界面,單擊EmbeddedCoderSupportPackagesforTexasinstrumentsC2000Processors。首先自己必須注冊一個賬號,等待一會,出現如右上圖所示界面,單擊【我接受】按鈕,出現如右下圖所示界面,然后單擊【下一步】按鈕。等待下載安裝。進入立即設置。注意請以管理員身份運行MATLAB再進行安裝C2000支持包。進入到如圖所示的芯片配置界面后,F2838x,F28004x和F28044不勾選,然后單擊Next按鈕。TIF2838x,TIPiccoloF2804x和TIF28044都是TI最新的芯片,不需要安裝。進入到圖所示的界面后,指定CCS的安裝路徑,單擊Browse按鈕,按照如下圖所示的文件夾路徑,選擇安裝路徑,最后單擊Validate進行校驗。即可單擊Next按鈕進入到下一界面。在左上圖界面下需要注意的是CodeGenerationTools工具的選擇,單擊Browse按鈕。如左下圖所示,可以在C:\ti\ccs901\ccs\tools\compiler\ti-cgt-c2000_18.12.1.LTS目錄下尋找安裝的CGT工具,配置完成之后,單擊Validate進行工具鏈的驗證。出現Untestedversion不要緊,單擊【確定】按鈕,即可進入到如左上圖所示界面,再單擊Next按鈕會自動跳轉到如左下圖所示的界面,最后單擊Next按鈕安裝成功。5.安裝MinGW-w64C/C++

雙擊MATLAB圖標,得到如左圖所示的軟件界面圖,確認軟件可以正常運行。

MATLAB操作界面主要由MATLAB主窗口,命令行窗口,當前文件夾窗口以及工作區窗口組成。主窗口包括功能區,快速訪問工具欄以及當前文件夾欄。命令行窗口用于輸入命令并顯示命令的執行結果。1.MATLAB應用基礎2.2.3軟件應用基礎

MATLAB提供有強大的幫助系統。例如,單擊

工具欄按鈕,出現幫助界面,如圖所示,在搜索框中輸入所要查尋的關鍵字后回車,就能得到詳細的幫助信息。

單擊幫助中的【示例】按鈕,可以進入MATLAB自帶的各種演示程序,如圖所示。這些演示程序對初學者是很好的學習工具,可以方便在不同的條件下完成算法的仿真,并顯示形象的可視化結果。2.CodeComposerStudio應用基礎

雙擊CodeComposerStudio9.0.1圖標,進入如左上圖所示界面,選擇工作空間,單擊Launch按鈕。得到如圖左下所示的軟件界面,確認軟件可以正常運行。進入軟件界面后,可以勾選NewProjrct和ImportProject。在如左圖所示的新建項目中選擇菜單欄進入選項設置中,進行空項目的建立。設置完成后,單擊Finish按鈕。接下來,增加外設與初始化頭文件與源文件,主要過程為增加頭文件,增加源文件,增加位域結構體支持源文件,設置包含選項,最后單擊build,該項目可以編譯通過。1.Simulink高級應用

一個典型的Simulink模型包括以下3種類型的模型:信號源模塊、被模擬的系統模塊、輸出顯示模塊。信號源為系統的輸入,它包括常數信號源,函數信號發生器和用戶自己在MATLAB中創建的自定義信號。

首先,雙擊MATLAB圖標打開軟件,然后在軟件界面中Simulink圖標處

點擊打開。單擊CreateModel創建新的仿真工程,如左圖所示。2.2.4軟件高級應用

單擊LibraryBrowser,

出現如圖所示界面,其中有各種模塊,選擇所需要的模塊拖曳,然后將其連線。

在選擇所需要的模塊拖曳到界面之后,可以對其進行操作。例如,對于選中的模塊如果需要旋轉,單擊模塊然后按Ctrl+R,模塊將順時針方向旋轉90°。如需要改變模塊的標簽,在標簽的位置上雙擊,則模塊標簽進行編輯狀態。編輯完標簽后,在標簽外的任意位置上單擊,則新的合法標簽將被承認。

在完成模型的建立后,單擊Run

運行模型。2.CodeComposerStudio高級應用

以兩輪平衡移動機器人為例,講解如何將已有工程的導入并進行運行。

在菜單欄Project選項卡中選擇ImportCCSProjects,找到工程文件的目錄,即可導入到左側的ProjectExplorer,如圖所示。

CCS在仿真器支持下的仿真調試功能十分好用,可以幫助我們發現程序中的問題,也可以幫助程序底層硬件的實際操作流程及現象,更好地學習DSP的開發與調試。

單擊CCS工具欄上綠色的Debug按鈕,就可以對工程文件進行編譯、鏈接,生成可執行文件,然后下載到F28069控制芯片上。注意在單擊DEBUG按鈕進行與芯片的連接前,先要確認仿真器已經連接,芯片已經上電,接著進入仿真界面,如圖所示。

1號區域代表程序的運行開始,暫停和中止,以及單步運行,運行入函數,運行出函數。2號區域可以進行芯片的斷開與連接操作,以及1號區域可以完成的功能。

3號區域是仿真狀態欄,觀察仿真的狀態。

4號區域是程序界面,可以在其中設置斷點,觀察程序是否能順利運行到斷電,方便調試。

5號區域有三個選項卡,expressions是我們可以在程序界面中添加全局變量到此處進行觀測,register顧名思義是能夠觀測所有的芯片內部寄存器,這個區域右上角有個實時刷新的功能按鈕,點開后就可以以一個較高的速度實時刷新來觀測寄存器以及變量的值。

6號區域是內存觀測區,輸入變量內存地址就可以查到對應內存地址中的值。本章針對智能平衡移動機器人的應用平臺搭建,首先對智能平衡機器人的應用平臺從硬件、軟件以及MBD開發流程三個方面進行概述,描述智能平衡機器人的搭建過程。其次通過對開發環境的介紹和所用軟件的安裝以及基本應用的方法的介紹,方便在后續的實驗中進行研究。2.3本章小結感謝傾聽合肥工業大學智能平衡移動機器人第3章

平臺硬件電路介紹3.1硬件電路接口設計3.2主控制板電路3.3電源管理電路3.4電機驅動電路3.5直流電機驅動H橋電路3.6傳感器與外設模塊3.6.1基于陀螺儀與加速度計的姿態測量

3.6.2牙通信模塊

3.6.3OLED顯示模塊3.7本章小結目錄為了使智能平衡移動機器人達到更好的平衡控制效果,機器人的本體設計更為輕便、集中。機器人的硬件電路也進行集中化設計,整個機器人本體使用一塊控制底板ForestS1,使其功能外設都能通過這塊控制底板引出,這樣大大地提升了整車的集成度和控制的靈巧性。移動機器人控制底板ForestS1的原理圖與安裝示意圖分別如右圖所示。3.1硬件電路接口設計硬件電路主要模塊包括:主控制器電路(包含了仿真電路)負責運行控制程序以及實現控制信號的輸出與外部電平信號的采集,電源管理電路將鋰電池的電壓轉換到主芯片、驅動芯片及其他傳感器合適的工作電壓,電機驅動電路驅動電機運行,傳感器電路用于自身姿態和周圍環境信息的采集以及其他拓展接口電路。主控制器主要包括了仿真電路與主控芯片電路,使得主控制板在脫離其他模塊的時候也能夠獨立進行仿真與程序的運行,所有需要的功能引腳通過ForestS1主控板的引腳引出,主控制板的獨立設計使得移動機器人的元器件集成度更高,便于機器人移動時的平衡控制,其主控制板電路結構如右圖所示。3.2主控制板電路通常在實時數字信號處理中,高層處理算法的特點是所處理的數據量相比較低層算法的數據量少,但算法結構復雜,可以使用運算速度快、尋址方式靈活、通信機制強大的DSP芯片來實現。由于智能平衡式機器人本身結構上具有的不穩定性,要求姿態檢測與相關控制量的計算能夠達到一定的頻率來實現更穩定的控制,為了實現更好的控制效率控制器采用德州儀器C2000系列DSP控制芯片TMS320F28069數字信號處理器,作為一種高效率32位浮點CPU,其獨特擁有的eQEP功能即正交解碼單元使得讀取編碼器信號變得簡單,使得電機的速度與位置信號能夠被準確采集,其余外設功能豐富,具體特性如下所示。(1)內核。高效率32位浮點CPU(TMS320C28x?)。主頻90MHz(11.11ns周期時間)。哈佛(Harvard)總線架構。快速中斷響應及處理。高編碼效率(采用C/C++語言和匯編語言)。(2)運算。浮點單元,具有本地單精度浮點運行功能。可編程控制律加速器(CLA)。32位浮點數學加速器。對C28x?指令集進行了擴展以支持復數乘法及循環冗余校驗(CRC)。(3)儲存。嵌入式內存。高達256KB內存。容量高達100KB的RAM。(4)低功耗。僅需單電源3.3V供電,無電源上電順序要求。低功耗操作模式。TMS320F28069具體特性:(5)時鐘。無須外部晶振,內部集成了兩個獨立的振蕩器,每個振蕩器頻率為10MHz。單片晶體振蕩器/外部時鐘輸入。支持動態PLL比率改變。看門狗定時器模塊。(6)增強的控制外設。可支持所有外設中斷的外設中斷擴展(PIE)模塊。三個32位CPU定時器。多達8個增強型脈寬調制器(ePWM)模塊。總共16個PWM通道(其中有8路能夠支持高分辨率PWM(HRPWM)通道)。每個模塊中獨立的16位定時器。3個輸入捕獲(ECap)模塊。2個正交編碼器(eQEP)模塊。16通道12位ADC,雙通道采樣以及保持采樣率高達3MSPS。如果選擇內部3.3V參考源,輸入電壓0-3.3V。(7)串行端口外設。多達2個串行通信接口(SCI)[UART]模塊。兩個串行外設接口(SPI)模塊。一根內置集成電路(IIC)總線。TMS320F28069具體特性:主控制電路首先將USB口的5V電壓通過TLV1117LV33芯片轉換到3.3V為主控F28069芯片以及USB轉串口芯片FT2232H供電,仿真電路與主控電路通過多通道的數字隔離芯片ISO7240、ISO7231與主控電路進行電磁隔離,保證主控電路的穩定運行;其中93LC56BT-IOT為2K的Microwire兼容串行的EEPROM,用于存儲燒寫的仿真器固件。仿真電路如右圖所示。仿真電路采用的是XDS100V2仿真器,從名稱中可以反映出版本,對TI全系列芯片兼容。通過14pin的接口進行仿真調試,支持TI公司的官方編譯器CCS系列V6及以上版本,兼容多種PC操作系統以及MAC系統。其特性有:支持USB2.0高速接口支持多種處理器如TMS320F28x,TMS320C28x,TMS320C54x,ARM9,ARMCortex-A8,ARMCortex-A9andCortex-M3等支持斷電檢測,自適應時鐘支持CodeComposerStudioV6和更高版本主控電路引出引腳如圖3.5所示。由于系統較為復雜,各模塊供電電壓也有所區別,需要利用電源模塊來實現各部分硬件電路的不同電壓供給,因此電源模塊中包含多個電壓轉化電路。供電電池采用移動電源(充電寶)的原理簡單,在外部電源供應的場合預先為內置的電池充電,即輸入電能,并以化學能形式預先存儲起來,當需要即由電池提供能量及產生電能,以電壓轉換器達至所需電壓,電量約為10000mAh滿電壓約為

5.0V,使用XL2596S將12V轉化為

5V,使用TLV1117LV33將5V轉化為3.3V用于主控板供電及其他電路的外接設備供電。3.3電源管理電路選用鋰電池作為外部電源,因為鋰電池沒有記憶效應,充放電的次數較多,能量密度大,安全性較高,充放電性能也更好。鋰電池或鋰離子聚合物電池不管以重量計算或以體積計算,能量密度都是最高的。此外,鋰電池或鋰離子聚合物電池在充電及放電過程中的效率也較高。但是鋰電池過充或過放很容易使電池永久損壞,所以需要有較精密的電子線路控制其充放電。而且鋰電池會在高溫下會自燃,安全及穩定性極為重要,需要提供可靠的安全保護電路防止任何導致超溫的情況出現。鋰電池有硬的外殼,鋰離子聚合物電池則沒有,所以鋰電池理論上會輕微略重,而鋰離子聚合物電池由于沒有硬殼,便于制成特定尺寸以配合外觀,但鋰離子聚合物電池在充滿電后體積會略為膨脹變大,需要在設計時預留空間,免得電池內壓力過大而造成危險。電池選用:電壓采集與報警電路:

3.4電機驅動電路在有刷直流電機的固定部分有磁鐵,這里稱作主磁極;固定部分還有電刷。轉動部分有環形鐵芯和繞在環形鐵芯上的繞組。如圖所示的兩極有刷直流電機的固定部分(定子)上裝設了一對直流勵磁的靜止的主磁極N和S,在旋轉部分(轉子)上裝設電樞鐵芯。定子與轉子之間有一氣隙。在電樞鐵芯上放置了由A和X兩根導體連成的電樞線圈,線圈的首端和末端分別連到兩個圓弧形的銅片上,此銅片稱為換向片。換向片之間互相絕緣,由換向片構成的整體稱為換向器。換向器固定在轉軸上,換向片與轉軸之間亦互相絕緣。在換向片上放置著一對固定不動的電刷B1和B2,當電樞旋轉時,電樞線圈通過換向片和電刷與外電路接通。有刷直流電機的工作原理直流電機速度是由功率大小控制的,所以,它是由占空比決定的(當然,也要控制頻率跟上)。相關知識:1、電機和減速器的扭矩(N·m)=電機功率(W)/(2*π*轉速/60)。2、占空比是指直流電機在一個通電與斷電周期中其通電時間所占的比例,占空比越大,相對提供的功率越小。3、直流電機三相繞組按照規律周期性通電,轉速越高,通電頻率越高。4、增速過程(據第1、2、3條綜合分析),電機扭矩不變時,占空比越小,提供功率越大,轉速越高,電機繞組通電頻率越高,導致扭矩有所增加,用以克服加速增加的阻力,直至平衡、穩速。有刷直流電機的工作原理結合有刷直流電機的原理,小車采用的是TI公司的DRV8833系列的有刷直流電機驅動芯片。DRV8833電機驅動芯片有兩個全橋電路可以同時驅動兩個直流無刷電機,其一個簡單的PWM接口便可以方便地對控制器電路進行接口。本實驗設置DRV8833工作在PWM輸入模式,其原理圖如下圖所示:直流電機的驅動xIN1xIN2xOUT1xOUT2功能00ZZ快速移動/迅速減速01LH反轉10HL前進11LL剎車/緩慢減速xIN1xIN2功能PWM0正向脈寬調制,迅速減速1PWM正向脈寬調制,緩慢減速0PWM反向脈寬調制,迅速減速PWM1反向脈寬調制,緩慢減速當利用PWM作為輸入控制電機時,其控制邏輯如表6.2所示。表6.2PWM控制電機邏輯表AIN1和AIN2引腳控制著AOUT1和AOUT2的輸出,同樣BIN1和BIN2控制著BOUT1和BOUT2的輸出,其作為I/O口進行控制電機時,其控制邏輯如表6.1所示。直流電機的驅動基本介紹

編碼器是一種將角位移或者角速度轉換成一連串電數字脈沖的旋轉式傳感器,我們可以通過編碼器測量到位移或者速度信息。編碼器從輸出數據類型上分,可以分為增量式編碼器和絕對式編碼器。從編碼器檢測原理上來分,還可以分為光學式、磁式、感應式、電容式。常見的是光電編碼器(光學式)和霍爾編碼器(磁式)。根據光電編碼器產生脈沖的方式不同,可以分為增量式、絕對式以及復合式3大類。增量式編碼器一般安裝在電機或其他旋轉機構的軸上,在碼盤旋轉過程中,輸出兩個信號稱為QEPA與QEPB,兩路信號相差90°,這就是所謂的正交信號,當電機正轉時,脈沖信號A的相位超前脈沖信號B的相位90°,此時邏輯電路處理后可形成高電平的方向信號Dir。當電機反轉時,脈沖信號A的相位滯后脈沖信號B的相位90°,此時邏輯電路處理后的方向信號Dir為低電平。因此根據超前與滯后的關系可以確定電機的轉向。基本介紹

本套件平衡小車采用的是集成在JGB37-520減速電機上的增量式霍爾編碼器。這是一款增量式輸出的霍爾編碼器。編碼器有AB相輸出,所以不僅可以測速,還可以辨別轉向。根據下圖的接線說明可以看到,我們只需給編碼器電源5V供電,在電機轉動的時候即可通過AB相輸出方波信號。編碼器自帶了上拉電阻,所以無需外部上拉,可以直接連接到單片機IO讀取。基本介紹DSP28069有兩路eQEP模塊,每個模塊有2個引腳,分別是:QEPA和QEPB。這兩個引腳被使用在正交時鐘模式或者直接計數模式。本實驗采用EQEP1和EQEP2模塊獲取左右輪編碼器正交信息。其中EQEP1的QEP1A和QEP1B引腳分別連接到電機編碼器1的A相和B相,EQEP2的QEP2A和QEP2B引腳分別連接到電機編碼器2的A相和B相。本實驗的原理圖如下:基本介紹下圖所示為一個典型的直流電機控制電路。電路得名于“H橋式驅動電路”是因為它的形狀酷似字母H。4個三極管組成H的4條垂直腿,而電機就是H中的橫杠。如圖所示,H橋式電機驅動電路包括4個三極管和一個電機。要使電機運轉,必須導通對角線上的一對三極管。根據不同三極管對的導通情況,電流可能會從左至右或從右至左流過電機,從而控制電機的轉向。3.5直流電機驅動H橋電路采用此種電路方法,電機的運轉就只需要用三個信號控制:兩個方向信號和一個使能信號。如果DIR-L信號為0,DIR-R信號為1,并且使能信號是1,那么三極管Q1和Q4導通,電流從左至右流經電機如圖所示;如果DIR-L信號變為1,而DIR-R信號變為0,那么Q2和Q3將導通,電流則反向流過電機。具有使能控制和方向邏輯的H橋電路:為了完成小車的直立控制需要測量小車的傾角和角速度。而InvenSense公司推出的MPU6050就集成了三軸加速度計,可以通過IIC接口同時輸出三個方向上的加速度信號,同時MPU6050里面也集成了三軸陀螺儀,可以同時輸出三個方向的陀螺儀信號,同時MPU6050內部也置入了一個溫度傳感器。MPU6050是全球首例9軸運動處理傳感器。它集成了3軸MEMS陀螺儀,3軸MEMS加速度計,以及一個可擴展的數字運動處理器DMP(DigitalMotionProcessor),可用I2C接口連接一個第三方的數字傳感器,比如磁力計。MPU6050基本介紹引腳名稱說明DSP28069VCC3.3-5V(內部有穩壓芯片)5VGND地線GNDSCLMPU6050作為從機的IIC時鐘線SCLASDAMPU6050作為從機的IIC數據線SDAAXCLMPU6050作為主機的IIC時鐘線

XDAMPU6050作為主機的IIC數據線

ADO地址管腳,該管腳決定了IIC地址的最低位GNDINT中斷3.6傳感器與外設模塊基本原理介紹要計算出車體的傾角,可以通過重力加速度在其他軸上產生的分量來計算出角度,即測量X軸或Y軸某一軸向的加速度就可以計算出傾角,因為在傳感器靜止水平的時候,X軸與Y軸不會有輸出,而在其產生一定的傾角時才會使重力加速度g在X軸或Y軸上產生分量,而且該軸傾斜的角度和重力分量的大小相關。硬件上,MPU6050模塊通過IIC接口與主控芯片進行通信,該模塊我們采用市面通用的8pin直插模塊,方便維修更換,傳感器電路以及接口電路如下圖所示,由于其電路中設計的穩壓模塊,輸入電壓可以為3.3~5V,這里接入5V,AD0是當總線連接了多個IIC從設備時,通過該位來為從機選擇一個地址。當MPU6050設置為從機模式的時候,通過AD0位來選擇八位地址中的最低位,其余七位是固定的0x68,由WHOAMI寄存器決定,XCL引腳與XDA引腳為MPU6040作為主機時候的時鐘線與數據線,本書的方案中IIC設備僅有MPU6050,并且工作在從機模式,因而接口電路只需要連接電源和地,另外連接IIC接口的SCL與SDA引腳即可,INT為中斷引腳這里沒有用到也保持懸空。硬件電路原理:通過藍牙串口我們可以觀測車輪的速度等信息,藍牙串口采用的是德州儀器的CC2541系列芯片,支持AT指令,功耗低,收發靈敏性高,具有寬泛的電源電壓范圍,不使用外部前段而支持長距離應用,可以通過藍牙4.0協議快速地與手機、電腦等設備建立連接,從而接收串行數據,實現遠程遙控。使用成熟模塊,僅需要將串口SCIA的兩個引腳與模塊相連,如下圖所示。藍牙模塊:控制原理APP實驗是基于平衡控制進階實驗為基礎,利用美國TI公司CC2541芯片的藍牙模塊實現手機與平衡車的通信,進而實現手機控制平衡車的功能。如下圖所示。該CC2541藍牙模塊主要用于短距離的數據無線傳輸領域,可以方便的和PC機的藍牙設備相連,也可以兩個模塊之間的數據互通,避免繁瑣的線纜連接,能直接替代串口線。控制小車速度:通過調節小車的傾角來實現小車速度控制控制小車方向:通過控制兩個電機之間的轉動差速實現小車轉向控制。OLED(有機發光二極管)作為一種新型的顯示技術,其自身可以發光,亮度,對比度高,功耗低,在當下備受追捧。而在正常的顯示調整參數過程中,越來越多的使用這種屏幕。我們使用的一般是分辨率為128x64,屏幕尺寸為0.96寸。由于其較小的尺寸和比較高的分辨率,讓它有著很好的顯示效果和便攜性。目前我們經常使用的OLED屏幕一般有兩種接口,IIC或者SPI,兩者使用的通信協議稍有不同,這里OLED屏幕硬件上采用SPI協議的接口,軟件上采用的模擬SPI協議。OLED基本介紹模塊接口定義名稱用途DSP28069引腳GND電源地GNDVCC電源正(3.3~5.5V)3.3VSCL在SPI和IIC通信中為時鐘管腳GPIO51SDA在SPI和IIC通信中為數據管腳GPIO53RES用來復位(低電平復位)GPIO54DC數據和命令控制管腳GPIO55CS片選管腳GPIO113.7本章小結智能平衡移動機器人第4章

數字控制系統合肥工業大學目錄4.1數字信號處理器介紹4.1.1TMS320F28069芯片特點4.1.2處理器引腳及功能4.2控制系統簡介4.3系統控制器4.3.1速度控制器4.3.2方向控制器4.3.3系統控制框架4.4本章小結本章將開始進行兩輪自平衡式機器人的控制器設計,由于兩輪自平衡式機器人的自不穩定性,控制起來可以類比于一級倒立擺系統,因而可以借鑒相關的控制方法,常見的方法有反饋線性化方法,除此之外還有非線性PID控制自適應控制與自抗擾控制.本文考慮到使用Matlab/Simulink模型直接生成控制代碼,為減少控制的復雜程度與提高代碼的效率,采用較為簡單的雙閉環PID控制思想來具體實現平衡模型到能夠成功運行的嵌入式代碼的實驗。首先分析系統的平衡控制,整個系統通過陀螺儀加速度計傳感器的數據計算到角度,根據編碼器信號計算出速度信息,角度和速度作為系統輸入量給到控制芯片計算出電機的控制量,最后以PWM信號的方式輸出給驅動芯片,驅動執行部件——有刷電機進行運動。基礎平衡計算由角度偏差值計算得到,但平衡量不足以維持平衡,加入速度控制量與轉向控制量,三者線性疊加得到最終的電機PWM控制量進行輸出。控制流程框圖1)高效率32位浮點CPU(TMS320C28x?)主頻90MHz(11.11ns周期時間)。16x16和32x32MAC運算。16x16雙通道MAC。2)浮點單元,具有本地單精度浮點運行功能可編程控制律加速器(CLA)32位浮點數學加速器。代碼執行不依賴于主CPU。3)數學校驗Viterbi復雜數學循環校驗單元(VCU)。對C28x?指令集進行了擴展以支持復數乘法。Viterbi運算及循環冗余校驗(CRC)。4)嵌入式內存高達256KB內存。容量高達100KB的RAM2KB的OTPROM。5)供電僅需單電源3.3V供電。6)時鐘無須外部晶振,內部集成了兩個獨立的振蕩器,每個振蕩器頻率為10MHz。單片晶體振蕩器/外部時鐘輸入。7)中斷可支持所有外設中斷的外設中斷擴展(PIE)模塊。支持三路外部輸入中斷信號。8)多類功能模塊3個輸入捕獲(ECap)模塊。4個高分辨率輸入捕獲(HRCAP)模塊。2個正交編碼器(eQEP)模塊。9)片上溫度傳感器10)串行端口外設多達2個串行通信接口(SCI)[UART]模塊兩個串行外設接口(SPI)模塊。一根內置集成電路(IIC)總線。一根多通道緩沖串行端口(McBSP)總線一個增強型控制器局域網(eCAN)。4.1.1TMS320F28069芯片特點TMS320F28069分為80引腳和100引腳兩種,平衡移動機器人控制板采用100引腳形式,由于引腳復用,所有外設不可同時使用,引腳及功能框圖見配套資料。4.1.2處理器引腳及功能

輪式平衡移動機器人簡化模型4.2控制系統簡介

比例微分控制系統

控制器邏輯圖

在保持平衡的前提下做速度控制是一件較為復雜的事,因為改變速度的同時不能影響基本的平衡控制,故不能將速度的控制效果直接加到電機速度的改變中去;因此,為了簡化控制量與控制結果之間的關系,我們將速度控制看作是與角度相關的平衡控制的外環控制來看,即將直立控制的目標值看作是速度控制的結果

分析可以得到如圖所示的控制原理圖。這里的速度反饋主要是通過編碼器信號通過eQEP功能模塊的讀取實現,由圖可以看出原先直立平衡中的輸入量變成了速度控制的輸出量,由此形成一個串級控制系統,由于前面平衡控制器采用的是PD控制,這里為了消除系統的靜態誤差,提高響應速度以及抗擾能力,選定速度控制器為PI控制器。

4.3.1速度控制器

速度控制器邏輯圖

疊加控制原理圖當不需要轉向時,由于電機性能的差異,導致車子在行進過程中會偏離設定的軌跡,所以需要加入轉向環的控制。利用陀螺儀Z軸角速度,來抑制小車繞Z軸的轉動。這里,設置Z軸的角速度為0,利用簡單的P控制或者PD控制,實現對轉向環的控制要求。當需要轉向時,設置Z軸的角速度為某一正值或者負值就能實現車子的正向、反向轉彎運動。轉向實質就是依靠左右兩個車輪的差速進行實現。控制小車方向:通過控制兩個電機之間的轉動差速實現小車轉向控制。4.3.2方向控制器控制流程主要分以下三部分。(1)系統初始化進行系統中斷的配置,全局中斷的開啟,I/O口初始化,PWM初始化,QEP初始化,IIC通信的初始化以及MPU6050的初始化,最后打開Timer0的中斷及串口中斷。(2)串口中斷程序設計串口中斷程序,可以實現諸如APP控制和參數下載、模式切換等拓展功能。(3)主中斷程序主要中斷流程設計如右圖所示。4.3.3系統控制框架

智能平衡移動機器人PID控制可分解為直立控制、速度控制和方向控制,采用PID疊加的方法控制驅動電機轉速,實現對小車直立、速度和方向的控制。其控制算法總框圖如圖所示。

本章根據實現平衡的基本要求將控制系統分為三大主要的控制部分,并分別對其進行了理論分析,公式推導與最終控制器的設計。其中角度平衡控制使用PD控制器;速度控制根據串級控制理論分析,作為外環控制,使用PI控制器;轉向控制器采用比例控制,其作用是輔助前兩項控制。4.4本章小結智能平衡移動機器人第5章

基礎應用合肥工業大學目錄5.1GPIO5.1.1GPIO基本原理5.1.2GPIO_OUTPUT控制LED燈5.1.3GPIO_INPUT掃描_NORMAL模式5.1.4GPIO_INPUT掃描_EXTERNAL模式5.1.5GPIO_INPUT中斷控制LED燈5.2ADC5.2.1ADC基本原理5.2.2ADC_NORMAL模式5.2.3ADC_EXTERNAL模式5.3Timer_IT概述外界二進制信息(數字量)要被CPU處理,給寄存器存放,就需要外界信息源與二者之間的交換接口,這樣的交換接口若用來進行通用數字量的輸入輸出,就被稱為通用輸入/輸出接口,簡稱GPIO(General-purposeinput/output)。5.1.1GPIO基本原理GPIO組成TMS320F28069有54個GPIO,對應芯片輸出的54個引腳。包含GPIOA和GPIOB兩組,其中GPIOA包含GPIO0-GPIO31,GPIOB包含GPIO32-GPIO58(其中GPIO45-GPIO49沒有)。隨著芯片的封裝與尺寸的確定,引腳數目是有限的,所以多數引腳都是功能復用的,可以靈活配置為輸入引腳或輸出引腳,即可以作為通用I/O引腳,也可以作為特殊功能口(如SCI、SPI、ECAN等)。GPIO口功能配置TMS320F28069每個GPIO口都復用了多個功能,可以根據手冊配置GPIO口的功能。需要注意的是,同一個時刻,每個引腳都只能用該引腳的一個功能。定義引腳的工作模式,可以通過GPIOMux(復用開關)寄存器配置每個GPIO口的具體功能,GPxPUD用于配置IO接口的上拉功能(0為使能上拉)。若將GPIO口選擇數字量I/O模式,可以通過方向寄存器GPxDIR(1為輸出0為輸入)配置數字量I/O的方向,作為輸入引腳還是作為輸出引腳。通過量化寄存器GPxQSEL對輸入信號進行量化限制,從而消除數字量I/O引腳的噪聲干擾。GPIO引腳讀寫操作方式通過GPxDAT寄存器獨立讀寫I/O信號;利用GPxSET寄存器寫1(寫0無效)對I/O口進行置位;利用GPxCLEAR寄存器寫1(寫0無效)對I/O口進行清零;利用GPxTOOGLE寄存器置1后(寫0無效)來講I/O輸出電平翻轉,即原來高電平變成低電平,原來低電平變成高電平。作為第一個應用案例,以“點亮一個LED燈”開始。硬件上的藍色LED燈對應的引腳為GPIO31,與紅色LED燈對應的引腳為GPIO25,其原理圖如下圖所示。由于這2個LED燈都是共陰連接方式,當GPIO為高電平(置1)時,則LED燈被點亮;當GPIO為低電平(置0)的時候,則LED燈熄滅。實驗原理5.1.2GPIO_OUTPUT控制LED燈先對整個模型進行配置(此處基本配置適用于所有模型,后續實驗模型的基本配置都可參考本節設置)打開Simulink的模型在Simulation工具欄下打開模型配置參數(ModelConfigurationPararmeters)界面或者直接點擊“”齒輪形狀的工具。模型參數配置編譯和下載Solver頁面如圖所示,解算器類型必須選擇固定點解算器。固定點solver中提供了多種算法,此模型由于沒有連續狀態,可以選擇discrete方法,步長默認auto。第一步:solver設置第二步:HardwareImplentation配置在HardwareImplementation中選擇Hardwareboard為TIDefinoF2806x或者為TIPiccoloF2806x(bootfromflash),這時simulink會自動選定TIC2000系列。然后配置該界面下buildaction為Build,loadandrun。Devicename為F28069。并勾選Usecustomlinkercommand。

然后在Clocking選項中,外部晶振為10M,將系統時鐘配置為90MHz,低速時鐘外設4分頻。其他外設模塊按自己需要配置。第三步:設置系統時鐘在Codegeneration選項卡中選擇使用的Toolchainsetting為TexasInstrumentsCodeComposerv6(C2000)。第四步:CodeGeneration配置在Report中勾選Generatemodelwebview使生成的代碼可以進行模型與代碼之間相互的跟蹤。以上便完成了一個模型最基本的配置。第五步:CodeGeneration配置Simulink模型在Simulink界面上,搭建點亮一個LED燈的模型,系統步長為0.005秒,CounterLimited設置Upperlimit為400,CompareToConstant設置Constantvalue為200,將GPIOx選擇為GPIO31,如右圖所示,LED流水燈模型下圖所示。實驗現象如下方視頻,平衡小車主控板上LED燈實現每隔1s同時亮、滅。整個控制效果為,當計數值大于等于200時,也就是大概有0.005*200=1秒GPIO31是置1的,另外1秒是置0的。這樣便實現了LED燈一亮一滅的效果。單擊【編譯】按鈕或者同時按Ctrl+B鍵將此模型編譯下載到主控板。Simulink模型若要實現流水燈效果要想實現流水燈的實驗可搭建如下圖所示的模型,加入Scope模塊,單擊【運行】,可以觀察仿真效果,如下圖。由仿真結果可以看出此控制模型為我們所要的結構,然后單擊【編譯】按鈕或者同時按Ctrl+B鍵將此模型編譯下載到主控板,觀察實驗現象。Simulink模型實驗現象平衡小車主控板上兩個LED燈間隔1s交替閃爍當計數值大于等于200時,藍燈亮;當計數值小于200時,紅燈亮,從而兩燈交替亮暗,實現流水燈效果。控制波形圖在配置GPIO輸入模式的時候,使用按鍵的端口輸入值,作為GPIO輸出模塊的控制量。使用按鍵(對應GPIO42)控制其中一個LED燈(對應GPIO25)的亮滅,另外一個LED燈(GPIO31)用于驗證模型是否下載到硬件中,按鍵硬件原理圖如下圖所示。實驗原理5.1.3GPIO_INPUT掃描_NORMAL模式配置GPIO的PUD(上拉禁止寄存器)使能GPIO42的電平上拉,當按鍵按下時,GPIO42檢測到低電平置0,當沒按下時GPIO42為高電平置1。因此需要在模型中先將GPIO42使能上拉,如下圖所示。GPIODI選擇GPIO42,GPIO31需要勾選Toggle,Toggle表示電平翻轉。搭建的按鍵控制模型如下圖所示,仿真步長為0.5s。Simulink模型在上述配置完成,并完成模型的搭建后,將模型編譯下載到主控板。先觀察紅色的LED有沒有閃爍,然后再通過控制按鍵按下與否,來控藍色LED的狀態。實驗現象:紅色燈一直閃爍;按鍵未按下時,藍色燈亮,按鍵按下時,藍色燈滅。Simulink模型對于External模式,需要注意的是Simulink的External模式默認使用的是SCIA,波特率為115200,并且默認復用I/O口是GPIO28、GPIO29,對應開發板上的SCIA接口是RXA、TXA,如圖5.16所示。所以在進行External模式操作的時候,通過一根USB轉TTL通信線,將USB的RX、TX分別接在F28069主控板的TXA、RXA引腳。5.1.4GPIO_INPUT掃描_EXTERNAL模式首先需要在模型配置時對外部模式進行設置,如下圖所示。GPIO外部模式模型如下圖所示。(注意:GPIODI模塊輸出數據類型選擇uint8,如圖所示)Simulink模型在上述配置完成后,再次單擊Simulink界面的【運行】按鈕將代碼下載到開發板上,可以看到Simulink的仿真是運行的,按下主控板按鍵,可以在Display模塊中看到數值的變化。實驗現象如圖所示。按鍵按下實驗現象按鍵松開實驗現象GPIO不僅可以做通用I/O數字量輸出的功能,還可以配置成外部中斷達到需要的控制目的。比如最常用的按鍵配置成外部中斷,在中斷中執行參數或模式的修改,這樣比常用的按鍵掃描方式要節省資源。在Simulink中搭建模型,配置GPIO42為外部中斷觸發源,并將中斷配置為下降沿觸發,對應外部中斷3。在中斷函數中分別進行對應的LED的翻轉,GPIO42對應LED1燈(GPIO31)、LED2燈(GPIO25)。仿真模型如圖所示,系統仿真步長為0.05。Simulink模型5.1.5GPIO_INPUT中斷控制LED燈其中SystemInitialize中寫入的是GPIO42的初始化代碼,如圖所示。硬件中斷模塊配置如圖5.25所示,中斷號為CPU-12,PIE-1也就是外部中斷XTIN3,任務優先級默認,Preemptionflags輸入1表示中斷可以被搶占。輸入0表示中斷不能被搶占。Trigger子系統里面為LED燈的控制模型,如圖所示;GPIODO模塊數據類型配置,不勾選Toggle。在上述配置完成,并完成模型的搭建后,將生成的工程代碼下載到主控板上。當按下一次按鍵,可以發現對應的LED燈電平便翻轉一次。A/D轉換器(ADC)將模擬量轉換為數字量通常要經過四個步驟:采樣、保持、量化和編碼。所謂采樣,就是將一個時間上連續變化的模擬量轉化為時間上離散變化的模擬量。如圖所示。A/D采樣原理將采樣結果存儲起來,直到下次采樣-,這個過程稱作保持。一般,采樣器和保持電路一起總稱為采樣保持電路。將采樣電平歸化為與之接近的離散數字電平,這個過程稱作量化。將量化后的結果按照一定數制形式表示就是編碼。ADC轉換步驟5.2.1ADC基本原理采用逐次逼近法的A/D轉換器是由一個比較器、D/A轉換器、緩沖寄存器及控制邏輯電路組成、AD引腳原理圖,如圖所示。基本原理是從高位到低位逐位試探比較,好像用天平稱物體,從重到輕逐級增減砝碼進行試探。逐次逼近式A/D轉換器原理圖A/D引腳原理圖ADC轉換原理ADC_NORMAL模式配置先從配置時鐘開始,ADC模塊是掛在高速外設時鐘線上的外設,Clocking配置中配置為系統90MHz時鐘2分頻。在ADC配置中,使用默認的分頻系數ADCLK=2,得到ADC模塊時鐘為45MHz,其他配置使用默認配置。具體配置如下圖所示。采樣模式為單個采樣模式,SOC觸發數為SOC0,采樣窗口為7,SOCx觸發源為軟件觸發,輸出數據類型為uint16,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論