2012年10月23日 星期二

Android bootloader



最近跟對岸買了一塊叫做羅密歐(Romeo)的板子,不少功能匯集在一塊板子上面,之後再來跟大家推薦,現在問題不知道是不是因為在Arduino IDE選錯板子類型,導致上傳程式的時候把板子弄掛了,只要一上傳程式就會當掉移除電源、USB線、Reset,可以試的都試了,它就是無法回復,只好使出終極必殺技「Firware 重燒」,以前從來就沒有使用過這種功能,現在感到有些緊張,做完後才知道原來這麼簡單。

以下是原廠作業說明:


To use your Arduino board to burn a bootloader onto an AVR, you need to follow a few simple steps.
  1. Open the ArduinoISP firmware (in Examples) to your Arduino board.
  2. Note for Arduino 1.0: you need to make one small change to the ArduinoISP code. Find the line in the heartbeat() function that says "delay(40);" and change it to "delay(20);".
  3. Select the items in the Tools > Board and Serial Port menus that correspond to the board you are using as the programmer (not the board being programmed).
  4. Upload the ArduinoISP sketch.
  5. Wire your Arduino board to the target as shown in the diagram below. (Note for the Arduino Uno: you'll need to add a 10 uF capacitor between reset and ground.)
  6. Select the item in the Tools > Board menu that corresponds to the board on which you want to burn the bootloader (not the board that you're using as the programmer). See the board descriptions on the environment page for details.
  7. Use the Burn Bootloader > Arduino as ISP command.

中文說明
  1. 在 Examples 中開啟 ArduinoISP firmware 。
  2. 如果你是 Arduino 1.0 的朋友請注意:這邊要對 ArduinoISP 的程式碼做一個小小的修改。找出 heartbeat() 的函數將 "delay(40);" 改成 "delay(20);"。
  3. 然後就去選擇板子類型及序列埠(Tools > Board & Serial Port),這邊是要選擇準備要做燒錄工作的那張,不是選擇被燒錄的那張。
  4. 上傳 ArduinoISP 程式到板子上。
  5. 將你要燒錄的板子依照上面的方式連接 (如果你準備要燒 Arduino Uno:你要在reset 和 ground 間加上一個電容)。
  6. 這邊就要選擇你準備要被燒錄的板子類型( Tools > Board) 就是要被 bootloader 的板子。
  7. 最後就選擇 Burn Bootloader > Arduino as ISP ,就可以等待它燒錄完成。
簡單的7個步驟就完成了,是不是很容易,我覺得主要會有問題的地方應該是不知道板子的類型,如果是 Arduino 官方的板子比較容易看得出來,可是像我這次所做用的變種板(Nano 328)就不見得可以很容易的一眼看出,如果燒錯 Firware 當然也是會出現其他問題。

2012年8月16日 星期四

Sonar Protector 聲納保護器

不知道大家在摔機的時候有沒有碰過把 sonar也摔到一整個快掛掉了,因為它的位置不像主板在中間的載板位置都會有防護罩保護,通常sonar 都在遠離電子設備的地方而且下方一定是空的,相對的在保護一定會較差,我想大家一定知道 EZ0-XL 並不便宜如果掛了心都會淌血,最近我就發現我的 Sonar PCB 已經出現裂痕,如果再不保護應該會在下一次的不當降落應該就會應聲斷裂,所以才積極的請朋友幫我銑了一個 Sonar Protector,大家可以看到下圖就是用塑鋼將sonar包起來然後再鎖到橫桿上,這樣最壞的狀況只有可能會進土,而不會造成太嚴重的傷害,經過地面測試也不會影響功能的運作,有興趣的朋友下列的圖給大家一個參考。


2012年8月7日 星期二

APM Power Protection




在最新的ArduPlane WIKI中發表了一份我發現很久的問題,甚至覺得是不是因為這個原因將我的XBEE搞壞的罪魁禍手,之前不知哪來的大電流衝破板上的二極體導致整塊板子無法供電,我當時也是自己用電錶找出被衝破的那顆二極體,然後找一顆較大功率的二極體並上去,代替原來的那顆SMD 二極體,如果原廠早點發現這個問題提出這份修正也許就不會造成這個問題,所以各位有空就把它接上去吧,不然到時我衝壞什麼再來後悔就來不及了。

這次官方的說明主要有兩個地方:

一、在電力來源處增加一顆二極體防止逆向電流

二、在ESC供電的地方多使用了一顆500mA Fuse,防止大電流衝壞板子,算是一個雙重保障。

2012年7月25日 星期三

[News]ArduCopter 2.7 Released!


今天剛發表的 ArduCopter 2.7 ,這次多了相機雲台的3維控制中文WIKI也已經同步更新,此項功能本人也還沒有機會驗證,因為我沒有這個東西Orz,現在最新版本的MP也已經開始支援據說是最強大的3DR uBlox GPS,阿肚沒錢可以嚐試這種玩意,我用MTK就已經很滿足了,只是看到影片中那種準確性真的是會嚇一跳,這次MP的改版似乎也很大,誰叫 ArduCopte 的功能愈來愈多,想到就好想出去飛一下,只是最近風會不會太大了一點,原文請見ArduCopter 2.7 Released!

2012年6月26日 星期二

四軸飛行器飛行運動說明


今天又找到了一篇寫得很祥細的四軸飛行動作的說明,也解答了我的一些疑惑,也希望這篇文章也對各位有所幫助。

註:這篇是對岸所寫的說明,為尊重作者我僅做了轉繁體的動作,但我覺得本篇文章和我們的用語沒有太大的差別,所以內容我沒做任何的修改。

======================================================================

四旋翼飛行器的結構形式和工作原理
1.結構形式
直升機在巧妙使用總距控制和週期變距控制之前,四旋翼結構被認為是一種最簡單和最直觀的穩定控制形式。但由於這種形式必須同時協調控制四個旋翼的狀態參數,這對駕駛員認為操縱來說是一件非常困難的事,所以該方案始終沒有真正在大型直升機設計中被採用。這裡四旋翼飛行器重新考慮採用這種結構形式,主要是因為總距控制和週期變距控制雖然設計精巧,控制靈活,但其複雜的機械結構卻使它無法再小型四旋翼飛行器設計中應用。另外,四旋翼飛行器的旋翼效率相對很低,從單個旋翼上增加拉力的空間是非常有限的,所以採用多旋翼結構形式無疑是一種提高四旋翼飛行器負載能力的最有效手段之一。至於四旋翼結構存在控制量較多的問題,則有望通過設計自動飛行控制系統來解決。四旋翼飛行器採用四個旋翼作為飛行的直接動力源,旋翼對稱分佈在機體的前後、左右四個方向,四個旋翼處於同一高度平面,且四個旋翼的結構和半徑都相同,旋翼1和旋翼3逆時針旋轉,旋翼2和旋翼4順時針旋轉,四個電機對稱的安裝在飛行器的支架端,支架中間空間安放飛行控制計算機和外部設備。四旋翼飛行器的結構形式如圖1.1所示。
圖1.1 四旋翼飛行器的結構形式

2012年6月21日 星期四

ArduCopter 2.6 & ArduPlane 2.40 release

這個月DIY Drones發表了ArduCopter 2.6 &  ArduPlane 2.40,當然除了修復一些Bug,還有就是開始支援 MAVLink 1.0,所以算是重大的更新,比較需要注意的是,如果使用了最新版本的fw,因為是走 MAVLink 1.0的協定所以你的Mission Planner也需要一起升級成最新的版本。

更新項目:
- 自動設定UBlox GPS模組
- 更新相機雲台的控制
- 加快記憶卡抹除的速度
- RTL的目標設為家的位置,用來做為自動降落的位置

ArduCopter 2.6的更新項目較多有興趣的人可以參考。