網站首頁 趣味美術 生活小製作 兒童製作 親子互動 陶藝製作 傳統手工 民間手藝 歲月綻放 創意與設計

四軸飛行器:讓PCB板飛!手工電子DIY教程

欄目: 電子DIY / 發佈於: / 人氣:4.35K

四軸飛行器:讓PCB板飛!

我們在製作一個非常袖珍的四軸飛行器,就用PCB作爲承力結構。第一個版本被命名爲瘋狂直升機。

它的主要特點有:

STM32 Cortex-M3 CPU3軸加速度計1軸/2軸陀螺儀Nordic 2.4GHz 射頻通信芯片電動機,螺旋槳和銀輝(Silverlit)X翼模型飛機的電池 

這架直升機可以從電腦上通過USB無線適配器遙控。我們製作了三架樣品(每個成員各一架),並完成了大多數的固件程序。

爲了達到穩定飛行的目的,還需要解決一些控制上的問題,以及完成電腦上的控制程序模塊。

更多的信息和實際飛行視頻會在稍後公佈:)

 

第一個飛行視頻

這是直升機的第一段飛行影像。

 

控制系統工作的很棒,但是它仍然過於依賴操縱者的敏捷(見視頻的結尾部分)。

這架直升機是通過PC機上運行的Python程序控制的,我們實際上用一個遊戲機的藍牙手柄來操縱它。

 

瘋狂直升機四軸飛行器詳述

像承諾過的那樣,我們要在這裏公佈瘋狂直升機(也是我們第一架四軸飛行器)的更多信息。

該系統的主要架構如下:

瘋狂直升機的高層次系統圖。

直升機本身是圍繞CPU組織起來的。CPU的任務是讀取物理傳感器(陀螺儀和加速度計)的測量結果,給出控制信號控制電機,讓直升機保持穩定。通過一個控制反饋迴路,CPU每秒能夠對電機發送250次調節轉速的指令。無線通信的帶寬需求很低,僅僅需要發送操作命令和接受遙測數據。CPU上運行的程序可以通過無線通信更新。

控制和遙測程序在電腦上運行,控制程序從手柄讀取輸入,然後向直升機發送命令。我們也有調節直升機上控制參數的程序模塊,並且會記錄下傳感器的測量結果,方便調整控制迴路。

所有這些開發工作在Windows或linux系統上完成。事實上有三個人同時在這個項目上工作,兩個人在Linux上工作,剩下一個人主要使用Windows。利用自由/開源軟件(FLOSS,Free/Libre and Open Source Software)許可對提高工作效率非常有幫助。我們主要使用GCC編譯器編譯直升機程序,GNU( GNU's Not Unix,一個包含了遞歸的縮寫!GNU Linux工程是爲與可複製﹑修改﹑和重新分配的源代碼一起的類Unix操作系統的發展而建立的。)建立我們的工程,Mercurial(一個輕量級的分佈式版本控制系統)管理我們的源代碼,與直升機之間的通訊採用python/pyusb(一個python上的USB通訊軟件庫)。所有這些軟件都能在linux和windows系統間來回無縫切換,使這個項目的管理變得容易許多。

電動機之間的距離(X軸和Y軸方向)大約有8cm,整個飛行器的重量只有20g。

 

電路板頂面的細節

瘋狂直升機電路板頂面細節

電路板頂面包含了傳感器和控制/通訊電路。

JTAG/串行接口用來向處理器編程,傳送debug信息。CPU是STM32 Cortex - M3。時鐘設定爲內部振盪器64MHz。2軸X-Y陀螺儀InvenSense IDG500。它的模擬信號輸出連接到CPU的模數轉換器。Z軸陀螺儀InvenSense ISZ500。和X-Y陀螺一樣,模擬信號輸出連接到CPU的模數轉換器。2.4GHz的射頻通信基於Nordic的nRF24L01 芯片。它實際上是一個通過SparkFun出售的帶接口電路板,通過SPI端口連接到CPU。3軸加速度計是Bosch SMB380。它通過I²C總線連接到CPU。 

電路板底面的細節

瘋狂直升機電路板底面細節

這裏沒有什麼特別之處,除了一小塊電池通過膠帶粘在電路板底面。這些電池來自一架Silverlit x-twin模型飛機,允許我們的直升機飛行4.5分鐘。

 

電池下方的電路細節

在電池下方是供電電路和功率控制電路。

充電插座連接外界的5V電源,給電池充電電源開關切換直升機的電源供應(連接器/充電電池)5V升壓電路將3〜4V的電池電壓升壓到5V。兩個3.3V線性穩壓器,從5V電壓降壓輸出3.3V電壓。數字和模擬3.3V供電電壓相互獨立。這是爲了減少對模擬器件的噪聲干擾(兩個陀螺儀,設計中很重要的一部分)。最後,在四個側邊正中有電動機的驅動晶體管。電能從PCB樑的頂部和底部佈線傳送,爲電動機提供能量。 

值得一提的是,我們在3.3V穩壓器右邊放置了電池充電芯片,這是一片常用的MAX1555,它工作的很好。

使用升壓電路的目的在於在電池的基礎上提供更加穩定的供電,在電池即將耗盡,電壓開始下降時它特別有效,同時還能夠減小電機驅動電路帶來的噪聲。但是說到底這些芯片使用2.8V線性穩壓器供電就能工作,因此我們計劃在下一個版本中取消升壓電路,同時還打算把無線通訊模塊也集成到電路板上。

電動機和螺旋槳都來自Silverlit x-twin模型飛機,它們直接由電池電壓供電。