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