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

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

2016年5月24日 星期二

Taiwanduino



左:正式版 中:Beta版 右:正式版的電路板


總之這是一張台灣造型的Arduino

首先要提到的是,這張板子的目的
其實這張板子是在Openlab.Taipei 週三來碗Arduino的聚會時,提出的idea
當初的目的是讓大家都能焊接出一個台灣形狀的Arduino相容版,就這樣

基本上,這個目的就先限制住了零件的選擇,基本上只能選DIP的零件
這時候我第一個想到的其實是用Attiny85的版本,畢竟國內外N堆人都曾經做過同樣的東西
不過這時候Co-worker DC提到了想要加撥放器的功能,基本上就是PWM播放Wav檔案

這時候Attiny85的問題就是Pin腳太少,不拔下來沒辦法燒錄,這時候剛好想起來之前Adafruit做過的Trinkit pro用的就是Atmega328 + V-USB的bootloader,做到類似Attiny85 USB開發板那種,用GPIO模擬USB HID,然後以此作為上傳的通道,又為了存放Wav檔,所以另外加了SPI Flash,然後再把其中一個PWM pin拉出來,配合2N2222 + 電阻 + 喇叭,做完撥放器的部分,配合電容式觸控,就可以完成撥放器的功能了


於是最後就變成這樣了,電容觸控需要一堆1M歐姆,USB也需要幾個Zener+電阻,還有一個SPI Flash,最後的Layout其實真的很緊迫,畢竟還需要留個PAD給電容觸控,只有鵝鑾鼻+觸控點我確定是刻意挑位置放的,鵝鑾鼻其實是因為在Layout的時候剛好柯P在一日雙塔,然後就...那我也來多個LED當燈塔好了,不過北端沒地方放了,所以只放了一個鵝鑾鼻

包裝

零件大概就是這樣,不過我這次還想講軟體,首先就是這張板子有他的USB PID/VID,不只是把Trinkit pro 的 bootloader拿來用,pid.codes有免費的USB PID/VID可以申請

有趣的是那後面的故事,原本這個code是要向USB聯盟購買的,廠商會買到一個Vender ID,而他底下會有uint16_t 個 Product id可以用,買一個要5000美元,很明顯的有些廠商用不完,所以這家廠商就為了推廣OpenSource Hardware,所以讓OSHW的硬體也可以拿到一組PID
當然USB聯盟是禁止的,不過他已經發出去PID也收不回來了XD
順帶一提,這張板子的PID是0x5457 = 'TW'

東西大概都放這了https://github.com/will127534/Taiwanduino/
過陣子我再來補商品化的一些故事,or我自己的意見

2016年2月13日 星期六

MT2502 module breakout


MTK官網的Reference design直接改的,另外就是一定要從電池供電才會動...

2016年2月3日 星期三

6 digit IN-14 Nixie clock


這作品算是..無心插柳柳成蔭