版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
畢業(yè)設計Word課程實踐考核報告項目名稱:基于藍牙無線遙控的玩具賽車直流電機控制設計目錄一、設計課題分析 11.1設計背景簡介 11.2設計方案對比 11.3設計目的及要求 11.2課程設計任務及工作量的要求 1二、方案設計 32.1總體方案設計 32.2KL25選用優(yōu)勢 42.3KL25芯片串行通信與中斷 52.3.1異步通信簡介 52.3.2UART模塊功能概述及編程結構 52.3.3UART驅動構件封裝 62.3.4KL25的中斷機制 7三、硬件電路設計 93.1KL25硬件最小系統(tǒng) 93.2藍牙通信模塊 123.3電機驅動模塊與直流電機 143.4硬件電路總體設計 17四、系統(tǒng)軟件設計 184.1軟件燒寫編譯介紹 184.2系統(tǒng)軟件流程圖 224.3程序清單 22五、實物驗證調試 235.1實物制作硬件清單 235.2硬件調試 23六、總結 25七、參考文獻 26附錄 27附錄一:源程序 27附錄二:系統(tǒng)硬件原理圖 30緒論在日常生活中,常見的玩具賽車絕大部分是由紅外遙控控制的,一方面紅外遙控器易丟失損壞,對于玩具賽車而言如果紅外遙控器損毀,那么玩具賽車也就失去了其價值,采用藍牙遙控可以極大延長了玩具賽車的使用周期;另一方面由于紅外遙控需要干電池當作電源,而且耗電量較高,采用手機藍牙控制的話可以節(jié)能環(huán)保。本課題設計是基于藍牙無線遙控直流電機的控制系統(tǒng)設計,系統(tǒng)主要包括KL25硬件最小系統(tǒng)、bluetooth通信模塊、L298N電機驅動模塊、直流電機。系統(tǒng)采用KL25芯片對手機藍牙指令的接收處理,使得直流電機完成相應的操作。預先完成軟件仿真,在完成相應的實物制作。經(jīng)實驗表明:本系統(tǒng)具有成本低,兼容性好和節(jié)能環(huán)保等特點。關鍵字:遙控;直流電機;藍牙;環(huán)保
畢業(yè)設計一、設計課題分析1.1設計背景簡介在日常生活中,常見的玩具賽車絕大部分是由紅外遙控控制的,一方面紅外遙控器易丟失損壞,對于玩具賽車而言如果紅外遙控器損毀,那么玩具賽車也就失去了其價值,采用藍牙遙控可以極大延長了玩具賽車的使用周期;另一方面由于紅外遙控需要干電池當作電源,而且耗電量較高,采用手機藍牙控制的話可以節(jié)能環(huán)保。1.2設計方案對比本次課程設計的重點在于結合KL25芯片實現(xiàn)對直流電機的正轉、反轉、停止、調速等功能。直流電機的功能不易于變化,所以可以從輸入的控制信號入手加以改變??蛇x方案有很多,譬如獨立按鈕控制,紅外線控制等。本次選用藍牙模塊與KL25芯片進行串行通信進行無線控制;可以相對與獨立按鍵而言節(jié)約KL25芯片的IO口的使用,而且芯片有配置好的串行通信端口,也簡化了設計的工作量。1.3設計目的及要求本設計以MKL25Z128VLK4為主控芯片的基于藍牙無線遙控的直流電機設計,目的是解決一方面紅外遙控器易丟失損壞,對于玩具賽車而言如果紅外遙控器損毀,那么玩具賽車也就失去了其價值;另一方面由于紅外遙控需要干電池當作電源,而且耗電量較高且廢舊干電池污染環(huán)境的問題。通過本課程設計,使學生掌握控制系統(tǒng)設計的一般步驟,掌握系統(tǒng)總體控制方案的設計方法。使學生進一步掌握嵌入式系統(tǒng)的硬、軟件開發(fā)方法,輸入/輸出(I/O)接口技術,應用程序設計技術,并能結合專業(yè)設計簡單實用的嵌入式應用系統(tǒng)。針對課堂重點講授內容使學生加深對嵌入式硬件原理的理解及提高C語言程序設計的能力,為以后的畢業(yè)設計搭建了嵌入式系統(tǒng)應用平臺,提高學生的開發(fā)創(chuàng)新能力。1.2課程設計任務及工作量的要求每一學生在教師指導下,獨立完成一個嵌入式系統(tǒng)設計。工作量如下:(1)進行系統(tǒng)方案總體設計。(2)硬件部分設計。將整個硬件系統(tǒng)劃分為若干功能單元電路,畫出每個單元電路原理圖,繪出整個系統(tǒng)電路原理圖。(3)軟件部分設計。畫出程序流程圖,編寫系統(tǒng)源程序(有必要的注釋)并調試;(4)軟硬件聯(lián)調,完成系統(tǒng)工作調試;在以上工作基礎上完成課程設計報告,包括設計任務與要求,總體方案說明,電路原理圖與說明,軟件流程圖和源程序清單,問題分析與解決方案,結論與體會,參考資料等。
二、方案設計2.1總體方案設計方案設計要求基于藍牙無線遙控的玩具賽車中的直流電機能夠實現(xiàn):正轉及其正轉加速、反轉及其反轉加速、電機停止轉動。具體的方案設計中要求:手機發(fā)送“0”正轉,再次發(fā)送“0”加速,再發(fā)“0”再次加速,一直能加到最快的速度。發(fā)送“1”反轉,再次發(fā)送“1”的效果與正轉類似。發(fā)送“2”時可以停止轉動。配置KL25主控芯片的UART1端口中的RX端口作為接收手機端的指令;配置UART1中的TX作為回饋當前接收指令的端口;配置KL25主控芯片的C1端口為正轉控制端口、C2作為反轉控制端口??刂扑俣鹊膶崿F(xiàn)是由PWM波控制的,發(fā)送命令改變占空比即可使得玩具賽車中的直流電機速度得以改變。手機端的控制軟件選用現(xiàn)成的藍牙調試SPP軟件,藍牙模塊選用HC-05,在藍牙的使用之前要對藍牙相關進行AT指令配置,更改其默認的參數(shù):譬如藍牙名稱、連接初始密碼、通信波特率等,本課題設計采用的波特率為9600bps。在設計中要求實現(xiàn)如下控制要求:基于藍牙所控制的玩具賽車可以實現(xiàn)前進及其前進加速、后退及其后退加速、玩具賽車運動停止。系統(tǒng)框圖如下圖1:圖1系統(tǒng)框圖2.2KL25選用優(yōu)勢本次課題選用KL25作為主控芯片的原因及其優(yōu)勢主要有下列幾點:2.2.1KinetisL系列MCU有統(tǒng)一的SystickKinetisL系列MCU的內核ARMCoretex-M0+含有的Systick,為基本定時系統(tǒng)提供了便利。(1)一般來說,一個嵌入式系統(tǒng)產品的開發(fā),總要有一個基本定時系統(tǒng)與基本定時中斷。若使用RTOS,一定要有一個時鐘滴答。(2)Systick處于內核中,基本定時系統(tǒng)在L系列MCU中被統(tǒng)一了,方便了復用與移植。(3)若使用RTOS,時鐘滴答使用Systick產生,大大簡化了RTOS在L系列MCU中的移植。2.2.2KinetisL系列MCU的引腳分布、配置與GPIOKinetisL系列MCU的引腳分布、配置與GPIO具有鮮明特點,方便應用:(1)各邊有電源與地引腳引出,有利于電流平衡,提高穩(wěn)定性。(2)引腳復用冗余分布,方便了硬件設計,引腳配置模塊實現(xiàn)引腳的自定義配置。例如,UART0,可在LQFP封裝的三邊引腳中任選一個,為硬件布線提供便利。(3)大部分GPIO引腳具有上拉、下拉、不拉、中斷使能設置,部分GPIO引腳還可設置成高驅動能力(18mA)輸出。2.2.3Flash模塊解決了擦寫不穩(wěn)定性問題,擦寫期間允許中斷KinetisL系列MCU的Flash模塊解決了以前Flash模塊擦寫期間讀Flash不穩(wěn)定問題,可不需要把擦寫代碼移入RAM區(qū),方便了編程。同時,擦寫Flash期間,通過設置,可允許中斷,使得Flash存儲器可以作為EEPROM使用。這些特點,在以前的MCU及其他一些類似MCU是沒有做到的,為實際應用提供了很大便利。2.2.4內置溫度傳感器及16位A/D內置溫度傳感器可以作為測定芯片溫度使用。16位A/D可設置具有硬件濾波功能,為一些應用提供便利。2.2.5低功耗、時鐘源選擇、內置時鐘源等,為應用提供了更多選擇,簡化外部電路設計多種時鐘源選擇、多種低功耗模式、32.768Khz時鐘源等,為實際應用提供更多選擇。若需掉電的時間仍然運行,可直接使用內部RTC模塊(外接電池供電),可省去外接時鐘芯片。L系列MCU(M0+內核)可以達到nA級低功耗,是目前業(yè)內最低的。2.2.6Kinetis系列選擇豐富,為軟件復用提供基礎E系列面向5V應用、W系列面向傳感網(wǎng)應用、V系列面向電機控制、M系列面向儀表(有24位快速A/D)等,若用過其中一種,積累了構件,軟件復用變得容易。2.3KL25芯片串行通信與中斷2.3.1異步通信簡介實現(xiàn)異步串行通信功能的模塊稱為通用異步收發(fā)器(UART),或串行通信接口(SCI)。用正、負電平表示二進制值,不使用零電平,邏輯名稱記為“1/0”。下圖給出了8位數(shù)據(jù)、無校驗情況的傳送格式。圖2串行通信數(shù)據(jù)格式從基本原理角度看,串行通信接口UART的主要功能是:接收時,把外部的單線輸入的數(shù)據(jù)變成一個字節(jié)的并行數(shù)據(jù)送入MCU內部;發(fā)送時,把需要發(fā)送的一個字節(jié)的并行數(shù)據(jù)轉換為單線輸出。圖3UART編程模型2.3.2UART模塊功能概述及編程結構1)UART模塊功能概述①外部引腳MKL25Z128VLK4芯片共有三個串口,分別標記為UART0、UART1、UART2。它們并不是固定在哪幾個引腳上,可以通過引腳配置寄存器配置。②基本結構與特點KL25中共有3個UART模塊,分別為UART0、UART1和UART2??删幊虨?位、9位或10位數(shù)據(jù)模式,UART1與UART2只支持8位與9位數(shù)據(jù)模式,UART0支持全部的數(shù)據(jù)模式。每個UART模塊都有13位模數(shù)分頻器,都可以獨立地啟用發(fā)送器和接收器,分別設置發(fā)送器與接收器的極性。UART0支持雙邊沿采樣,而UART1與UART2不支持此功能。2)UART模塊編程結構①寄存器地址分析每個模塊有其對應的寄存器。②控制寄存器ⅠUARTx控制寄存器2(UARTx_C2)ⅡUARTx控制寄存器1(UARTx_C1)ⅢUART0控制寄存器4(UART0_C4)ⅣUART0控制寄存器5(UART0_C5)③狀態(tài)寄存器UARTx_S1④波特率寄存器波特率高字節(jié)寄存器(UARTx_BDH)波特率低字節(jié)寄存器(UARTx_BDL)⑤數(shù)據(jù)寄存器UARTx_D(x=0~2)2.3.3UART驅動構件封裝UART具有初始化、接收和發(fā)送三種基本操作。實現(xiàn)構件化編程的UART軟件模塊應當具有以下幾個特點:1)UART模塊是最底層的構件,向上提供三種服務,UART模塊的初始化、接收單個字節(jié)和發(fā)送單個字節(jié)。向下則直接訪問模塊寄存器,實現(xiàn)對硬件的直接操作。另外,從實際使用角度出發(fā),它還需要封裝接收N個字節(jié)和發(fā)送N個字節(jié)的功能函數(shù)。2)UART模塊對應1個uart.c和1個uart.h文件。使用UART構件時,只需拷貝這兩個文件即可,無需修改。不同芯片之間移植時,才需要修改頭文件中與硬件相關的宏定義。3)上層構件或軟件在使用該構件時,禁止通過全局變量傳遞參數(shù),數(shù)據(jù)傳遞直接通過函數(shù)的形式參數(shù)來接收。2.3.4KL25的中斷機制1)中斷的概念中斷是指MCU正常運行程序時,由于MCU內核異?;蛘進CU各模塊發(fā)出請求事件,引起MCU停止正在運行的程序,而轉去處理異?;驁?zhí)行處理外部事件的程序(又稱中斷服務程序)這些引起MCU中斷的事件稱為中斷源。KL25的中斷源分為兩類,一類是內核中斷,另一類是非內核中斷。內核中斷主要是異常中斷,也就是說,當出現(xiàn)錯誤的時候,這些中斷會復位芯片或是做出其他處理。非內核中斷是指MCU各個模塊為中斷源引起的中斷,又稱可屏蔽中斷,這類中斷可以通過編程控制,開啟或關閉該中斷。本課題中的通信中斷為非內核中斷。需要通過軟件編程,開啟中斷接收外部發(fā)送的命令。2)KL25的中斷服務程序及其“注冊”①中斷服務程序設計與普通構件函數(shù)設計是一樣的,這些程序只有在產生中斷時才被執(zhí)行。為了規(guī)范編程將各個中斷服務程序,放在“isr.c”中斷底層驅動構件源文件。②中斷服務程序的“注冊”中斷服務程序的“注冊”就是將用戶編寫好中斷服務程序入口地址,添加到中斷向量表中。實際是在中斷向量表頭文件vectors.h中,將宏定義的中斷服務函數(shù)名替換成用戶編寫好中斷服務程序名。3)ARMCortex-M0+非內核模塊中斷編程結構1)M0+中斷結構及中斷過程由模塊中斷源、中斷控制器(NVIC)和M0+內核組成。其中斷過程分為二步:①模塊中斷源向中斷控制器(NVIC)發(fā)出中斷請求信號。②中斷控制器判斷中斷是否被允許,若允許,通過私有外設總線發(fā)送給M0+內核,由內核進行中斷處理;如果同時有多個中斷信號,NVIC根據(jù)設定好的優(yōu)先級進行判斷,優(yōu)先級高的中斷首先響應,優(yōu)先級低的中斷掛起,壓入堆棧保存;如果優(yōu)先級完全相同的多個中斷源同時請求,則先響應IRQ中斷號較小的,其他的被掛起。M0+中斷結構原理圖:圖4M0+中斷結構原理圖2)NVIC各寄存器簡介NVIC向量中斷控制寄存器共有12個寄存器,如下面表1所示。表1NVIC內各寄存器簡表地址名稱描述E000_E100NVIC_ISER中斷使能寄存器(W/R)E000_E180NVIC_ICER中斷除能寄存器(W/R)E000_E200NVIC_ISPR中斷掛起寄存器(W/R)E000_E280NVIC_ICPR中斷清除掛起寄存器(W/R)E000_E400-E000_E41CNVIC_IPR0-NVIC_IPR7優(yōu)先級寄存器3)中斷初始化設置步驟①設置模塊中斷使能位使能模塊中斷,使模塊能夠發(fā)送中斷請求信號。②在中斷控制器中設置中斷使能寄存器,使該模塊對應的使能位置1,允許該中斷請求。4)中斷初始化示例串口模塊中斷初始化函數(shù)uart_enable_re_int(),包含兩個方面的內容,一在控制寄存器UARTx_C2中,將接收中斷允許位D5設置成1。另外根據(jù)IRQ號,在斷控制器NVIC中斷使能寄存器(NVIC_ISER),將對應為置1開中串口模塊中斷。三、硬件電路設計3.1KL25硬件最小系統(tǒng)3.1.1KL25芯片簡介基于KL25芯片的實驗板實物圖如下。圖5SD-FSL-KL25-EVB實物圖關于KL25實驗板的一些說明如表4所示。表2SD-FSL-KL25-EVB資源簡表3.1.2KL25硬件最小系統(tǒng)圖6KL25硬件最小系統(tǒng)電路電源及其濾波電路,所有的電源引腳必須外接適當?shù)臑V波電容抑制高頻噪音。去耦是指對電源采取進一步的濾波措施,去除兩級間信號通過電源互相干擾的影響。晶振電路的作用是為系統(tǒng)提供基本的時鐘信號。晶體振蕩電路的兩個端口分別連接在KL25處理器的XTAL1和XTAL2兩個端口,晶體振蕩器標配有8MHz的石英晶振,晶振引腳是經(jīng)過連接器與微處理連接,可以方便地更換晶振。晶振電路產生時鐘信號,是為了保證處理器工作按一定時序進行,晶振電路采用晶體振蕩器。Y1為晶體振蕩器產生振源,C14、C15是配合Y1工作的電容。復位電路,就是利用它把電路恢復到起始狀態(tài)。就像計算器的清零按鈕的作用一樣,以便回到原始狀態(tài),重新進行計算。和計算器清零按鈕有所不同的是,復位電路啟動的手段有所不同。一是在給電路通電時馬上進行復位操作;二是在必要時可以由手動操作;三是根據(jù)程序或者電路運行的需要自動地進行。復位電路都是比較簡單的大都是只有電阻和電容組合就可以辦到了,再復雜點就有三極管等配合程序來進行了。SWD接口電路,通過SWD接口可以實現(xiàn)程序下載和調試功能。SWD接口只需兩根線,數(shù)據(jù)輸入/輸出線SWD_DIO和時鐘線SWD_CLK。KL25硬件最小系統(tǒng)引腳包括電源類引腳、復位腳、晶振引腳等。如表2所示。表3KL25硬件最小系統(tǒng)引腳表KL芯片提供服務的引腳也可稱為I/O端口資源類引腳。KL25(80引腳LQFP封裝)具有61個I/O引腳,如表3所示。表4KL25I/O端口資源類引腳表3.2藍牙通信模塊 圖7藍牙通信模塊硬件電路圖8藍牙通信模塊實物圖(1)藍牙通信模塊參數(shù)介紹1.PCB尺寸:37.3mm(長)*15.5mm(寬);2.重量:3.5g;3.輸入電壓:3.6V--6V,禁止超過7V;4.電源防反接,接反模塊不工作;5.引出6個腳:EN/VCC/GND/RXD/TXD/STATE(藍牙狀態(tài)引出腳,未連接輸出低電平,連接后輸出高電平);6.帶連接狀態(tài)指示燈,LED快閃表示沒有藍牙連接;LED慢閃表示進入AT命令模式;7.板載3.3V穩(wěn)壓芯片,輸入電壓直流3.6V-6V;未配對時,電流約30mA(因LED燈閃爍,電流處于變化狀態(tài));配對成功后,電流大約10mA;8.接口電平3.3V,可以直接連接各種單片機(Arduino/51/AVR/PIC/ARM/MSP430等等),5V單片機也可以直接連接。直接連接單片機串口,不能經(jīng)過MAX232芯片;9.空曠地帶有效傳輸距離10米,超過10米也是可能的,但是不對連接質量做保證;10.配對成功以后,可以作為全雙工串口使用。無需了解任何藍牙協(xié)議,但只支持8位數(shù)據(jù)位、1位停止位、無奇偶校驗的通信格式。這也是最常用的通信格式,不支持其它格式;11.按下按鍵再給藍牙模塊通電可以進入AT模式,設置參數(shù)和查詢信息;12.可以通過AT命令切換主機和從機模式;13.模塊默認波特率為9600、默認配對密碼為1234、默認名稱為HC-05;14.帶透明熱縮管保護。(2)藍牙模塊連接方法VCC:接電源正極;GND:接電源負極;RXD:接收端,藍牙模塊接收從其它設備發(fā)來的數(shù)據(jù);正常情況接其它設備的發(fā)送端TXD;TXD:發(fā)送端,藍牙模塊發(fā)送數(shù)據(jù)給其它設備;正常情況接其它設備的接收端RXD;EN:使能端,需要進入AT模式時接3.3V 。3.3電機驅動模塊與直流電機3.3.1L298N芯片介紹圖9L298N芯片引腳圖圖10L298N芯片實物圖L298是ST公司生產的一種高電壓、大電流電機驅動芯片。該芯片的主要特點是:工作電壓高,最高工作電壓可達46V;輸出電流大,瞬間峰值電流可達3A,持續(xù)工作電流為2A;內含兩個H橋的高電壓大電流全橋式驅動器,可以用來驅動直流電動機和步進電動機、繼電器、線圈等感性負載;采用標準TTL邏輯電平信號控制;具有兩個使能控制端,在不受輸入信號影響的情況下允許或禁止器件工作;有一個邏輯電源輸入端,使內部邏輯電路部分在低電壓下工作;可以外接檢測電阻,將變化量反饋給控制電路。具體引腳功能如下表表5。表5L298N引腳表引腳符號功能1
SENSING
A
此兩端與地連接電流檢測電阻,并向驅動芯片反饋檢測到的信號15
SENSING
B
2
OUT
1
此兩腳是全橋式驅動器A的兩個輸出端,用來連接負載3
OUT
2
4
Vs
電機驅動電源輸入端5
IN
1
輸入標準的TTL邏輯電平信號,用來控制全橋式驅動器A的開關7
IN2
6
ENABLE
A
使能控制端.輸入標準TTL邏輯電平信號;低電平時全橋式驅動器禁止工作。11
ENABLE
B
8
GND
接地端,芯片本身的散熱片與8腳相通9
Vss
邏輯控制部分的電源輸人端口10
IN
3
輸入標準的TTL邏輯電平信號,用來控制全橋式驅動器B的開關12
IN
4
13
OUT
3
此兩腳是全橋式驅動器B的兩個輸出端,用來連接負載14
OUT
4
3.3.2L298N電機驅動模塊介紹圖11電機驅動模塊硬件電路圖12電機驅動模塊實物圖(1)電機驅動模塊參數(shù)介紹1、驅動芯片:L298N雙H橋直流電機驅動芯片;2、驅動部分端子供電范圍 Vs:+5V~+35V;如需要板內取電,則供電范圍Vs:+7V~+35V;3.驅動部分峰值電流 Io:2A;4.邏輯部分端子供電范圍 Vss:+5V~+7V(可板內?。?V);5.邏輯部分工作電流范圍:0~36mA;6.控制信號輸入電壓范圍:低電平:-0.3V≤Vin≤1.5V高電平:2.3V≤Vin≤Vss;7.使能信號輸入電壓范圍:低電平:-0.3≤Vin≤1.5V(控制信號無效)高電平:2.3V≤Vin≤Vss(控制信號有效);8.最大功耗:20W(溫度T=75℃時);9.存儲溫度:-25℃~+130℃;10.驅動板尺寸:55mm*49mm*33m帶m(固定銅柱和散熱片高度);11.驅動板重量:33g;12.其他擴展:控制方向指示燈、邏輯部分板內取電接口。(2)直流電機驅動原理該驅動板可驅動2路直流電機,使能端 ENA、ENB為高電平時有效,控制方式及直流電機狀態(tài)表如下所示:表6直流電機狀態(tài)表ENAIN1IN2直流電機狀態(tài)0XX停止100制動110正轉101反轉111制動若要對直流電機進行PWM調速,需設置IN1和IN2,確定電機的轉動方向,然后對使能端輸出PWM脈沖,即可實現(xiàn)調速。注意當使能信號為0時,電機處于自由停止狀態(tài);當使能信號為1,且IN1和IN2為00或11時,電機處于制動狀態(tài),阻止電機轉動。3.3.3直流電機介紹圖13直流電機實物圖電機驅動模塊參數(shù)介紹微型130小馬達:尺寸:20*15*25、軸長:8mm、軸徑:2mm;電壓:1-6v、參考電流:0.35-0.4A;3v轉速:17000-18000轉每分鐘;直流電機轉速與施加電壓成正比。直流電機調速的常見方法是施加一個PWM(脈寬調制)脈沖波,其占空比對應于所需速度。PWM信號相對容易產生,這種驅動方式使用比較廣泛。3.4硬件電路總體設計系統(tǒng)可由USB端口用電腦或者5V/1A的手機充電器供電,電機驅動模塊L298N與藍牙模塊的正極共同使用KL25實驗板上的USBDM_+5V供電,負極接KL25實驗板上的GND。藍牙模塊的TX、RX、GND分別接KL25開發(fā)板上的RX、TX、GND。電機驅動模塊的L298N上的IN1、IN2分別連接KL25實驗板上的C1、C2;L298N上的OUT1、OUT2分別連接直流電機的正負極。系統(tǒng)總體硬件原理圖見附錄二。圖14整體硬件圖四、系統(tǒng)軟件設計4.1軟件燒寫編譯介紹4.1.1KDS軟件簡介KinetisDesignStudio(KDS)為Freescale專為Kinetis家族推出的IDE開發(fā)環(huán)境,它是基于Eclipse+GNU架構的,也就是說其主體編輯環(huán)境使用開源的Eclipse4.3(Kepler)開發(fā)平臺(這個是類似Codewarrior10.x的),而核心編譯器則使用GCC(GNUComplierCollection),調試器使用GDB(GNUDebugger),所以其免費是有原因的。當然飛思卡爾還是在此基礎上將自家的Kinetis家族MCU和圖形化代碼生成工具ProcessorExpert也裝了進去,實際上可以算的上是Codewarrior10.x的裁剪版,Codewarrior10.x架構太龐大,它將對飛思卡爾自家所有的處理器的軟件支持都包含進去了(包括8位、16位MCU,Coldfire,DSC,部分PowerPC架構的MCU,還有Kinetis),造成了其對PC機資源要求很高,這也是集大成的一個通病。但是KDS由于專為Kinetis打造的,所以是一個輕量級的IDE開發(fā)環(huán)境。4.1.2程序的導入過程先點擊菜單欄File選項,選擇import。如圖15所示,之后選擇select選項下的General中的ExistingProjectsintoWorkspace,如圖16所示。圖15導入工程第一步圖16導入工程第二步再點擊browse…選擇你需要編寫的程序項目工程文件夾,之后點擊Finish即可。如圖17、圖18所示圖17導入工程第三步圖18導入工程第四步4.1.3程序的編譯與燒寫先點擊工具欄編譯按鈕,如圖19所示,編譯無誤后,編譯完全正確界面如圖20所示,之后選擇工具欄燒寫調試按鈕選擇DebugConfigurations…,如圖21所示。即可進入燒寫設置界面。圖19編譯工程圖20編譯無誤圖21燒寫程序第一步再先刪除已有的燒入選項,如圖22所示再雙擊新建一個,并且選擇startup中,取消設置程序斷點,如圖23所示。再點擊Debug燒入即可,如一次不能燒入可以換個USB端口再次試驗。如果界面不經(jīng)意被拖動點擊的較為凌亂,可以選擇菜單欄中windows中的ResetPerspective…如圖24所示。以此恢復初始界面便于操作。 圖22燒寫程序第二步圖23燒寫程序第三步圖24恢復程序初始界面4.2系統(tǒng)軟件流程圖系統(tǒng)程序上電進行通信初始化,配置通信波特率、使能串口接收等。主循環(huán)僅僅是KL25實驗板的藍燈閃爍。在通信中斷程序中,判斷發(fā)來的命令是0?1?2?還是無關量予以忽略;實現(xiàn)速度的變化主要是改變PWM波的占空比,在定周期的前提下。設置靜態(tài)變量,對每次來的符合要求的命令,譬如0、1進行計數(shù),在調用PWM波產生函數(shù)時可以進行相應的占空比參數(shù)改變。以此實現(xiàn)調速功能。圖25程序設計流程圖4.3程序清單見附錄一。五、實物驗證調試5.1實物制作硬件清單表7硬件清單序號名稱規(guī)格數(shù)量1KL25開發(fā)板SD-FSL-KL25-EVB12電機驅動模塊L298N13藍牙模塊HC-0514直流電機微型13015USB數(shù)據(jù)線16杜邦線若干5.2硬件調試在實物制作調試時,可以用電腦串口調試助手代替藍牙進行調試驗證程序的便捷方法。圖26串口調試助手通信界面電機具體轉動情況圖片無法描述,具體效果由現(xiàn)場答辯體現(xiàn),在此給出硬件實物圖與手機軟件通信界面截圖圖27基于藍牙無線遙控的玩具賽車直流電機控制設計硬件接線圖圖28手機軟件通信界面截圖(左起電機正轉與加速、電機停止、電機反轉及其信息回饋)六、總結本次設計系統(tǒng)地介紹了基于藍牙無線遙控的玩具賽車的硬件電路設計以及軟件設計。在總體方案設計中以藍牙模塊作為通信載體,用直流電機作為信號輸出的執(zhí)行元件,KL25主控芯片作為主要的控制元器件,并且應用了電機驅動電路。應用KL25的優(yōu)勢減少了硬件的復雜性,通過手機藍牙與藍牙接收模塊,將手機端的控制信號交給KL25進行運算處理,輸出信號交給電機驅動模塊借此驅動直流電機的運轉。由于藍牙的普及性與統(tǒng)一性,可以適當解決一方面紅外遙控器易丟失損壞,對于玩具賽車而言如果紅外遙控器損毀,那么玩具賽車也就失去了其價值;另一方面由于紅外遙控需要干電池當作電源,而且耗電量較高且廢舊干電池污染環(huán)境的問題。本次設計的整個研究與設計過程包括選題、設計以及完善等。首先,在選題方面查閱了很多與題目有關的資料和課題并且制定設計方案,進行設計的總體規(guī)劃,然后將這些方案落實到設計環(huán)節(jié)中。其次,在制定的方案基礎上運用所學的知識對硬件以及軟件進行設計,并用相關軟件調試測試。最后,對設計內容進一步修繕,以求達到最佳設計結果。
從本次設計中我更加深刻地認識到理念來源于實際的含義。在和同學以及老師的就相關問題的互相討論交流中,我認識到自己的很多不足,但在這些不足中我又學到了很多知識,使我的綜合應用能力有了很大提高。
七、參考文獻[1]王宜懷、張書奎、王林、吳瑾.嵌入式技術基礎與實踐(第3版)[M].北京:清華大學出版社.2014.[2]曹金華、王宜懷、沈安東.嵌入式技術基礎與實踐實驗指導(第二版)[M].北京:清華大學出版社.2012.[3]Freescale.KL25DataSheet,Rev[DB].2,2014.[4]唐介.電機與拖動[M].北京:高等教育出版社.2010.[5]張剛毅.單片機原理及應用[M].北京:高等教育出版社.2012.
附錄附錄一:源程序main函數(shù)程序#include"includes.h"http://包含總頭文件intmain(void){ //1.聲明主函數(shù)使用的變量 uint_32mRuncount;//主循環(huán)計數(shù)器 //2.關總中斷 DISABLE_INTERRUPTS; //3.初始化外設模塊 light_init(RUN_LIGHT_BLUE,LIGHT_ON);//藍燈初始化 light_init(RUN_LIGHT_RED,LIGHT_OFF);//初始化燈 uart_init(UART_0,MCGIRCLK,9600);//串口0時鐘MCGIRCLK(4000Khz) uart_init(UART_1,BUSCLK,9600);//串口1、2使用總線時鐘24000Khz uart_init(UART_2,BUSCLK,9600);//波特率使用9600 uart_send_string(UART_0,"HelloUart_0!\r\n");//串口發(fā)送初始化提示 uart_send_string(UART_1,"HelloUart_1!\r\n"); uart_send_string(UART_2,"HelloUart_2!\r\n"); //4.給有關變量賦初值 mRuncount=0;//主循環(huán)計數(shù)器 //5.使能模塊中斷 uart_enable_re_int(UART_0);//使能串口0接收中斷 uart_enable_re_int(UART_1);//使能串口1接收中斷 uart_enable_re_int(UART_2);//使能串口2接收中斷 //6.開總中斷 ENABLE_INTERRUPTS; //進入主循環(huán) //主循環(huán)開始================================================================== for(;;) { //運行指示燈(RUN_LIGHT)閃爍 mRuncount++; //主循環(huán)次數(shù)計數(shù)器+1 if(mRuncount>=RUN_COUNTER_MAX)//主循環(huán)次數(shù)計數(shù)器大于設定的宏常數(shù) { mRuncount=0; //主循環(huán)次數(shù)計數(shù)器清零 light_change(RUN_LIGHT_BLUE);//藍色運行指示燈(RUN_LIGHT_BLUE)狀態(tài)變化 } //以下加入用戶程序 }//主循環(huán)end_for //主循環(huán)結束==================================================================}通信中斷程序voidisr_uart1_re(void){ staticuint_8i=0,j=0;uint_8flag=1,ch;uint_32period,duty; period=100; duty=60;DISABLE_INTERRUPTS;ch=uart_re1(UART_1,&flag);if(0==flag){uart_send1(UART_1,ch);}if(ch=='0'){ if(i<6) i++;else i=0; pwm_init(TPM0,TPMCH0,period,duty-10*i);
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 家長行為規(guī)范培訓課件
- 2026年網(wǎng)絡游戲開發(fā)合作合同
- 2026年品牌形象廣告合作合同協(xié)議
- 2026年工廠油煙管道消毒清潔合同
- 二手設備典當合同2026年
- 2026年市場專員離職競業(yè)限制合同范本
- 2026年編劇獨家聘用合同
- 2026年倉儲作業(yè)外包合同
- 2026年電商倉儲配送服務合同協(xié)議
- 2026年寵物殯葬服務合同協(xié)議
- 電子行業(yè)國際標準J-STD-020中文版
- 2025年重點城市公共汽車客運行業(yè)研究報告及未來發(fā)展趨勢預測
- 神經(jīng)外科出科考試試題(含答案)
- 過程安全衡量指標-領先和滯后CCPS
- 睡眠護理技術及護理記錄
- 微視野計在青光眼診斷中的應用-洞察及研究
- DB31∕T 1564-2025 企業(yè)實驗室危險化學品安全管理規(guī)范
- 企業(yè)安全生產培訓檔案
- 超聲波局部放電檢測技術專題
- 中國年活動方案
- 《移動通信技術》考試題庫
評論
0/150
提交評論