MCU單晶片韌體設計

2015年6月29日 星期一

運動感測器#1


研究一下運動感測器, G-Sensor (加速度計), Gyro Sensor陀邏儀,, E-compass 電子邏盤 , 先看一下Android 手機內運動感測器的輸出狀況. 到時自己實作時,也就知道應該做到這樣的結果, 其實, 發現要得到這樣的結果, 除了硬體外, 還必須有一些演算法搭配。

不管先來看一下, Android手機座標系統 (OpenGL ES座標系統)






加速度感應器 : 傳回 X, Y, Z 軸受重力的影響 . 加速度的單位是 m/sec2

當手機平放時, Z軸有值, X,Y軸為0; 正面放 Z軸輸出9.81, 反面放 Z軸輸出 -9.81




 當手機直立時, Y軸有值, X,Z軸為0; 正面放  Y軸輸出9.81, 反面放 Y軸輸出-9.81

 當手機側放時, X軸有值, Y,Z軸為0;  左側面放 X軸輸出9.81, 右側放 X軸輸出-9.81



當手機平放時, 以邏盤方式順時針或逆時針旋轉, 得到的數值都是Z值9.81, 無法得知其旋轉方向



方位感測器: 我們可以得知X,Y,Z方向的旋轉方向. 輸出角度數值為 [-π,π]

Azimuth: 為當手機平放時以邏盤方式轉動, 可得其為順時針或是逆時針轉動,

Pitch: 當手機繞著X旋轉時,輸出角度變化值

Roll: 當手機繞著Y旋轉時, 輸出角度變化值






整理資料來源連結:
[1] 感應器應用

2015年6月13日 星期六

用Raspberry Pi 實現四軸飛行器



   無人四軸飛行器其靈敏性高、機動性佳、體積小與重量輕等特點,其應用不再只是侷限在軍事方面,也可適用於一些民生用途如空拍導航、地形偵查等。
故本專題想要以上課所學到的內容,來實現一個基於嵌入式Linux系統的一個四軸飛行器。本專題從基本的直流無刷馬達(BLDC)控制開始著手,到完成整個飛行器控制核心及慣性感測器的系統整合,最後實際測試飛行。本系統所使用的控制核心為Raspberry Pi B+, SoC 晶片為Broadcom BCM2835(ARM11@ 700MHz)。

四軸飛行器主要是利用四顆BLDC來帶動螺旋槳產生的浮力,使得四軸飛行器能於空中進行不同的運動,其中BLDC需要透過驅動電路將單一直流電轉換成三相電流,並透過PWM訊號使BLDC產生不同的轉速。因此,系統使用PCA9685讓Raspberry Pi具備四組硬體PWM輸出能力以控制四顆BLDC。

螺旋槳的轉動會產生作用力與反作用力以及一些旋轉的慣性,且當飛行於室外時,也會因為氣流和風勢的影響,造成四軸飛行器飛行時無法平衡。故,為了達到平穩飛行的目的,我們必須能瞭解四軸飛行器的航向、俯仰、側滾等姿態變化資訊,因此我們利用一顆慣性感測元件MPU6050,其同時包含了加速度計及佗羅儀,可用來即時量測物體運動時的加速度與角加速度。這些加速度與角加速度的變化,再透過控制核心作PID運算處理,並回授矯正誤差值,最後輸出PWM訊號來控制BLDC,使四軸飛行器的能夠達到穩定的平衡飛行。為了加強控制穩定性,量測到的加速度及角加速度訊號於進入PID前,均事先進行互補濾波器(Complementary Filter) 的演算處理。

另外,我們在四軸飛行器上實作一個簡單終端機UI操控界面並安裝一個USB WiFi Dongle (IEEE 802.11n),使PC端可以透過WiFi隨時得知控制系統的狀態,包含姿態、航向、轉向等,並且可遠端操控四軸飛行器的運動方向,如上升、下降、左旋、右旋。最後,我們四軸飛行器的電源使用的是20C鋰電池,即其具有20倍1C 放電速度鋰電池,才能提供系統及四顆BLDC於同時高速運轉下足夠的消耗電流。




關鍵詞:



Raspberry Pi,四軸飛行器,Complementary Filter,互補濾波器,BLDC,
,MPU6050,PCA9685,加速度計,佗羅儀,直流無刷馬達,PWM, ,PID,慣性感測器,IMU ,自動控制

物聯網應用之智慧溫室箱



植物對於外在環境主要因素包括:光、溫度、水,本專題實現一個“智慧溫室箱”,可用來記錄植物生長環境紀錄,以找出不同植物所需的最佳生長環境數據,例如光照長度及光強度、環境溫溼度及土壤水份等。

 本專題以Raspberry Pi為核心,並且連接各式數位及類比感測器,包含光感測器、空氣溫溼度感度器、土壤濕度感度器、水位高度感測器,以獲得溫室箱內各種植物生長環境參數,並且這些參數的變化將即時更新於溫室箱的LCD上。 本系統會依據不同植物的參數設定,維持其應有的生長環境狀態。為控制溫室箱內溫度與溼度,我們利用超音波霧化器當作細小水霧供應源,只要施以不同振幅,就能得到不同的造霧量,來達到溫室箱內環境的乾溼控制。此外,為了進一步更快速達到溫度響應和溫度穩定性,系統使用了一個熱電致冷晶片模組及並配合4個輔助風扇,來促使冷、熱空氣快速循環,進而提升溫室箱內的升溫與降溫的速度。植物生長需要適當的水份,因此若偵測到土壤溼度過低時,系統會啓動抽水馬達(Water Pump)進水份補充。至於植物生長的光環境控制,我們利用一個3W LED作為光照來源,並藉由控制PWM調節植物光照週期及照明補充。

 此外,本專題利用Facebook旗下的雲端程式開發平台Parse for IoT,來作為植物生長數據資料庫平台,系統會自動將這些植物生長環境數據定時上傳到parse,並且我們實作一個Web管理界面,使用者可使用PC或行動裝置透過瀏覽器進行遠端數據查看及環境各項參數設定。


關鍵詞:
 Parse for IoT、Raspberry Pi、超音波霧化器、熱電致冷晶片、溫溼度感度器、土壤濕度感度器、水位高度感測器 更多其他專題

更多其他..http://www.ittraining.com.tw/ittraining/index.php/activity?id=393



2015年6月3日 星期三

Raspberry Pi 擴充應用板2


這個Raspberry Pi 擴充應用板, 主要是解決Raspberry Pi 的幾個問題: 
  1. Raspberry Pi 沒有類比輸入的態力: 所以增加ADC 晶片以提個8 通道的AD 輸入, 以連接更多類比型式的Sensor; 另外
  2. Raspberry Pi 缺乏足夠多的硬體PWM的輸出能力 (一般MCU都很多組): 故本擴充板加入了16 通道PWM的能力, 可方便連接馬達作PWM控制, 例如伺服馬達Servo, DC 馬達及BLDC無刷馬達都會需要。
  3. GPIO 數量不足:  加入了2顆 Serial Shift Register,使本擴充板成為一個 I/O Expansion Board , 來達成擴充GPIO 數量的目的。 目前板子預設是接了2顆7段顯示器, 可供測試練習使用, 若拿掉它, 所有接腳便可拿來當GPIO使用。
  4. Debug Console: 不用再買Serial-TO-USB的轉接線材了, 本擴充板已內建PL2303晶片了, 直接拿一般接手機的USB線 (現在都是microUSB 接頭) 接本擴充板,另一端以接到電腦USB port, 直接用用windows 超級終端機就可以連入系統. (Pi預設: baudrate 19200bps , 8N1 , No Flow control)
  5. 本片板子還外接MSGEQ7 音頻分析器、Audio 3.5mm 連接器、再擴充LED Matrix 接頭 8x2連接器 (16pin),來做一些音頻的運用。




規格 

ADC channel x8
PWM channel x16
USB-to-Serial (PL2303)
8位元Serial Shift Registerx2
7段顯示器x2
SPI 擴充座x1
I2C排針座x2
Power LED (藍光LED)
Power 座 (5v, 3.3v, GND)
-------
延伸I/O:
MSGEQ7 音頻分析器
Audio 3.5mm 連接器
LED Matrix 接頭 8x2連接器 (16pin)