2016年7月23日 星期六

High Altitude Ballooning with LoRa Third launch

這次把探空做的更小,面積縮小到3x5cm,零件的改變基本上差不多
Sensor移除了MPU9250,氣壓計換成MS5607(因為可以低到10hpa)
GPS模組不變,而電源供應的部分變得最多

這次可以用三種供電選項,以設定操作電壓3.3V為界:
>3.3V可以用LDO供電
<3.3也有個Step-up,讓這次的Node可以吃一個AAAA電池
最後還可以吃太陽能電池

如果用L92的話,總重量可以壓在25g

而接收站這次改變的最大,以前在發射的接收站都只是用Python做的離線版,只不過是Cmdline的GUI版本,所以其他人都需要走過來看數據,這其實不是很方便,所以這次改用Node.js做了一版網頁版本的Server,與搭配的前端.
我先講一下這次的整個架構:用圖說明比較快

第一次測試TDMA的時候,是為了測試不同設定下的距離,這是改成切換不同的頻道,
而且雖然第一次測試是失敗的,但是這次大家都裝了GPS,有了共同的timepulse,就可以做到用一對一變成一對多:
Node.js的部分主要分三個
  1. 直接記錄成CSV
  2. 推送網頁
  3. Socket即時傳控制與資料

而前端也是有四個模組組成
  1. 地圖
  2. 控制
  3. 每個通道的即時資料
  4. Chart

地圖是我從第一次放探空氣球就一直很想做出來的東西,以前用Python的時候不知道怎麼寫,但是用網頁就方便多了,利用leaflet+抓下來的Google map,就可以做成我要的離線版地圖
不過這次遇到的問題是,c3.js很吃資源,每秒推一筆SP3的風扇就開始轉,所以暫時先拿掉這功能

而為了野外架接收站的方便,我把整套系統搬到Linkit 7688,就把整個系統縮小到可以放在防水盒裡面,搭配降壓模組直接吃12V的電瓶.
另外雖然可以直接用Linkit 7688 Duo直接接上LoRa的模組,不過因為手上就已經有以前做好的接收站了,所以就直接用Serial port接上7688.絕對不是因為我懶喔O.<
第一版的探空,換個韌體就變接收機惹,一路用到現在
獨立運作還可以開AP讓大家連線的接收站,我愛7688
內部照我就不放了,因為真的是太慘烈,我怕正常人看到會崩潰

然後這次是在文化大學放的氣球
我也想要有個RTK GPS...
由於要多個Node,所以改用全向性天線


BUT,我還是有架另外一台用指向性天線作為Backup,不過這台小接收站是用Arduino Leonardo(Atmel Atmega32U4)做的,我之前手癢做一台專門接收用的板子.

不過需要接上電腦才能運作,所以把nodejs搬到筆電架整套Server.
我忘記帶繩子
然後最後就是發射了,這次發射與以往的不同,氣球改用鋁箔氣球

主要是實驗需要定高度,而且高度要低,所以用鋁箔氣球測試看看狀況如何
結果異常慘烈XD,用高度的時間圖一看便了

氣球上升到一半就漏氣然後就掉了,而且超快,最後收不到資料都是Lost LOS
第一個是如下圖只有一顆氣球,而且是灌滿的,拉力大概75克,第二個是如上圖的三顆沒充滿的氣球,拉力沒測...
LOS lost

由於不到一小時氣球就掉了,所以距離也就數十公里....
下次應該會再測試幾次吧