連續(xù)三天都說同一件事情:信號(hào)的轉(zhuǎn)換
三天前一個(gè)同學(xué)在微信公眾號(hào)提了關(guān)于在 模擬課程中的問題[1] ,即要求設(shè)計(jì)一個(gè)系統(tǒng),輸入一個(gè)正弦波,可以輸出一個(gè)二倍頻的三角波。三角波的幅值、占空比(上升沿、下降沿的時(shí)間)可以被改變。
在前天給出了一個(gè) 信號(hào)轉(zhuǎn)換的解題思路[2] ,并在昨天 對(duì)前面的思路進(jìn)行了物理仿真 驗(yàn)證,結(jié)果可以看到這個(gè)簡(jiǎn)單的思路還存在著不少的問題。
這些問題歸納起來主要有以下幾條:
- 控制量之間的耦合,特別是頻率,占空比對(duì)輸出信號(hào)幅值的影響;
- 頻率對(duì)于占空比的影響雖然經(jīng)過改進(jìn)之后有所解耦,還是會(huì)有部分的影響;
- 輸出三角波存在失真。這主要是最后一級(jí)從方波到三角波轉(zhuǎn)換的過程中,對(duì)于信號(hào)的直流分量的變化與波形失真之間的關(guān)系;
- 最后一點(diǎn),也是最重要的一點(diǎn),就是電路非常復(fù)雜。
估計(jì)這兩天看過推文的同學(xué)開始嘀咕,這個(gè)問題,如果使用數(shù)字電路,特別是使用一個(gè)單片機(jī)就可以輕輕松松的搞定。的確這也反映出使用數(shù)字電路和模擬電路在對(duì)待同樣的問題上的迥然差別。
在模擬電子中,信號(hào)都是看做是在時(shí)間和幅值的連續(xù)變化的模擬量,對(duì)于信號(hào)處理的手段大多是進(jìn)行倍乘、積分、微分、比較整形等方法。另外,系統(tǒng)必須滿足因果關(guān)系。在此過程中,信號(hào)的幅值、頻譜寬度等會(huì)受到電子線路中器件的限制。
當(dāng)然,還有非常重要的一個(gè)方面就是方案會(huì)受到器件的非線性、溫度漂移、以及無處不在的干擾的影響。這就使得方案在精度、穩(wěn)定性參數(shù)變化范圍等方面受到影響。
那么改成數(shù)字電路,特別是使用MCU,DSP,F(xiàn)PGA等可編程器件,就會(huì)在改進(jìn)很多。
比如使用一款STC的單片機(jī)STC8G1K08,價(jià)格僅僅只有1.3塊人民幣,包括有眾多的電路外設(shè)。其中的模擬比較器可以將輸入正弦波變成方波,并進(jìn)一步測(cè)對(duì)應(yīng)的信號(hào)的周期。雖然它沒有DA輸出,但高速的PWM輸出功能通過濾波也可以形成所需要的信號(hào)。
使用數(shù)字器件完成同樣的信號(hào)轉(zhuǎn)換問題,是將信號(hào)分解成等時(shí)間間隔的脈沖信號(hào)(也就是對(duì)信號(hào)進(jìn)行采樣),為了能夠使用有限位數(shù)的數(shù)字表示這些采樣,還需要對(duì)信號(hào)的幅值進(jìn)行量化(離散化)。只要保證時(shí)間和幅值的離散化足夠小,就可以逼近模擬信號(hào)。
將輸入的參考正弦波送入到單片機(jī)的比較器管腳,內(nèi)部完成過零比較中斷,測(cè)量得到對(duì)應(yīng)正弦信號(hào)的半周期。然后在根據(jù)設(shè)定的三角波的占空比以及幅值,生成對(duì)應(yīng)三角波輸出DA轉(zhuǎn)換的數(shù)據(jù)。
通過定時(shí)器,按照一定速率(5kHz)將三角波的波形數(shù)據(jù)送到PWM定時(shí)器,外部在配合一個(gè)簡(jiǎn)單的RC低通濾波器,便可以獲得對(duì)應(yīng)的二倍頻三角波形了。
在本文前面的的動(dòng)圖就是這個(gè)單片機(jī)將輸入正弦波信號(hào)進(jìn)行轉(zhuǎn)換后的波形。 該方案中,三角波信號(hào)的頻率、占空比、幅值之間的調(diào)節(jié)就不在有任何耦合,可以獨(dú)立的進(jìn)行調(diào)節(jié)。
由于受到單片機(jī)本身RAM容量、CPU頻率、PWM分辨率的影響,這個(gè)方案對(duì)于信號(hào)轉(zhuǎn)換有一定的限制:
- 三角波的占空比從0~100%,分成100個(gè)等級(jí)進(jìn)行調(diào)節(jié);
- 三角波的幅值從0~255,分成256個(gè)等級(jí)進(jìn)行調(diào)節(jié);
- 三角波的頻率從5.6Hz~250Hz。
過低的頻率則需要內(nèi)部有更大的RAM來存儲(chǔ)輸出波形的數(shù)據(jù);更高的頻率則要求內(nèi)部PWM,CPU的頻率要更高才行。
比如,下圖顯示了三角波的頻率達(dá)到500Hz時(shí),輸出波形中就包含了明顯變形失真。這是因?yàn)樵谝粋€(gè)周期內(nèi)之后十幾個(gè)采樣點(diǎn)輸出。
在現(xiàn)代的一些電子線路中,除了微弱信號(hào)、強(qiáng)功率信號(hào)、超高頻信號(hào)以及與人的感知交互的等場(chǎng)合,還需要模擬電路設(shè)計(jì)。越來越多的領(lǐng)域則逐步轉(zhuǎn)向數(shù)字可編程電子線路來完成對(duì)信號(hào)的處理。
當(dāng)然了,設(shè)計(jì)一個(gè)可以沿著黑線行進(jìn)的智能車,如果只允許使用模擬電路的方案,不允許使用MCU,你覺得可能嗎?
如果你想不到答案的話,也許下面這個(gè)黑板上的電路你可以仔細(xì)看一下了。這是只使用模擬器件就可以完成巡線機(jī)器人的電路。最后就只剩下一個(gè)問題,這種使用模擬電路搭建的自主巡線車模還能被稱為智能車嗎?
本文中所涉及到的STC單片機(jī)進(jìn)行信號(hào)轉(zhuǎn)換的硬軟件文件可以從以下鏈接下載:
- 實(shí)驗(yàn)AD設(shè)計(jì)文件和C51程序 [3]
參考資料
[1]模擬課程中的問題: https://zhuoqing.blog.csdn.net/article/details/106240267
[2]信號(hào)轉(zhuǎn)換的解題思路: https://zhuoqing.blog.csdn.net/article/details/106293296
[3]實(shí)驗(yàn)AD設(shè)計(jì)文件和C51程序: https://download.csdn.net/download/zhuoqingjoking97298/12453886
三聲嘆息
今天來嘆三聲氣。今年真是不尋常啊,卓老師。
去年從沒想過來年三月才能等出規(guī)則,三月的時(shí)候從沒想過春季回不到實(shí)驗(yàn)室了。唉 ......
看著討論群里每天討論的人逐漸變少,看著眼前的軟硬件bug解決不了,看著手里還是沒跑起來的H車,唉 ........
想起比賽事項(xiàng)懸而未定,想起未來渺渺。唉 .......
真想感嘆一句時(shí)運(yùn)多艱??!但是嘆氣以后,就又是新的一天吧,還是要好好干!卓老師忙了這么久也要多多注意休息哈!
▲ 2015年,智能車競(jìng)賽秘書處成員去韓國(guó)漢陽大學(xué)Sunwoo教授參觀訪問,了解韓國(guó)全國(guó)大學(xué)生智能汽車競(jìng)賽活動(dòng)經(jīng)驗(yàn)讓AI完敗傳統(tǒng)算法
報(bào)告卓大大,經(jīng)過我一段時(shí)間的調(diào)車實(shí)驗(yàn),從速度上來說,電磁AI組用神經(jīng)網(wǎng)絡(luò)確實(shí)有非常大的優(yōu)勢(shì),我覺得如果模型表現(xiàn)得好,速度一定可以2m/s+的。但傳統(tǒng)的跑法在那么短的電感上速度0.5m/s拐彎就很抖了。
但神經(jīng)網(wǎng)絡(luò)的方法有一個(gè)大問題,我想其他車友應(yīng)該都能感受到,就是怎么采集數(shù)據(jù)、采集車有多偏離賽道的數(shù)據(jù)、以及各個(gè)姿態(tài)下數(shù)據(jù)的占比可能對(duì)模型訓(xùn)練好后最后的損失值幾乎沒有區(qū)別,但跑車的效果卻會(huì)差很多,如何把握這個(gè)卻相當(dāng)?shù)男W(xué),我只希望比賽的賽道不會(huì)太長(zhǎng)(二十米已經(jīng)夠累死累活的推車了)。
另外賽制也要照顧到前面所說的情況,讓AI完敗傳統(tǒng)算法。
▲ 飛思卡爾杯亞洲大學(xué)生智能車大賽討論會(huì)自己的孩子
卓大大,今年的比賽真的能在8月份進(jìn)行嘛?
我剛剛問了我們學(xué)校的老師,我們學(xué)?,F(xiàn)在還不允許我們返校,也不允許老師帶我們出去比賽,真的有點(diǎn)難呀!
現(xiàn)在有點(diǎn)迷茫,附上我一個(gè)多月前進(jìn)度的視頻,感覺有種自己養(yǎng)了多年的孩子,不能帶出去比賽的無奈。
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問題,請(qǐng)聯(lián)系我們,謝謝!





