




已閱讀5頁,還剩14頁未讀, 繼續免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
江蘇大學第六屆電子設計競賽電動車蹺蹺板作品論文參賽隊員:黃余 周杰 劉治岐二零一四年四月摘要本電動車蹺蹺板是以鐵板為車架,msp430單片機為控制核心,加以直流減速電機、LN298驅動電路、mpu6050陀螺儀、紅外光電傳感器、N5100液晶、NRF24L01無線模塊以及穩壓電源電路以及其他電路構成。系統由msp430通過IO口控制小車的前進后退停止平衡以及轉向,并通過NRF24L01把小車同電腦上位機連接,進行命令控制和數據發送。尋跡由CTRT5000型紅外光電對管完成,平衡由mpu6050陀螺儀完成,用L298N驅動直流減速電機,同時本系統用N5100液晶顯示,以顯示當前電動車的運動狀態以及各部分運行時間。關鍵詞:msp430 NRF24L01 L298N 直流減速電機 紅外光電傳感器 mpu6050陀螺儀 N5100液晶 Abstractthe electric vehicleseesawisan iron plateframe,MSP430 single chip microcomputer as control core,toDC gear motor,LN298drive circuit,mpu6050 gyroscopes,infrared photoelectric sensor,N5100 LCD,NRF24L01 wirelessmodule and apower supplycircuit and other circuit.The systemconsists of MSP430through the IO port tocontrol the carforward and backstopbalance andsteering,and through the NRF24L01car to carwithcomputerPCconnection,commandcontroland data transmission.Tracingby CTRT5000type infrared photoelectrictubefinish,balancedby mpu6050gyroscope,L298N drivendc gear motor,at the same time,the system used N5100liquid crystal display,to showthe motion stateof electric vehiclesand parts ofthe running time.Keywords:MSP430NRF24L01L298NDC motor andinfrared photoelectric sensor mpu6050gyroscopeN5100 LCD19目錄一.模塊方案比較與設計1.1車架設計1.2控制器模塊1.3電源模塊1.4尋跡傳感器模塊1.5電機模塊1.6電機驅動模塊1.7平衡模塊1.8顯示臺顯示模塊1.9無線連接模塊1.10上位機的制作二硬件實現及單元電路設計2.1電機驅動電路的設計2.2黑白線檢測電路的設計2.3電壓穩壓電路設計2.4液晶顯示屏電路的連接2.5MPU6050陀螺儀模塊電路設計2.6NRF24L01無線發送接收模塊電路設計三、算法實現:3.1循跡部分3.2電機驅動部分3.3液晶顯示部分3.4陀螺儀濾波部分3.5小車整體平衡算法部分3.6小車無線啟動算法部分3.7 LABVIEW上位機的制作四、軟件設計1、小車上電后程序流程2.基礎部分程序流程3.發揮部分程序流程4.小車循跡轉向程序流程五、系統功能測試1.基礎部分2.發揮部分六、總結七、附錄1.小車單片機2.從機單片機一 模塊方案比較與設計根據題目要求,本系統主要由控制器模塊、電源模塊、無線模塊、尋跡傳感器模塊、平衡傳感器模塊、直流減速電機及其驅動模塊、液晶顯示模塊。本系統大概的方框圖如下圖所示:電壓模塊單片機主控制器模塊循跡模塊陀螺儀無線模塊驅動電機報警信號液晶顯示為較好的實現各模塊的功能,我們分別設計了幾種方案并分別進行了論證。1.1車架設計方案1:購買玩具電動車。購買的玩具電動車具有組裝完整的車架車輪、電機及其驅動電路。但是一般的說來,玩具電動車具有如下缺點:首先,這種玩具電動車由于裝配緊湊,使得各種所需傳感器的安裝十分不方便。其次,玩具電動車的電機多為玩具直流電機,力矩小,空載轉速快,負載性能差,不易調速。而且這種電動車一般都價格不扉。因此我們放棄了此方案。方案2:自己制作電動車。經過反復考慮論證,我們制定了三輪電動車,后面兩輪分別驅動轉向。前面按一個萬向輪。即左右輪分別用兩個轉速和力矩基本完全相同的步進電機進行驅動,前面裝一個萬向輪。這樣,當兩個直流減速電機轉向相同但轉速不同時就可以實現電動車的轉彎,由此可以輕松的實現小車的左轉和右轉。綜上所述,最后選擇方案二。1.2控制器模塊因為這個暑假我們將參加省賽,而這個比賽是由TI公司贊助舉辦的,需要用TI公司生產的芯片,為了熟練,因此我們這次選用該公司開發的msp430 16位單片機,它是16位控制器,具有體積小、驅動能力高、集成度高、易擴展、可靠性高、功耗低、結構簡單、處理速度高、中斷處理能力強等特點。1.3電源模塊由于本系統需要電池供電,我們考慮了如下集中方案為系統供電。方案1:采用8.4V大容量理電池,經過7805穩壓電路把電壓穩成5V之后,在經過ams1117穩壓成3.3V為單片機以及一些相應的模塊供電。選用的鋰電池具有價格低,容量大,體積小和輸出電流大等特點。方案2:采用2節4.2V可充電式鋰電池串聯共8.4V給直流電供電,經過7805的電壓變換后為單片機和傳感器供電。經過實驗驗證,當電池為直流電機供電時,單片機、傳感器的工作電壓不夠,性能不穩定。因此我們放棄了此方案。綜上考慮,我們選擇了方案1。1.4尋跡傳感器模塊 CTRT5000紅外光電對管是由一個發光管和一個接收管組成,當被測物是黑線時,紅外光電二極管U發射出的光線被反射回來時很弱,光敏三極管無法導通,所以跟隨器輸出給單片機的信號為低電平。相反的,當被測物是白線時,由于反射回的信號較強,致使三極管導通,然后把該點的電位經過393比較器同電位器上調節后的電壓比較,從而達到在遇到黑線和沒有遇到黑線時分別輸出高低電平。從而使小車可以沿著黑膠帶行走。此光電對管調理電路簡單,工作性能穩定,體積小,結構緊湊。1.5電機模塊方案一:用步進電機。步進電機可以精確地控制角度和距離。步進電機的輸出力矩較低,隨轉速的升高而下降,且在轉速較高時會急劇下降,故其轉速較低,不適用于小車等有一定速度要求的系統,并且它的體積大,價格高,質量大,另外步進電機的編程復雜,增加了編程的難度。 方案二:采用直流電機。直流電機運轉平穩,精度也有一定的保證,雖然沒有步進電機那樣高,但完全可以滿足本題目的要求。通過單片機自帶的的PWM輸出同樣可以控制直流電機的旋轉速度,實現電動車的速度控制。并且直流電機相對于步進電機價格經濟。綜合性價比和功耗等方面的考慮,我們選擇方案二,使用直流電機作為電動車的驅動電機。1.6電機驅動模塊方案一:采用繼電器對電機的開關進行控制,可以完成電機的正轉,反轉,調速,但繼電器響應時間慢,使小車運動靈敏度降低,增加了避障的難度。而且機械結構易磨損,可靠性不高。它適用于大功率電機的驅動,對于中小功率的電機則極不經濟。方案二:采用SM6135W電機遙控驅動模塊。SM6135W是專為遙控車設計的大規模集成電路。能實現前進、后退、向右、向左、加速五個功能,但是其采用的是編碼輸入控制,而不是電平控制,這樣在程序中實現比較麻煩,而且該電機模塊價格比較高。方案三:采用集成的驅動電路芯片L298N。L298N驅動芯片具有體積小,可靠性安全性高,抗干擾能力強等優點,適合控制智能小車的運動。且有較大的電流驅動能力,連接方便簡單。我們上學期參加小車比賽的時候用過此驅動芯片,有一定的電路搭建運用經驗。 綜合以上考慮,我們選擇方案三,使用L298驅動直流電機。1.7平衡模塊方案一:采用水銀開關探測蹺蹺板平衡度,其原理是蹺板左偏水銀開關電路導通,右偏水銀開關斷開電路不通,這樣控制電動車在平衡點小角度來回擺動來使蹺蹺板動態平衡,安裝簡單而且成本很低。但控制精度很低,不易實現題目要求。方案二:采用MPU6050六軸加速度陀螺儀模塊,把陀螺儀的數值傳回來,經過單片機的濾波,然后轉化成角度來判斷蹺蹺板的傾斜角度。該模塊具有體積小、精度高、采集速度快和操作代碼簡單等特點。綜合以上考慮,我們選擇方案三,使用MPU6050陀螺儀測量角度。1.8顯示臺顯示模塊方案一:用數碼管進行顯示。數碼管顯示速度快,使用簡單,顯示效果簡潔明了。但是現實內容單一,但不能顯示漢字,顯示內容較少,人機關系較差。而且需要單片機實時掃描,占用單片機CPU內存多。方案二:采用N5100 LCD顯示。LCD可以用全中文界面顯示,顯示內容豐富,易于人機交流,且可以串行接口,節省I/O資源,顯示簡單。考慮到本題的要求,只需要一片LCD就可以實現,故我們選擇方案二。1.9無線連接模塊因為我們小組想通過電腦上位機無線控制現車的運行,以及實時監視小車左右輪點擊的速度和蹺蹺板的平衡角度。因此我們需要選擇一組無線模塊,經過綜合考慮,我們選擇NRF24L01無線模塊,它具有價格低、體積小、資料豐富、發送穩定和距離遠等特點。1.10上位機的制作我們選用LABVIEW軟件制作上位機,LABVIEW是圖形化制作上位機的一款軟件,具有操作簡單、上手快、控件豐富和制作周期短等特點。因此我們就選擇該軟件制作我們需要的上位機。最終方案經過反復論證,我們最終確定了如下方案:1采用TI公司的MSP430單片機作為主控制器。2電機采用直流減速電機。3采用專用芯片L298N作為電機驅動芯片。4采用CTRT5000紅外光電對管制作尋跡模塊。5采用MPU6050雙軸傾角傳感器。6采用8.4V大容量理電池供電。7采用N5110液晶顯示行進中的傾角。8采用NRF24L01驚醒無線通信9采用LABVIEW制作上位機二硬件實現及單元電路設計2.1電機驅動電路的設計L298N驅動直流電機,它靠兩個引腳控制一個電機的運動。智能尋跡小車采用后輪驅動,左右后輪各用一個直流減速電機驅動,通過調制后面兩個輪子的轉速或正反轉來達到控制小車轉向的目的。芯片引腳和功能如圖1,驅動電路如圖2。EN AP4.6左電機使能端EA BP4.7 右電機使能端IN1P4.1左電機PWM控制輸出 IN2 P4.2 左電機PWM控制輸出 IN3P4.3右電機PWM控制輸出 IN4 P4.4右電機PWM控制輸出 圖1 L298N的引腳和功能圖2 驅動電路圖2.2黑白線檢測電路的設計:通過光電檢測器來實現黑白線的監測,當檢測到黑線時輸出端為低電平,白線時為高電平。兩個TCRT5000來實現小車走直線。輸出端要加上拉電阻,才能得到穩定信號,其原理圖如圖所示。2.3電壓穩壓電路設計:電池電壓8.4V進來,首先然后經過LM7805穩壓成5V,然后再經過AMS1117降壓成3.3V供單片機個整個系統使用。經過兩輪降壓的目的是為了使電壓更加的穩定,防止過大的壓降使穩壓管燒毀。 設計電路圖如下圖所示:2.4液晶顯示屏電路的連接:該款液晶顯示器為NokiaN5110液晶顯示器,它由48x84點矩陣LCD組成。該液晶顯示器不同于LCD1602,它本身沒有字庫,所以需要人為制作字庫,但是,在繪制圖畫方面它與1602相比具有明顯的優越性。正因為它沒有字庫,每一幅圖片都由人為取碼完成數字圖片繪制,這使圖片的顯示更為簡單。在該學習板上采用模擬SPI通信,但它本身可以采用標準SPI協議通信的,因而其顯示速度可以滿足一般要求。1腳VC為3.3V電源接入2腳為GND3腳CE為片選4腳RS為復位腳5腳DC為命令數據寄存器選擇線6腳DN為串行數據線7腳CK為時鐘信號線8腳BL為背光燈控制接口2.5MPU6050陀螺儀模塊電路設計: MPU-6000為全球首例整合性6軸運動處理組件,相較于多組件方案,免除了組合陀螺儀與加速器時之軸間差的問題,減少了大量的包裝空間。MPU-6000整合了3軸陀螺儀、3軸加速器,并含可藉由第二個I2C端口連接其他廠牌之加速器、磁力傳感器、或其他傳感器的數位運動處理(DMP: Digital Motion Processor)硬件加速引擎,由主要I2C端口以單一數據流的形式,向應用端輸出完整的9軸融合演算技術。標準的IIC通信協議,芯片內置16bit AD轉換器,16位數據輸出。2.6NRF24L01無線發送接收模塊電路設計:NRF24L01是一款工作在2.4-2.5GHz世界通用ISM頻段的單片收發芯片,無線收發器包括:頻率發生器 增強型 SchockBurstTM 模式控制器 功率放大器 晶體放大器 調制器 解調器 輸出功率頻道選擇和協議的設置可以通過SPI接口進行設置極低的電流消耗。(軟件設置1Mbps或者2Mbps的空中傳輸速率)3.CE 芯片的模式控制線。4.CSN為芯片的片選線5.SCK為芯片控制的時鐘線(SPI時鐘)6.MOSI為芯片控制數據線7.MISO芯片控制數線8.IRQ中斷信號引腳。三、算法實現:3.1循跡部分:由于小車是在蹺蹺板上行走,而又不能保證左右輪電機的轉速完全相同,為保證小車能正常在蹺蹺板上行走,故采用在蹺蹺板上貼黑膠帶引導小車行走的做法,。在運行過程中會有小車反復前進后退的情況,經過多次試驗后,采取在小車前后均設置兩個光電對管的做法。當小車前進時,打開前面的光電對管為小車循跡,后退時用后面的光電對管循跡。最后試驗證明方案可行,在前進和后退的過程中均能穩定地沿著黑線運行。3.2電機驅動部分:小車在運行的過程中需要得到不同的行走速度,而我們采用的是直流減速電機,故采用用單片機輸出占空比不同的PWM波來控制電機轉速和方向的方式,單片機一共需要輸出4路PWM,每兩路PWM波控制一個電機。具體做法是,通過設置msp430內部的定時器2 然后在P41P44 這四個引腳上輸出4路PWM波。固定電機一段輸入低電平,另一端輸入電壓為8.4的PWM波來控制正轉。反之控制電機反轉。(相關代碼見后面附錄)3.3液晶顯示部分:由于我們組采用的是N5110這塊液晶屏,操作引腳少,顯示內容靈活,但不自帶字庫,所以我們采取字體取模的方式得到不同大小,不同字體的字碼,并復制到程序的數組中。并采用模擬SPI總線協議的方式對液晶屏進行控制。實驗結果證明顯示效果好、內容豐富和反應速度快。3.4陀螺儀濾波部分:我們采用MPU6050陀螺儀測傾角的方法,直接讀回來的是各軸的加速度和角加速度,并不是我們想要的傾斜角度,而且不穩地。如果直接用靜態的加速度換算得到的角度,在蹺蹺板轉動時,得到的角度很有很大的波動和很多干擾波刺。因此我們需要對采集回來的數據進行濾波以及融合成需要的角度。我們采用的是互補濾波的方法,并通過自己用LABVIEW寫的上位機軟件對濾波前后的波形進行比對,進而反復對互補濾波參數的調節。通過msp430內部的定時器1 設置對陀螺儀的采樣周期T,經過多次試驗我們采用的采樣周期為5ms,然后對每次得到的陀螺儀角加速度進行積分,再代入互補濾波公式跟靜態值進行數據融合,得到對水平面真實的傾斜角度。經過反復多次的實驗,最終得到下面比較合適的參數。靜態換算的角度值:acc_angle=atan2(acc_x, acc_z)*(180/3.14159265); 陀螺儀的轉動角速度計算:gyr_angle=(float)(gyro_data+53)/16.4; 互補融合:angle=(0.97)*(angle+y*dt)+(0.03)*x;/angle為真實的傾角 下面是一張濾波過程中濾波效果的截圖:3.5整體小車平衡算法部分:一開始調節小車的時候,我們采用采用PID算法中的PD來閉環(角度環)控制的方式來調節蹺蹺板平衡,讓小車在平衡點附近來回運動尋找平衡點。平衡曲線類似于欠阻尼平衡的曲線(如下圖)。采用的控制公式:電機輸出 = Kp 角度 + Kd 角速度 經過多次反復的調節,運行發現無法在規定的時間內穩定下來。原因是蹺蹺板是采用鐵板材料做成的,重量很大,轉動起來之后有很大的慣性。而小車比較輕,小車運行過平衡位置很長的一段距離之后,蹺蹺板才開始擺動,所以存在很大的滯后性,因此整個系統的靈活性和響應速度跟不上。無論我們的參數怎么調節,始終沒有達到我們需要的效果。最后,我們決定換一套方案。經過上面所述的多次試驗失敗之后,我們發現采用欠阻尼式的調節方法不可行。所以我們換成了過阻尼式的調解方案。我們先讓小車在之前PD調節的基礎上快速找到平衡點的位置(即讓小車在蹺蹺板上快速前進,直到蹺蹺板轉到轉到另一端著地),接下來改成逐次逼近的方式讓蹺蹺板進入平衡范圍。蹺蹺板的角度平衡曲線如下圖所示(圖片僅其參考作用): 具體的做法是:因為由前面的失敗實驗知道,不能讓蹺蹺板擺動起來,所以我們不能讓小車保持連續的前進狀態。所以,我們得采取措施消除蹺蹺板轉動時的慣性,我們讓小車前進一段時間t1,接著停止一段時間t2的做法。這樣的話,在蹺蹺板轉動起來之后,小車聽停一段時間t2,把蹺蹺板穩住,消除它的轉動慣性。小車的速度每次都按照 speed = speed*2.0/3 的幅度衰減。直到蹺蹺板的切斜角度板進入題目要求的范圍之內。經過多次反復的實驗和參數的調節,發現這種方案可行,蹺蹺板平衡的各項要求均能在小于題目要求的時間內完成。3.6小車無線啟動算法部分:由于本次比賽的時間比較充裕,為了提高作品的運行效果和充分發揮我們的創新能力。我們小組決定在完成題目要求的基礎部分和發揮部分的基礎上,增加電腦上位機無線控制小車運行的功能。具體的做法是增加一塊單片機最小系統作為通信的從機。小車和從機板上均連接一塊NRF24L01的無線模塊,然后寫入操作無線模塊的程序實現小車和從單片機進行命令和數據交換。由于NRF24L01的傳輸速度快,加入模塊之后基本上不影響小車的運行效果,但是加大了代碼的容量和復雜度。經過實際的實驗操作調試,發現此想法可行,有不錯的運行效果。小車上電復位之后,停止在原地等待從機的啟動命令。一旦接收到從機發送的啟動命令,馬上開始運行。并實時把蹺蹺板的傾斜角度和小車左右輪的速度發送回來給從機接收。然后通過串口把數據顯示在PC機的上位機上。3.7 LABVIEW上位機的制作:我們采用labview軟件來制作我們所需要的上位機軟件,該上位機是基于串口鏈接的基礎上的。用labview上與串口相關的控件實現PC機與從單片機之間的連接。用COM連接、VISA配置串口、屬性節點、VISA讀取、VISA寫入、VIASA關閉 這六個函數就可以實現PC機與單片機之間的串口連接。用匹配模式函數可以把從單片機傳上來的字符串分解成各個部分。加上其他一些函數空間對數據的轉化和處理便可在電腦上通過前面板上把數值以指針和量表的形式顯示出來。最終制作好的上位機部分底層函數框圖如下:最終制作好的上位機前面板如下:四、軟件設計1、小車上電后程序流程圖如下所示:2.基礎部分程序流程圖如下圖:3.發揮部分程序流程圖如下圖:4.小車循跡轉向部分:五、系統功能測試基礎部分:不同狀態下電動車行駛和停留時間測量數據A點到達中點第一次第二次第三次時間(秒)656尋找平衡第一次第二次第三次時間(秒)353837中點平衡第一次第二次第三次時間(秒)555中點到B點第一次第二次第三次時間(秒)566退回原地第一次第二次第三次時間(秒)505156電動車從起始端A出發,在6秒鐘內行駛到中心點C附近;35秒鐘之內,電動車在中心點C附近使蹺蹺板處于平衡狀態,保持平衡5秒鐘,并給出明顯的平衡指示;電動車從平衡點出發,5秒鐘內行駛到蹺蹺板末端B處(車頭距蹺蹺板末端B不大于50mm);電動車在B點停止5秒后,10秒鐘內倒退回起始端A,完成整個行程;在整個行駛過程中,電動車始終在蹺蹺板上,最終并分階段實時顯示電動車行駛所用的時間。發揮部分:打破平衡后電動車重新平衡所用時間
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論