TDCi正常的電瓶
放空檔拉手煞車,不踩煞車踏板
從Test mode看電瓶電壓
未發動時應該在12.5~12.6V
發動瞬間會掉到9.3~9.6V
發動後穩定狀態的電壓會在14.0~14.2V浮動
開始有點虛弱的電瓶
未發動Test mode 的電瓶電壓應該在12.1~12.3V
發動瞬間會掉到8.4~8.8V
發動後穩定狀態的電壓會在13.7~14.0V浮動
快要掛掉或已經不行的電瓶
未發動Test mode 的電瓶電壓應該在11.6~12.0V
發動瞬間會掉到7.5~8.3V
發動後穩定狀態的電壓會在13.7~14.0V浮動 (可能已經發不動了)
另外
其實原廠出廠電瓶Motocraft GR-40A是可以加水的
只是他故意做成很像免加水免保養電瓶
只要把上蓋撬開,就會看到6個加水孔,用10元硬幣把蓋子打開就好了
我的Focus TDCi 6MT電瓶這星期一也是掛了
好在我還有一顆備用電瓶頂著用
之後我把原廠電瓶拆下來,看看能不能死馬當活馬醫充充電(已經用了2年多6萬多公里了)
拆下來以後發現電解液已經乾到只剩一半了,沒電是正常的...
6個孔我總共補了大約300cc的純水進去
再用充電器把電充飽...
充飽靜置一天後的電壓還能在12.8V以上,看起來是有救回來
提供給各位參考...
AMAROM 銀合金汽車電瓶- 歐規 -58012-80AH-730.CCA(EN)
星期三, 12月 21, 2016
星期二, 12月 20, 2016
Intel® 無線 Bluetooth® 適用於軟體 Windows® 10 (JP)
Intel® 無線 Bluetooth® 適用於軟體 Windows® 10 (JP)
https://downloadcenter.intel.com/zh-tw/download/26363/Intel-Wireless-Bluetooth-Software-for-Windows-10-JP-
https://downloadcenter.intel.com/zh-tw/download/26363/Intel-Wireless-Bluetooth-Software-for-Windows-10-JP-
星期一, 11月 28, 2016
Press Release: The Nobel Prize in Physics 2016
科普版
+http://pansci.asia/archives/106857
-http://www.ifuun.com/a2016105413181/
Scientific Background
量子霍爾效
The Kosterlitz-Thouless phase transition
拓撲物理研究物質被拉伸、扭轉或發生形變而未斷裂時有哪些性質仍然保持不變。從拓撲學上來說,球體和碗可以被歸為同一類,因為一團球形的粘土可以被捏成一個碗。然而,麵包圈中間和咖啡杯把手處都有一個洞,它們屬於另一類型;它們也可以通過連續形變,變成對方的形狀。因此,拓撲物體可以包含一個洞,兩個洞,或者三四個洞……但這個數字必須是整數。因此,在發生量子霍爾效應時,電導率總是以整數倍發生變化,不難想像這可能與拓撲學有關。

http://pansci.asia/archives/106857
編結量子計算
量子位元的特殊性質,令科學家對量子計算興致勃勃。如果能再結合數學上拓撲的概念,或可創造出新的量子計算方式。
撰文/柯林斯(Graham P. Collins)
翻譯/高涌泉
http://www.cs.virginia.edu/~robins/Computing_with_Quantum_Knots.pdf
拓撲與扭結一個封閉迴圈(a)的拓撲不會因為扭曲成另一種形狀(b)而改變,但是會不同於帶有扭結的封閉迴圈(c)的拓撲。如果只是把迴圈扭來扭去,並不會造出扭結,我們必須切斷迴圈,綁個結,然後再把兩端接起來才能得到扭結(c)。由此可知,迴圈的拓撲不會受到微擾(如果只是扭來扭去)的影響。
資訊保存機率的可能性
當他維持最大面積時, 表示資訊量保存最多
888 0/24
12 12 0 12/24
1 22 1 42/24
星期一, 11月 14, 2016
調整系統分頁檔,刪除hiberfil.sys休眠設定,讓你的SSD多出20GB硬碟空間
http://www.techbang.com/posts/12827-unknown-system-cannot-be-deleted-through-the-system
sudo
powercfg –h off
星期四, 10月 20, 2016
For FFMPEG it will be 3.1.1 & NDK it will be r12b.(How to Build FFmpeg for Android)
ref:
http://stackoverflow.com/questions/36277628/android-how-to-configure-ffmpeg-latest-version-in-android-studio
For FFMPEG it will be 3.1.1 & NDK it will be r12b.
Building FFMPEG with NDK r12b:
Download Android NDK : The latest version of Android NDK can be downloaded at Android NDK website. At the time of writing this answer, the newest version is NDK r12. simply decompress the archive
Download ffmpeg source code : FFMPEG source code can be downloaded from the ffmpeg website. The latest stable release is 3.1.1 (at the time of writing). Download the source code and decompress it to $NDK/sources folder.
Update configure file : Open ffmpeg-3.1.1/configure file with a text editor, and locate the following lines.
SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)'
LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'
SLIB_INSTALL_NAME='$(SLIBNAME_WITH_VERSION)'
SLIB_INSTALL_LINKS='$(SLIBNAME_WITH_MAJOR) $(SLIBNAME)'
This cause ffmpeg shared libraries to be compiled to libavcodec.so. (e.g. libavcodec.so.55), which is not compatible with Android build system. Therefore we’ll need to replace the above lines with the following lines.
SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'
LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'
SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'
SLIB_INSTALL_LINKS='$(SLIBNAME)
Build ffmpeg : Copy the following text to a text editor and save it as build_android.sh in ffmpeg_3.1.1 folder.
#!/bin/bash
NDK=$HOME/Desktop/adt/android-ndk-r9
SYSROOT=$NDK/platforms/android-9/arch-arm/
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64
function build_one
{
./configure
--prefix=$PREFIX
--enable-shared
--disable-static
--disable-doc
--disable-ffmpeg
--disable-ffplay
--disable-ffprobe
--disable-ffserver
--disable-avdevice
--disable-doc
--disable-symver
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi-
--target-os=linux
--arch=arm
--enable-cross-compile
--sysroot=$SYSROOT
--extra-cflags="-Os -fpic $ADDI_CFLAGS"
--extra-ldflags="$ADDI_LDFLAGS"
$ADDITIONAL_CONFIGURE_FLAG
make clean
make
make install
}
CPU=arm
PREFIX=$(pwd)/android/$CPU
ADDI_CFLAGS="-marm"
build_one
Once the file is saved, go to the directory where this file lies & execute the command below,
sudo chmod +x build_android.sh
Then execute the script by the command,
./build_android.sh
Build Output : The build can take a while to finish depending on your computer speed. Once it’s done, you should be able to find a folder $NDK/sources/ffmpeg-3.1.1/android, which contains arm/lib and arm/include folders.
Make ffmpeg Libraries available for Your Projects
Steps above are fully tested and i performed them on my machine and the build was successful. For writing this answer i have took the reference from this article How to Build ffmpeg with NDK r9 but as it was for older version i have made some corrections on my own.
Open for asking any doubts.
http://stackoverflow.com/questions/36277628/android-how-to-configure-ffmpeg-latest-version-in-android-studio
For FFMPEG it will be 3.1.1 & NDK it will be r12b.
Building FFMPEG with NDK r12b:
Download Android NDK : The latest version of Android NDK can be downloaded at Android NDK website. At the time of writing this answer, the newest version is NDK r12. simply decompress the archive
Download ffmpeg source code : FFMPEG source code can be downloaded from the ffmpeg website. The latest stable release is 3.1.1 (at the time of writing). Download the source code and decompress it to $NDK/sources folder.
Update configure file : Open ffmpeg-3.1.1/configure file with a text editor, and locate the following lines.
SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)'
LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'
SLIB_INSTALL_NAME='$(SLIBNAME_WITH_VERSION)'
SLIB_INSTALL_LINKS='$(SLIBNAME_WITH_MAJOR) $(SLIBNAME)'
This cause ffmpeg shared libraries to be compiled to libavcodec.so. (e.g. libavcodec.so.55), which is not compatible with Android build system. Therefore we’ll need to replace the above lines with the following lines.
SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'
LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'
SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'
SLIB_INSTALL_LINKS='$(SLIBNAME)
Build ffmpeg : Copy the following text to a text editor and save it as build_android.sh in ffmpeg_3.1.1 folder.
#!/bin/bash
NDK=$HOME/Desktop/adt/android-ndk-r9
SYSROOT=$NDK/platforms/android-9/arch-arm/
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64
function build_one
{
./configure
--prefix=$PREFIX
--enable-shared
--disable-static
--disable-doc
--disable-ffmpeg
--disable-ffplay
--disable-ffprobe
--disable-ffserver
--disable-avdevice
--disable-doc
--disable-symver
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi-
--target-os=linux
--arch=arm
--enable-cross-compile
--sysroot=$SYSROOT
--extra-cflags="-Os -fpic $ADDI_CFLAGS"
--extra-ldflags="$ADDI_LDFLAGS"
$ADDITIONAL_CONFIGURE_FLAG
make clean
make
make install
}
CPU=arm
PREFIX=$(pwd)/android/$CPU
ADDI_CFLAGS="-marm"
build_one
Once the file is saved, go to the directory where this file lies & execute the command below,
sudo chmod +x build_android.sh
Then execute the script by the command,
./build_android.sh
Build Output : The build can take a while to finish depending on your computer speed. Once it’s done, you should be able to find a folder $NDK/sources/ffmpeg-3.1.1/android, which contains arm/lib and arm/include folders.
Make ffmpeg Libraries available for Your Projects
Steps above are fully tested and i performed them on my machine and the build was successful. For writing this answer i have took the reference from this article How to Build ffmpeg with NDK r9 but as it was for older version i have made some corrections on my own.
Open for asking any doubts.
星期四, 10月 06, 2016
星期三, 10月 05, 2016
MB
Shell Helix Ultra Profession AF-L 5W30 NTD240
Shell Helix Ultra Professional AF-L 5W-30:
Is designed to meet the demanding requirements of particular high-performance engines, including Ford, Jaguar and Mazda, and those requiring ACEA C1
Shell and Ford have local relationships in many countries, and Shell is a major supplier to Ford in India and the USA
Passes an extensive range of performance tests to meet engine oil specification WSSM2C934-B
Specifications: Ford WSS-M2C934-B; ACEA C1. Meets the requirements of Jaguar Land Rover STJLR.03.5005.
http://bevo.mercedes-benz.com/bevolisten/229.52_en.html
MB229.52
Fuchs TITAN GT1 PRO B-TEC SAE 5W-30 x Fuchs Petrolub AG, Mannheim/Deutschland
Fuchs TITAN GT1 PRO FLEX SAE 5W-30 x Fuchs Petrolub AG, Mannheim/Deutschland
Fuchs TITAN Supersyn 229.52 SAE 5W-30
Total Quartz INEO MC3 5W-30 x Total Lubrifiants, PARIS la Defense Cedex/FRANCE
Total Quartz INEO MDC 5W-30 x Total Lubrifiants, PARIS la Defense Cedex/FRANCE
Shell Helix Ultra ECT C2 C3 x Shell International Petroleum Company, LONDON/UNITED KINGDOM
Shell Helix Ultra Professional AB-L x Shell International Petroleum Company, LONDON/UNITED KINGDOM
Mobil 1 ESP 0W-30 x Exxon Mobil Corporation, FAIRFAX, Virginia/USA
Mobil 1 ESP Formula B 0W-30 x Exxon Mobil Corporation, FAIRFAX, Virginia/USA
Mobil 1 ESP X1 0W-30 x Exxon Mobil Corporation, FAIRFAX, Virginia/USA
Shell Helix Ultra Profession AF-L 5W30 NTD240
Shell Helix Ultra Professional AF-L 5W-30:
Is designed to meet the demanding requirements of particular high-performance engines, including Ford, Jaguar and Mazda, and those requiring ACEA C1
Shell and Ford have local relationships in many countries, and Shell is a major supplier to Ford in India and the USA
Passes an extensive range of performance tests to meet engine oil specification WSSM2C934-B
Specifications: Ford WSS-M2C934-B; ACEA C1. Meets the requirements of Jaguar Land Rover STJLR.03.5005.
http://bevo.mercedes-benz.com/bevolisten/229.52_en.html
MB229.52
Fuchs TITAN GT1 PRO B-TEC SAE 5W-30 x Fuchs Petrolub AG, Mannheim/Deutschland
Fuchs TITAN GT1 PRO FLEX SAE 5W-30 x Fuchs Petrolub AG, Mannheim/Deutschland
Fuchs TITAN Supersyn 229.52 SAE 5W-30
Total Quartz INEO MC3 5W-30 x Total Lubrifiants, PARIS la Defense Cedex/FRANCE
Total Quartz INEO MDC 5W-30 x Total Lubrifiants, PARIS la Defense Cedex/FRANCE
Shell Helix Ultra ECT C2 C3 x Shell International Petroleum Company, LONDON/UNITED KINGDOM
Shell Helix Ultra Professional AB-L x Shell International Petroleum Company, LONDON/UNITED KINGDOM
Mobil 1 ESP 0W-30 x Exxon Mobil Corporation, FAIRFAX, Virginia/USA
Mobil 1 ESP Formula B 0W-30 x Exxon Mobil Corporation, FAIRFAX, Virginia/USA
Mobil 1 ESP X1 0W-30 x Exxon Mobil Corporation, FAIRFAX, Virginia/USA
星期一, 9月 26, 2016
鐵氟龍(TEFLON)、P.T.F.E
http://www.baking104.com.tw/V2/articles/1174574459.php
5
毛毛蟲手指餅乾,三種材料真簡單!小烤箱和電鍋都能完成哦!
http://www.chimei.com.tw/Upload/ArticleModule/Attachments/2016-01/201601051059347500001.pdf
5
毛毛蟲手指餅乾,三種材料真簡單!小烤箱和電鍋都能完成哦!
http://www.chimei.com.tw/Upload/ArticleModule/Attachments/2016-01/201601051059347500001.pdf
星期二, 8月 09, 2016
星期三, 8月 03, 2016
與海拔高度
CJMCU-10DOF MPU9250 + BMP280 加速度 陀螺仪 9轴姿态传感器模块
https://world.taobao.com/item/523261623694.htm?fromSite=main&spm=a312a.7700824.w4002-2963708284.31.vPPGem
37RMB
CJMCU-3080 ADNS-3080 光流傳感器 APM2.52 APM2.6 檢測水平移動
https://world.taobao.com/item/37911482900.htm?fromSite=main&spm=a312a.7700824.w4002-2963708284.47.LsG489
85RMB
如何使用 Borch BMP180 數位氣壓感測器模組計算溫度、大氣壓力與海拔高度 ?
http://ruten-proteus.blogspot.tw/2014/06/how-to-use-borch-bmp180-to-caculate-TPA.html
ㄆㄜ ㄊㄧㄡ ㄙˋ
http://ruten-proteus.blogspot.tw/
2493689302 圓通
Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
if(msg.what == 1) {
tv.setText("update UI is success!");
btn.setText("update UI is success!");
}
super.handleMessage(msg);
}
};
分三段, 每一個分五六個步驟
1. ISDM
2. flashlight
3. 整合
星期一, 5月 09, 2016
ffmpeg Android source souce w/ studio
先看這個
http://appfiiser.gounboxing.com/posts/information/FFmpeg%204%20Android/27070
他的 open source code 含 android import 流程
http://androidwarzone.blogspot.tw/2011/12/ffmpeg4android.html
http://appfiiser.gounboxing.com/posts/information/FFmpeg%204%20Android/27070
他的 open source code 含 android import 流程
http://androidwarzone.blogspot.tw/2011/12/ffmpeg4android.html
星期五, 4月 01, 2016
config led wlan_led
https://lists.openwrt.org/pipermail/openwrt-users/2015-March/003538.html
nesday, February 18, 2015 11:13:01 PM MSK, Farid Farid wrote: > Hi Everyone, > I have a question about LED pattern for WIFI. I am using > Openwrt Barrier Breaker - kernel 3-10-xx > Is there anyway to tie a GPIO' Led to hostapd or wpa_supplicant > in order to have proper LED pattern for WIFI?Do these utility > drive any GPIO ? > I am using hostapd-20130807 > And another question : > I know there is LED support in Kernel ( kmod-leds) . In my > system I do have all LEDs defined in /sys/class/gpio/gpioxx/ > How can I map kernel LED driver on my LED lines? For my router I've put this into /etc/config/system: config led wlan_led option name 'WLAN' option sysfs 'bcm47xx:blue:wlan' option trigger 'netdev' option dev 'wlan0' option mode 'link tx rx' You should replace with your LED's name from /sys.
星期三, 3月 30, 2016
LED
https://dev.openwrt.org/browser/trunk/target/linux/generic-2.6/files-2.6.31/drivers/leds/ledtrig-netdev.c?rev=18925
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26) | |
33 | #include |
---|---|
34 | #endif |
35 | |
36 | #include "leds.h" |
37 | |
38 | /* |
39 | * Configurable sysfs attributes: |
40 | * |
41 | * device_name - network device name to monitor |
42 | * |
43 | * interval - duration of LED blink, in milliseconds |
44 | * |
45 | * mode - either "none" (LED is off) or a space separated list of one or more of: |
46 | * link: LED's normal state reflects whether the link is up (has carrier) or not |
47 | * tx: LED blinks on transmitted data |
48 | * rx: LED blinks on receive data |
49 | * |
50 | * Some suggestions: |
51 | * |
52 | * Simple link status LED: |
53 | * $ echo netdev >someled/trigger |
54 | * $ echo eth0 >someled/device_name |
55 | * $ echo link >someled/mode |
56 | * |
57 | * Ethernet-style link/activity LED: |
58 | * $ echo netdev >someled/trigger |
59 | * $ echo eth0 >someled/device_name |
60 | * $ echo "link tx rx" >someled/mode |
61 | * |
62 | * Modem-style tx/rx LEDs: |
63 | * $ echo netdev >led1/trigger |
64 | * $ echo ppp0 >led1/device_name |
65 | * $ echo tx >led1/mode |
66 | * $ echo netdev >led2/trigger |
67 | * $ echo ppp0 >led2/device_name |
68 | * $ echo rx >led2/mode |
星期三, 1月 27, 2016
六軸感測器
新通訊元件雜誌
Communication Components Magazine
http://www.2cm.com.tw/coverstory_content.asp?sn=1412220029
Communication Components Magazine
http://www.2cm.com.tw/coverstory_content.asp?sn=1412220029
與六軸感測器數據融合 軟體陀螺儀戰勝製造成本問題 | ||||||||
新通訊 2015 年 1 月號 167 期《 封面故事 》 | ||||||||
文.張瑞航 | ||||||||
消費性電子功能設計日益複雜、多元,導致感測器內建數量需求大增,因而也衍生出功耗、晶片體積及製造成本等課題。感測器製造商藉由軟體陀螺儀與六軸感測器進行融合運算,已可模擬實體九軸感測器提供的角速度變化等資料,以協助系統廠達到降低硬體成本和縮小晶片體積的效益,進而打造出低價產品。 | ||||||||
隨著電子設備持續朝向智慧化發展,微電機系統(MEMS)感測器已在產業占有非常重要的位置,並且為消費者在各種形式的應用上提供更好的功能,例如螢幕旋轉、手勢識別、遊戲、計步、個人導航,以及自由落體偵測等。在各項功能中,航向訊息是個人導航服務訊息中不可或缺的重要組成部分,主要由電子羅盤和陀螺儀(Gyroscope)提供。移動設備多具有動態性,當移動設備任意翻轉時,如何降低和減少外界干擾,並在動態環境下提高姿態角的精度是工程應用中必須解決的。 因此,各種複合感測器(Combo Sensor)便應運而生,如六軸慣性測量元件(三軸加速度感測器與三軸地磁感應器或是MEMS陀螺儀以打線方式置於單一封裝內)與九軸慣性測量元件(三軸加速度感測器、三軸地磁感應器及三軸微機械陀螺儀的單一封裝產品)等。 由於MEMS陀螺儀具有溫度漂移特性,而加速度計會受到移動設備任意翻轉過程中移動與震動的影響,同時磁力感測器容易受到外部磁場干擾,如何融合複合感測器中多項感測器的數據,濾除外部干擾,得到高可靠性、高精度的資料,是一項非常具有挑戰性的工作。 單一封裝整合性產品除提高導航精確度外,更能減少整體的機板空間與成本,使消費性電子產品更加輕薄短小,因此受到市場的廣大歡迎與使用,同時製造商持續在更多數目及類型的產品當中加入複合式MEMS感測器,未來其需求量將急速成長。 雖然複合感測器能提高導航精確度,但感測器數量一多,其功耗、晶片體積與產品製造成本也會相對提高。因此新的感測器應用方向--三軸軟體陀螺儀便受到元件製造商的矚目,藉由磁力感測器測量三軸地磁隨移動設備的變化,通過演算法模擬出陀螺儀的角運動結果,進而推算出三維的航向訊息。 此一技術將可提供更加彈性的感測器設計方案,並可省下硬體成本及晶片體積,可望成為未來感測器的應用趨勢。 借力科里奧利力原理 MEMS陀螺儀體積小/成本低 MEMS陀螺儀又稱角速度感測器,能感測圍繞某個軸發生的旋轉角速度,以度/秒為單位,角速度測量能夠間接測量出角位移。傳統的陀螺儀主要是利用角動量守恆原理,因此它是一個不停轉動的物體,其旋轉軸指向不隨承載它的支架旋轉而變化。
微機械陀螺儀的設計和工作原理均依賴於由相互正交的振動和轉動引起的交變科里奧利力傳感角速度的概念。振動物體被柔軟的彈性結構懸掛在基底之上,整體動力學系統是二維彈性阻尼系統,利用振動來誘導和探測科里奧利力而設計的微機械陀螺儀沒有旋轉部件、不需要軸承,已被證實可以用微機械加工技術量產。 微機械陀螺儀精度相對傳統陀螺儀精度較低,但成本低、體積小、重量輕、功耗低、功效高且抗衝擊性強,但仍有著陀螺儀零點漂移產生虛假的輸出、角隨機遊走等問題。 製作成本更低 磁力感測器取代MEMS陀螺儀 軟體陀螺儀即是透過磁力感測器的讀值,利用軟體演算法,計算出類似於MEMS陀螺儀測量到的載體角速度以及姿態角(Roll, Yaw, and Pitch)。MEMS陀螺儀雖然短時間的量測精確,卻具有零點溫度漂移和離散採樣累積誤差的缺點,並且製作成本相對磁力感測器來得高。 磁力感測器不僅是非機械式的構造,更具有測量範圍寬、高穩定性、無零點溫度漂移、功耗低、成本低、抗干擾及體積小等優點。所以只要磁力感測校正與抗磁性做得夠好,就能以三軸磁力感測器取代MEMS陀螺儀,透過演算法精確計算出載體運動的三軸角速度與載體姿態變化,大幅降低硬體成本。 不過,要以最低成本達成九軸動作感測器(三軸磁場+三軸加速度+三軸角速度)的主要關鍵,在於軟體陀螺儀的研發,因為磁力感測器的硬體成本比微機械陀螺儀來得低,再者,利用軟體陀螺儀完成的虛擬九軸感測器因為沒有實體陀螺儀,晶片體積更小,耗能低,並且也沒有MEMS陀螺儀零點漂移對姿態測量影響的問題。 磁力感測器敏感度關乎角速度值 九軸動作感測器只須要考慮到加速度計受線性運動加速度干擾的問題。這個問題將可以通過對三軸虛擬陀螺儀、三軸磁力感測器和三軸加速度計組成的姿態測量系統進行數據融合,以減小載體振動或受外力而造成的姿態測量誤差。因為軟體陀螺儀主要利用磁力感測器所偵測出的磁場變化量,經過運算之後獲得角速度的值,所以磁力感測器的偵測敏感度就相對來得重要。 敏感度較佳的磁力感測器可以在每個時刻測量出精確的磁場大小及方向,因此在每一個姿態更新週期間,將可得到前後兩個不同時刻下的磁場向量輸出H1和H2與磁場向量增量ΔH,如圖2。
.....................公式1 如此一來,便可透過磁場向量的變化量計算出類比於陀螺儀的角速度,此稱之為軟體陀螺儀。 圖3展示了微機械陀螺儀與軟體陀螺儀角速度的輸出結果,橫軸為時間輸出,縱軸分別為三軸的角速度。A曲線代表ωx,對應的是滾轉角(Roll)的角速度;B曲線代表ωy,對應的是傾斜角(Pitch)的角速度;C曲線代表ωz,對應的是航向角(Yaw)的角速度。可以觀察出,軟體陀螺儀對角速度的模擬結果與MEMS陀螺儀的變化頻率吻合,振幅大小略有誤差。 一般陀螺儀除了輸出三軸的角速度之外,最重要的是要能進行姿態角的解算,因此在軟體陀螺儀的演算法之中,要另外加入透過角速度來進行姿態角更新的計算法。 一般在陀螺儀的姿態角解算法中,常用的方法有尤拉角算法、方向餘弦法、四元數法和旋轉向量法。尤拉角算法是通過尤拉微分方程直接計算求解,尤拉微分方程簡單明瞭,解算無須做正交化處理,但方程中含有三角運算,要給出實時(Real Time)計算帶來一定困難度,而且當傾斜角接近90度時方程會出現退化現象。
旋轉向量法可以採用多子樣法對不可交換誤差做有效補償,算法關係簡單,易於操作並且對係數的最佳化使算法漂移在相同子樣中達到最小,特別適合有嚴重角振動的載體姿態更新。 更進一步來說,假設有一個移動設備的坐標系和絕對坐標系(即地球,不考慮地球自轉的效應)。設備坐標系和絕對坐標系間並不是重合的,因此它們之間會有一個轉換矩陣將地球坐標系的向量轉換到設備坐標系。 空間中的磁場向量和重力加速度向量在絕對坐標系中是不變的(假設移動設備沒有過大的距離移動),但是若移動設備有轉動,則在設備坐標系中所感測到的磁場向量和重力加速度向量的方向就會有所變化,這個變化可以得知移動設備相對地球動了多少角度,也就是所求的Roll,Yaw,和Pitch角。 這個變化的資訊就會包含在轉換矩陣當中,所以只要設備開始轉動,這個轉換矩陣就會隨時間有所變化,這類似物理學中的剛體轉動,從這一基本思路出發,可以得到各種如上所述的計算矩陣更新的方法。 不管是哪一種算法,都必須先獲取載體的初始姿態,初始姿態的取得可透過全球衛星定位系統(GPS)定位並取得當地磁場資訊,再加入磁力感測器對地球磁場的測量數據,來計算出初始姿態。 抑或利用加速度計在靜止情況下的三軸加速度輸出讀值計算得到初始Pitch角與Roll角,再進一步通過磁力感測器量測到的三軸磁場強度求得初始Yaw角。有了初始姿態角以及軟體陀螺儀算出的三軸角速度,下一步就是要對姿態進行時刻更新。 以四元數法為例,就是要對四元數(Quaternion)進行更新。因為四元數等價於描述三維空間中剛體的轉動,其中包含了轉換矩陣的所有資訊,所以要求得不同時刻下的轉換矩陣,就相當於求解不同時刻下的四元數。 四元數與尤拉角都是常用的表示姿態的方式,四元數由於可以避免尤拉角的奇異問題而應用的更加廣泛。要利用四元數解算姿態就要先將初始姿態角轉換成四元數(q0, q1, q1, q3),如公式2。 .......................公式2 其中C代表三角函數cos,S代表三角函數sin;γ、θ和φ分別代表Yaw、Pitch和Roll的角度。要求解不同時刻下的四元數,就必須知到四元數的更新方法。四元數的更新公式可以簡化寫成矩陣式q(tk)=T(ωx, ωy, ωz; Δt)·q(tk-1)。 T就是時間轉移陣,能將前一時刻的四元數q(tk-1)演化成後一時刻的四元數q(tk),其中Δt代表更新週期,ωx、ωy和ωz代表軟體陀螺儀模擬計算出的三軸角速度。 得到更新四元數後,便可再利用逆轉換將四元數轉換回尤拉姿態角。如此一來,就能由軟體陀螺儀解算出每個時刻的姿態角了。圖4展示微機械陀螺儀與軟體陀螺儀姿態角的計算結果比較,橫軸為時間輸出,縱軸分別為姿態角的三個角度Roll、Pitch和Yaw角。
九軸複合感測器消除陀螺儀漂移問題 傳統的九軸融合感測器是使用三軸MEMS陀螺儀、三軸加速度計和三軸磁力感測器組成的姿態量測系統,通過使用濾波器進行數據融合,以減小載體劇烈晃動和陀螺儀漂移對姿態測量的影響。 說得更清楚一點,其中的磁力感測器與加速度計的感測器融合雖然也能得到隨時間變化的姿態角,但加速度計只有在靜止或緩慢運動時可以精確的測量Pitch角與Roll角,在動態情況下容易受到線性加速度(例如載體的振動或外力造成的加速度)的干擾,造成演算法對姿態角計算值的誤差,而微機械陀螺儀的漂移姿態誤差也是必須考慮進去的因素。 因此,若以軟體陀螺儀取代微機械陀螺儀,將軟體陀螺儀與六軸融合感測器輸出的姿態角變化進行數據融合以形成虛擬的九軸複合感測器,不僅能減小載體劇烈振動對姿態測量的影響,更不存在陀螺儀漂移的影響。 數據融合的原則是當線性加速度過大時,採用軟體陀螺儀計算出的姿態角;當線性加速度接近零時,則採用六軸融合感測器的計算結果,並以軟體陀螺儀輔以矯正。九軸複合感測器的融合補償可採用互補濾波器或卡曼濾波器等資訊融合方式。 虛擬九軸感測器,相對於傳統的九軸融合感測器,將可望得到更精確姿態測量結果,更能大幅降低硬體的成本與體積。 在虛擬九軸的感測器中,以互補濾波器為例,對於有外力加速度的情況,可計算三軸加速度的合成量,並計算與重力加速度的比值,當比值處於規定區間內時,認為由六軸感測器融合計算的姿態角是可靠的,可用濾波器進行矯正;當線性加速度過大時,由六軸融合感測器計算的姿態角是不可靠的,則取消矯正,僅由軟體陀螺儀計算的角速度進行姿態角更新。 軟體陀螺儀的解決方案能提供系統廠更低的產品價格和設計多樣性,降低的硬體成本和縮小的晶片體積,並仍擁有與MEMS陀螺儀相仿的功能特性,可望吸引3C電子產品製造商的青睞。 (本文作者任職於愛盛科技) |
星期一, 1月 25, 2016
微分在求什麼?
1.微分在求什麼?
微分式子:df(x) /dx 觀察得之微分是在求某件事的微小變化量,
2.微分應用
小求極質(最大、最多、最小、最貴。。。等),大則用於生活中的通訊產品(最貼切的手機)
3.一般而言
距離對時間作微分--->速度
速度對時間作微分--->加速度
能量對時間微分--->功率
電量對時間微分--->電流
以上都是針對變化量極小的時候x->0
4.此式子用於微分,基本上看到lim就是和微分有關
https://tw.answers.yahoo.com/question/index?qid=20101109000015KK05098
微分式子:df(x) /dx 觀察得之微分是在求某件事的微小變化量,
2.微分應用
小求極質(最大、最多、最小、最貴。。。等),大則用於生活中的通訊產品(最貼切的手機)
3.一般而言
距離對時間作微分--->速度
速度對時間作微分--->加速度
能量對時間微分--->功率
電量對時間微分--->電流
以上都是針對變化量極小的時候x->0
4.此式子用於微分,基本上看到lim就是和微分有關
https://tw.answers.yahoo.com/question/index?qid=20101109000015KK05098
星期一, 1月 18, 2016
軟筋
軟筋體質 指的是先天性韌帶鬆弛
軟筋體質(良性關節過鬆症候群 )
http://shwen1225.pixnet.net/blog/post/356428895-5y9m%E3%80%90%E5%A4%A7%E7%8F%AD%E3%80%91%E8%A5%BF%E7%93%9C%E5%A6%B9%E7%9A%84%E8%BB%9Fq%E9%AB%94%E8%B3%AA
一般所謂的軟筋體質, 其實有個醫學上的正式名稱: 良性關節過鬆症候群 (Benign Joint Hypermobility Syndrome, BJHS),
軟筋體質(良性關節過鬆症候群 )
http://shwen1225.pixnet.net/blog/post/356428895-5y9m%E3%80%90%E5%A4%A7%E7%8F%AD%E3%80%91%E8%A5%BF%E7%93%9C%E5%A6%B9%E7%9A%84%E8%BB%9Fq%E9%AB%94%E8%B3%AA
一般所謂的軟筋體質, 其實有個醫學上的正式名稱: 良性關節過鬆症候群 (Benign Joint Hypermobility Syndrome, BJHS),
星期五, 1月 08, 2016
Keyword: Fibonacci Heap verilog
[DOC] Development and Synchronous FPGA Implementation of a Parallel Accelerated Propagation-Delay Algorithm for Shortest-Path Problem
Keyword: Fibonacci heap) [4], [5].
[4] K. Madduri, D.A. Bader, J.W. Berry, and J.R. Crobak, ``Parallel
Shortest Path Algorithms for Solving Large-Scale Instances,” 9th DIMACS Implementation Challenge -- The
Shortest Path Problem, DIMACS Center, Rutgers University, Piscataway, NJ,
Nov. 13-14, 2006.
[5] C. Demetrescu, A. V. Goldberg, and D. S. Johnson. (2006 Oct. 29).
9th DIMACS Implementation Challenge: Core Problem Families. Available:
http://www.dis.uniroma1.it/~challenge9/download.shtml
訂閱:
文章 (Atom)