應(yīng)用單片機(jī)的控制電路相關(guān)情況解析方案
2.2 接收電路
接收電路主要作用是將發(fā)射機(jī)發(fā)射出的已調(diào)的編碼指令信號(hào)接收下來(lái),并進(jìn)行放大后送到解調(diào)電路,解調(diào)電路將已經(jīng)調(diào)制的指令編碼信號(hào)解調(diào)出來(lái),還原為編碼信號(hào)。指令譯碼器將編碼指令信號(hào)進(jìn)行譯碼,最后由驅(qū)動(dòng)電路來(lái)驅(qū)動(dòng)執(zhí)行電路實(shí)現(xiàn)各種指令的操作控制。圖3為接收機(jī)主電路,發(fā)射機(jī)傳來(lái)的信號(hào)由P3.O輸入后送至P1口,由軟件控制P1的相應(yīng)端口輸出控制信號(hào)。P1口的4位A/D端口可以接到不同的控制端。由于是比例遙控,所以應(yīng)將輸出口的控制信號(hào)送到下一級(jí)比例遙控專用的伺服電路。
整個(gè)系統(tǒng)的執(zhí)行部分是由直流電動(dòng)機(jī)驅(qū)動(dòng)電路來(lái)完成的,主要控制模型的行進(jìn)方向和速度。單片機(jī)STCl2C2052AD既是協(xié)調(diào)整個(gè)接收機(jī)工作的控制器,又是數(shù)據(jù)處理器和運(yùn)算器,由于它直接有PWM功能,因此不需要占用單片機(jī)資源,可以直接產(chǎn)生占空比可變的脈沖信號(hào),對(duì)橋式雙向電路驅(qū)動(dòng)電動(dòng)機(jī)進(jìn)行電壓控制,從而完成對(duì)電動(dòng)機(jī)驅(qū)動(dòng)、轉(zhuǎn)速以及前進(jìn)或后退的控制,并能夠?qū)崿F(xiàn)脈寬精確調(diào)速。
圖3中,與單片機(jī)左邊相連的部分為電動(dòng)機(jī)驅(qū)動(dòng)電路。該電路由2對(duì)晶體管組成一個(gè)橋式互補(bǔ)對(duì)稱電路,其中包含了電動(dòng)機(jī)。電動(dòng)機(jī)是一種將電脈沖信號(hào)轉(zhuǎn)換成階躍型的角位移或者直線位移的變換器,它的旋轉(zhuǎn)是以固定的角度(步距角)運(yùn)行的。當(dāng)4個(gè)晶體管均為低電平時(shí)(由芯片控制),這4個(gè)晶體管的集電極和發(fā)射極均不能導(dǎo)通,此時(shí)電動(dòng)機(jī)a端和b端均為O V,電動(dòng)機(jī)不能轉(zhuǎn)動(dòng)。當(dāng)P3.0和P3.2為高電平,P3.1和P3.3為低電平時(shí),晶體管T1和T3均導(dǎo)通,此時(shí)a端得到高電平,而b端與地相通,電動(dòng)機(jī)開始轉(zhuǎn)動(dòng)。除去晶體管T1和T3的壓降,電動(dòng)機(jī)的兩端大概可以得到4.5 V的電壓。同樣道理,當(dāng)P3.1和P3.3為高電平,P3.O和P3.2為低電平時(shí),b端得到高電平,而a端與地相通,電動(dòng)機(jī)反轉(zhuǎn)。通過(guò)該橋式電路,控制P3.O和P3.2、P3.1和P3.3端口的電平(注意:這4個(gè)端口不能全部為高電平)便可以實(shí)現(xiàn)電動(dòng)機(jī)的正轉(zhuǎn)、反轉(zhuǎn)和停轉(zhuǎn),即實(shí)現(xiàn)了模型的前進(jìn)或后退。為了消除電動(dòng)機(jī)的電弧干擾,應(yīng)在電動(dòng)機(jī)兩側(cè)加一個(gè)小電容,其值為0.1μF。
另外,設(shè)計(jì)中還要求能夠?qū)δP瓦M(jìn)行速度的控制??刂齐妱?dòng)機(jī)的運(yùn)行速度,實(shí)際上就是控制系統(tǒng)發(fā)出時(shí)鐘脈沖的頻率或著是換相的周期,即在升速過(guò)程中,使脈沖的輸出頻率逐漸增加;在減速過(guò)程中,使脈沖的輸出頻率逐漸減少。脈沖信號(hào)的頻率可以用軟件延時(shí)和硬件中斷兩種方法來(lái)確定:
①采用軟件延時(shí),一般是根據(jù)所需的時(shí)間常數(shù)來(lái)設(shè)計(jì)一個(gè)子程序。該程序包含一定的指令,設(shè)計(jì)者要對(duì)這些指令的執(zhí)行時(shí)間進(jìn)行精確的計(jì)算,以便確定延時(shí)時(shí)間。在每次確定前進(jìn)方向之后調(diào)用一個(gè)延時(shí)子程序,待延時(shí)結(jié)束以后再執(zhí)行換向,這樣周而復(fù)始就可以發(fā)出一定頻率的CP脈沖或換向周期。延時(shí)子程序的延時(shí)時(shí)間與換向程序所用的時(shí)間和,就是CP脈沖的周期。該方法簡(jiǎn)單,占用資源少,全部由軟件實(shí)現(xiàn),調(diào)用不同的子程序就可以實(shí)現(xiàn)不同速度的運(yùn)行;但是,若占用CPU的時(shí)間過(guò)長(zhǎng),就不能在運(yùn)行時(shí)處理其他的工作,因此它比較適合簡(jiǎn)單的控制過(guò)程。
②使用單片機(jī)中的定時(shí)器直接對(duì)系統(tǒng)時(shí)鐘脈沖或某一固定頻率的時(shí)鐘脈沖進(jìn)行計(jì)數(shù),計(jì)數(shù)值由編程決定。定時(shí)器啟動(dòng)后,定時(shí)器從裝載的初值開始對(duì)系統(tǒng)及其周期進(jìn)行加計(jì)數(shù)。當(dāng)定時(shí)器溢出時(shí),定時(shí)器產(chǎn)生中斷,系統(tǒng)轉(zhuǎn)去執(zhí)行定時(shí)中斷子程序,將電機(jī)換向子程序放在定時(shí)中斷服務(wù)程序中,定時(shí)中斷一次,電機(jī)換向一次,從而實(shí)現(xiàn)電機(jī)的速度控制。用定時(shí)中斷方式來(lái)控制電動(dòng)機(jī)的速度,實(shí)際上是不斷改變定時(shí)器裝載值的大小。
2.3 單片機(jī)程序設(shè)計(jì)
由于單片機(jī)的各個(gè)引腳都有很多功能,因此在軟件程序設(shè)計(jì)中要特別注意它們的定義和對(duì)片內(nèi)特殊功能寄存器的初始化設(shè)置,以便實(shí)現(xiàn)相應(yīng)的功能。在初始化設(shè)置完成之后,開始接收第1通道數(shù)據(jù),同時(shí)必須使接收單片機(jī)同步接收通道數(shù)據(jù),相隔一定時(shí)間查詢第1通道當(dāng)前電壓A/D轉(zhuǎn)換的結(jié)果是否與查詢之前的結(jié)果相同。如果相同,則繼續(xù)發(fā)送下一個(gè)通道的數(shù)據(jù);反之,則立即向接收機(jī)發(fā)送該通道的通道號(hào)和相應(yīng)的A/D轉(zhuǎn)換結(jié)果,且在延時(shí)10 ms后準(zhǔn)備發(fā)送下一個(gè)通道的數(shù)據(jù)。全部數(shù)據(jù)發(fā)送完畢后再重新開始新一輪的數(shù)據(jù)查詢和發(fā)送。延時(shí)的目的在于給接收單片機(jī)留出一定的處理時(shí)間。圖4(a)所示為發(fā)射單片機(jī)程序設(shè)計(jì)流程。
DIY機(jī)械鍵盤相關(guān)社區(qū):機(jī)械鍵盤DIY
評(píng)論