智慧型車上廣泛使用的祖傳方案為倍壓檢波,先由運放放大半波或抬公升後的訊號,然後由兩個肖特基剪掉負半周後用rc濾成直流給adc取樣。
將adc採集到的原始資料給微控制器計算出想要的資訊。
有卓大大的參考方案。
便宜?
一點也不便宜,不僅沒有省掉最貴的運放,還需要更強的算力。
卓老師給出的優點是無死區、真線性,而我選擇換成軟體的主要原因是干擾。
祖傳倍壓檢波會將完整訊號全部轉換成直流,當adc採集到的電壓公升高時你無法區分是因為干擾增加了還是離電磁線更近了。而軟體檢波將完整訊號讀入微控制器後只提取出有用的20khz分量,其他干擾一律丟掉。
卓老師在上述參考方案中給出的第二個公式是錯誤的!
雖然看不明白卓老師想怎麼寫,但我知道dft是醬嬸滴:
x k=
∑n=0
n−1x
ne−j
2πnn
kx_k = \sum_^x_n e^ k}
xk=n=
0∑n−
1xn
e−j
n2πn
k式中n為資料長度,k為要取的頻率(20khz)。例如,當取樣率200khz時,採集200個點(也就是20個週期),得到的dft頻域解析度為200k/200=1khz,也就是式中的k每加1代表頻率加1k;這樣一來,我們要取的20khz,就將20代入式中的k即可。
逐飛的1064核心板有15路adc、主頻600mhz、adc時鐘150mhz。
電磁ai需要至少7路adc,每一路adc取樣時間至少200ns,這樣1.4微秒即可取樣1組,而1個週期是50微秒,這樣每個週期35.7個點不方便計算而且太多餘。理想情況下定時5微秒轉換1組即可,這樣取樣環節淨占用cpu時間28%.
接下來是軟體檢波環節,上述公式的時間複雜度為o(n),但n較小而常數巨大,不好精確計算,只能估計。首先使用尤拉公式將復指數形式展開,然後對實部和虛部分別求和最後取模,大概每次需要五六次乘法和兩次加法吧?滿打滿算也就幾百納秒,乘上7路也不過1微秒嘛,還是小菜一碟。可以將這部分**放入tcm中執行,響應會更快。
fs = 200000;
x = importdata(
'1.txt');
x =(x - mean(x))';
l = 900;
n = 1 : l;
t =(n - 1) / fs;
k = 20000 / fs * l;
a = exp(-1i * 2 * pi * n / l * k)
;s = sum(x(1:l) .* a)
;uk = abs(s / l)
plot(t,x(1:l))
附資料 智慧型車比賽
noi2011 智慧型車比賽 program car const inf 1e49 type node record x,y longint end operator a node b node c node begin c.x a.x b.x c.y a.y b.y end operator a ...
智慧型車製作
如果我寫得好,請頂我一下,我將再接再厲 本人在很久以前做的一輛用來比賽的智慧型車 獲得華北一等獎,全國二等獎,有許多可改進地方.下面我們來立即開始我們的智慧型車之旅 首先,乙個系統中,感測器至關重要.不管你的cpu的速度如何的快,通訊機制如何的優越,系統的精度永遠無法超越感測器的精度 是的,在這個系...
智慧型車2018 10 24日
板子方面,節省空間最好!現階段開環除錯,編碼器什麼的都用不到。閉環是自適應,開環是給定的 開環控制就是沒有反饋系統的控制,比方你家使用的調光檯燈,旋鈕調節到 就是 感覺不對可以再次調節一下。閉環 閉環結構 也叫反饋控制系統,是將系統輸出量的測量值與所期望的給定值相比較,由此產生乙個偏差訊號,利用此偏...