TOP3 ATmega2560無人機搖桿微控制器設計方案
電源欠壓保護
電源欠壓保護由鋰電池的電池放電特性易知, 當電池處于3.5V 時, 此時電池電量即將用完, 應及時給電池充電, 否則電池電壓將急劇下降直至電池損壞。于是設計了一套欠壓保護電路如圖5 所示, 利用電阻分壓所得和由TL431 設計的基準電壓比較, 將比較結果送人LM324 放大電路進而觸發由三極管構成的開關系統, 從而控制負載回路的通阻。試驗證明, 當系統電壓達到臨界危險電壓7V 時, 系統的輸出電流僅為4mA, 從而防止了系統鋰電池過度放電現象的產生。
圖5 欠壓保護電路
由于鋰離子電池能量密度高, 因此難以確保電池的安全性。在過度充電狀態下, 電池溫度上升后能量將過剩, 于是電解液分解而產生氣體, 因內壓上升而發生自燃或破裂的危險;反之, 在過度放電狀態下, 電解液因分解導致電池特性及耐久性劣化, 從而降低可充電次數。該充電電路和本管理系統能有效的防治鋰電池的過充和過用, 從而確保了電池的安全, 提高鋰電池的使用壽命。
本文設計了一套UAV 電源管理系統, 該系統具有自動控制充放電管理, 實時監測電池電壓等功能。該系統已經經過調試和試驗驗證了其可行性, 但是為了保證飛機安全, 還要做更多的試驗以保證無人機自主飛行的安全和穩定。除此之外, 高低頻濾波, 電池電量預測等也是重要的方向, 需要深入的研究?,F今, 鋰電池的使用范圍越來越廣, 其價格也相對適中,如果掌握先進的科學的使用方法, 讓鋰電池發揮應有的最大效用, 將會節省大量的資源和財富。
解讀ATmega2560無人機搖桿微控制器設計方案
隨著無人機正在成為新的經濟增長點和國民收入水平的提高,近年來在高校和民間都得到了更多的關注。無人機是無人駕駛飛機的簡稱,是利用無線電遙控(含遠程駕駛)、預設程序控制和(或)基于機載傳感器自主飛行的可重復使用不載人飛機。目前用無線電遙控的無人機大部分使用JR或者Futaba公司出品的專用遙控器,這些遙控器優點是手感好,方便攜帶,但是價格高昂,通道數較少,難以滿足無人機執行任務時需要較多通道數的要求。少部分使用PC作為控制平臺,使用了飛行搖桿作為控制器,能實現更專業的功能,通道數也多,但是攜帶不方便,需要攜帶手提電腦或者PC到外場調試,還必須考慮電池續航問題,造價也比較高昂,且需要專業的計算機軟件知識進行編程。
為解決上述不便,本人提出了一種基于Arduino的無人機控制器設計方案。Arduino是2005年1月由米蘭交互設計學院的兩位教師David Cuartielles和Massimo Banzi聯合創建,是一塊基于開放原始代碼的Simple I/O平臺.Arduino具有類似java、C語言的開發環境,將AVR單片機相關的一些寄存器參數設置等都函數化了,即使不太了解 AVR單片機的朋友也能輕松上手,設計出各種實用的電路開發系統,是一款價格低廉、易于開發做應用的電子平臺。Arduino包括硬件和軟件在內的整個平臺是完全開源的。該方案由于采用Arduino平臺,能快速開發出用較低成本的飛行搖桿來進行操縱航模,體驗真實飛行的感覺。由于接口較多,可以實現高達 20通道以上,能執行各種擴展任務,且不需要攜帶電腦。
系統原理與架構設計
系統框圖如圖1所示,分為兩大部分,分別是地面控制部分和控制執行部分。地面控制部分是由單片機讀取飛行遙桿的數據,即可獲得飛行搖桿各個通道的即時電壓,通過模式轉換后,得到各個通道的值。將上述值經過編碼后通過無線數傳模塊發送出去。
空中指令執行部分:
由空中無線數傳接收到信號后將指令發送到單片機,單片機將指令解析,并轉換為飛控系統常用的PPM信號,該PPM信號可以直接驅動飛控系統做出響應動作,從而控制無人機。
模塊原理、設計與制作
1.搖桿信號獲取原理
要得到飛行搖桿當前的桿量,一個方法是通過搖桿的usb接口讀取,由于各個廠家的通訊協議都不兼容,有些還必須獲得授權,實現起來比較麻煩。另一個方法是直接獲取搖桿的電位器值。實際上現在市面上的搖桿除了非常高端的搖桿用了霍爾傳感,大部分都采用了普通的電位器,按照可變電阻來讀取即可。本模塊采用市場上常見的賽鈦客FLY5飛行搖桿,拆開來外殼,所有電位器都是用3P的白色連接插座和電路板連接的,XYZ三軸用來控制飛機姿態(升降、副翼和方向),油門由拉桿控制,苦力帽可以用來控制fpv攝像頭云臺,還有其他的按鍵可以映射為其他通道,例如空中投擲物體,自動回家,切換飛行模式等。
2.桿量解析處理模塊
我們采用的單片機系統采用了ArduinoM E G A 2 5 6 0 開發板。該開發板是一塊以ATmega2560為核心的微控制器開發板,本身具有54組數字I/O其中14組可做PWM輸出),16組模數轉換輸入端,4 組串口,使用16MHz的晶振。讀取搖桿的XYZ軸的電阻值,只需將電位器的電源和地接在電調輸出的5v和地上,信號線接在Arduino板的模擬輸入口上,由于Arduino的AD讀取精度最高是10位,在程序里將電阻值映射成0到1023的數值,FLY5飛行搖桿的分辨率大概在800~900左右。飛行搖桿的電位器是線性的,反應較為靈敏的。實際測試中搖桿回中后,和打到最大和最小的地方,數據會有一些波動和噪點,采用卡爾曼濾波算法進行處理,可以獲得平滑的曲線。
3.無線收發模塊
無線數傳模塊采用了一對X b e e P R O900HP無線收發模塊,該模塊功率為250mW.它們分別用來連接地面控制板單片機和連接飛行控制的單片機。配備原裝天線,最遠可以達到10KM,比傳統遙控器距離極大的增加。標準的串口TTL接口,將RX和TX分別接在單片機板上的TX和RX端口上即可。波特率設置為115200,數傳是半雙工的,通訊增加CRC校驗,防止數據丟包和被干擾篡改。
本文提供的解決方案,成本較低,開發方便,易于實現。不足之處是單向傳輸雖然延時低,但是無法實時返回飛行器的各種數據。為解決該問題,只能使用2對無線模塊,或采用MIMO天線能實現全雙工的無線模塊,才能解決。后期將會繼續研究,以實現低成本的雙向傳輸,并實現實時數據返回的OSD和低延時控制。
評論
查看更多