請教pwm的編程思路
PWM的原理很簡單,家里的開關可以控制電燈亮滅吧,假設你在一秒內,打開開關0.5秒,然后關閉0.5秒,再打開0.5秒,再關閉0.5秒——那么你將看到電燈一閃一閃是不?假如你的速度再快點,在1毫秒內,0.5毫秒開,0.5毫秒滅,那么,根據視覺暫停原理,你將看不到燈的閃爍,而是看到燈的亮度暗了一半。再設想,如果是0.1毫秒開,0.9毫秒滅,那么燈的亮度就只有1/10了。這就是PWM控制的最基本原理,也是最容易理解的。開關的時間比值叫”占空比“,英文 duty cycle。
對于控制速度嘛,原理一樣,假如在1秒內,0.5秒開,那么電機就加速0.5秒,0.5秒滅,電機就減速0.5秒,這樣的電機看起來是“跳”著走的,就如看到燈光閃爍一樣。但是如果開關的頻率的足夠大,這種跳動就感覺不出來了,根據開的時間和關的時間的不同,電機就表現出不同的轉速了。當然,這種電路的分析比電燈的稍微復雜點,因為電機有電感作用,開關時,電流的增加和減少不如電燈那么快,所以實際的電流可能已經不是表現出方波的形狀,而是方波經過電感的“濾波”后的形狀,可能已經有直流電的效果了。說到這里,附帶說一下,PWM經過低通濾波后變成直流電,假設方波的電壓是5V,占空比50%,那么濾波得到的直流電就是2.5V,你也可以用濾波后的直流電去驅動直流電機,效果一樣。
很多單片機都集成有PWM模塊,因為PWM的頻率至少要10K以上,在電機領域,個人覺得至少要20K以上,頻率太低會因為線圈的電感作用產生人耳可聽得到的噪音。這樣么高的頻率,如果控制單片機的端口電平來實現,那么會占用很多單片機資源,所以很多單片機集成了PWM,編程時只需計算好對應的占空比的值就可以了。
單片機本身是不能直接控制電機的,電流太低,所以又需要驅動芯片,這個上某寶一搜,很多做好的模塊可以買來直接用。如果控制的是直流電機,那么很簡單,只需控制占空比的值,轉速就不同了,如果是控制步進電機……嗯,如果有必要控制步進電機的話再說吧。
"幾種地震子波的合成記錄制作"解決思路是什么?
(1)用理論公式產生或在井旁地震道抽取的零相位子波制作合成記錄,先用時間掃描法確
定合成記錄與井旁地震道達到最大相關位置,其相關系數為〖WTBX〗γ?0。這樣,先消除
時間上的整體漂移。此時,如果其相關程度不是很高,認為是受子波相位的影響,就對子波
相位進行調整。?
(2)從子波的頻譜公式〖WTBX〗B(f?m)=A(f?m)〖WTBZ〗e??〖WTBZ〗i〖WTBX〗Φ(f?
m)?可知,其中振幅譜A(f?m)由上面零相位子波的振幅譜來確定,而相位譜Φ(f?m)則通
過相位掃描來確定。因此在第一步確定的基礎上,假定子波相位為常數,給定相位掃描步長
為〖WTBZ〗Δ〖WTBX〗Φ,讓Φ(f?m)分別取±〖WTBZ〗Δ〖WTBX〗Φ,?±2〖WTBZ〗Δ
〖WTBX〗Φ?,…,±N〖WTBZ〗Δ〖WTBX〗Φ,其中N≤〖SX(〗〖WTBZ〗π〖〗〖WTBZ〗
Δ〖WTBX〗Φ〖SX)〗。Φ(f?m)每變化一個步長,由傅氏反變換計算出相對應的子波,再
用子波制作合成記錄與井旁地震道做相關分析,求取其相關系數(注意:由于子波相位的變
化也會對所制作的合成記錄造成時移,因此在求取其相關系數時,應先對每一子波所制作的
合成記錄,做局部時間掃描。只有時移校正后所求出的相關系數才是準確的)。〖JP1〗這
樣,可得到一系列由不同相位子波所制作的合成記錄與井旁地震道的相關系數γ?n,n=±1
,±2,…,±N。〖JP〗?
(3)通過比較所求出的這一系列相關系數γ?n(n=±1,±2,…,±N)的大小,從中求出
最大相關系數γ??〖WTBX〗n〖WTBZ〗max?。若〖WTBX〗γ??〖WTBX〗n〖WTBZ〗max?
>〖WTBX〗γ?0,則γ??〖WTBX〗n〖WTBZ〗max?所對應的相位就是所求的最合適的子
波的相位,同時也求得其對應的合成記錄與井旁地震道達到最大相關時所對應的位置,也就
是精確的標定位置;否則,則認為最合適的子波的相位就是零相位。?通過上述方法,能準
確地求出與地震子波相匹配的子波和標定結果。
〖HS2*2/3〗〖HT4XBS〗〖STHZ〗4〓結論〖HT〗〖STBZ〗?
(1)合成地震記錄層位標定的方法有很多,本文只是針對目前合成記錄層位標定中的精度
問題,提出從手工標定轉向高精度的自動標定。?
(2)〖JP1〗利用時間掃描法及相位掃描法進行層位標定的方法也只是理論上的一種分析,
還有待實際檢驗。〖JP〗?
(3)隨著計算機軟件技術的發展和研究精度要求,合成記錄層位標定的方法必然會從手工
轉向自動化、智能化,上述兩種方法無疑為這種轉變提出了一種新的思路。