基于MSP430F149的點(diǎn)光源跟蹤系統(tǒng)設(shè)計(jì)
摘要:本設(shè)計(jì)以MSP430F149為控制核心,通過(guò)放大器LM324做比較器比較光敏電阻感受光強(qiáng)度,控制減速后的步進(jìn)電機(jī),調(diào)節(jié)激光筆上下左右轉(zhuǎn)動(dòng),實(shí)現(xiàn)精確跟蹤光源的目的。系統(tǒng)采用LM317調(diào)節(jié)電壓的方式實(shí)現(xiàn)LED電流一定范圍內(nèi)的調(diào)節(jié),利用MSP430F149內(nèi)部的ADC采集OPA335放大后的電壓信號(hào),并計(jì)算出電流值,采用12864液晶進(jìn)行實(shí)時(shí)顯示。經(jīng)測(cè)試,激光筆能準(zhǔn)確地跟蹤光源。
1 系統(tǒng)方案論證
1.1 系統(tǒng)各模塊方案的選擇與論證
(1)電機(jī)驅(qū)動(dòng)模塊。采用L298驅(qū)動(dòng)芯片組成驅(qū)動(dòng)電路,可以通過(guò)控制中心輸出的高低電平對(duì)電動(dòng)機(jī)的方向進(jìn)行控制,并且可以通過(guò)PWM波直接控制電動(dòng)機(jī)的速度。電路較為簡(jiǎn) ~單,容易實(shí)現(xiàn),驅(qū)動(dòng)能力和抗干擾能力強(qiáng),性價(jià)比高。
(2)LED燈電流調(diào)節(jié)與光源檢測(cè)模塊。發(fā)射端通過(guò)直流穩(wěn)壓電源來(lái)點(diǎn)亮白光LED,通過(guò)調(diào)節(jié)白光LED兩端的電壓來(lái)調(diào)節(jié)電流從而調(diào)節(jié)亮度,接收端采用多個(gè)光敏電阻,通過(guò)光敏電阻阻值的變化來(lái)判斷光源的位置。
(3)LED電流檢測(cè)模塊。在LED的下端串聯(lián)一0.1Ω的電阻,電阻的另一端接地,采用OPA335精密放大器對(duì)0.1 Ω電阻的壓降進(jìn)行放大,再通過(guò)AD采樣處理,從而測(cè)量計(jì)算出流過(guò)LED的電流。
1.2 系統(tǒng)組成
本系統(tǒng)采用兩片TI公司的MSP430F149單片機(jī)分別作為發(fā)送部分和接受部分的控制核心,完成信號(hào)發(fā)送和接收、電流檢測(cè)、控制電機(jī)、鍵盤輸入及液晶顯示等功能。MSP430F149單片機(jī)內(nèi)部資源豐富,集成了A/D模塊,無(wú)需擴(kuò)展引腳,電路設(shè)計(jì)和制作簡(jiǎn)單,功耗低。
外圍電路模塊包括:電機(jī)驅(qū)動(dòng)模塊、LED控制模塊、電流檢測(cè)模塊、光信號(hào)的發(fā)射與接收模塊和液晶顯示模塊。
2 理論分析與硬件電路設(shè)計(jì)
2.1 LED控制和電流檢測(cè)電路
LED通過(guò)調(diào)節(jié)LED兩端的電壓,來(lái)改變電流,從而實(shí)現(xiàn)亮度的調(diào)節(jié),可將LED控制電路采用分壓的方式,將LED與一個(gè)1OΩ的電阻串聯(lián)來(lái)對(duì)LED分壓,通過(guò)調(diào)節(jié)串聯(lián)電路電壓來(lái)調(diào)節(jié)電流,控制LED的亮度。經(jīng)過(guò)計(jì)算:
即10Ω 電阻的功率最大值將近1.6W。故10Ω 電阻采用3W的功率電阻。
電壓調(diào)整采用LM317,其輸出電壓范圍為:
即可調(diào)范圍為4.0 V到8.4V,換算成電流為:
即電流范圍可達(dá)80~440 mA,可滿足在150-350 mA的范圍內(nèi)調(diào)節(jié)要求。
電流檢測(cè)模塊通過(guò)測(cè)量電路中已知電阻兩端電壓來(lái)?yè)Q算出電流,由于用來(lái)測(cè)量電壓的電阻阻值要盡量小,故選擇0.1Ω 的功率電阻,并聯(lián)的放大器等效電阻可忽略不記,經(jīng)過(guò)計(jì)算,0.1 Ω 電阻兩端的壓降在0.008 V~0.042 V之間,電壓值非常小,需要經(jīng)過(guò)一級(jí)電壓放大電路。由于單片機(jī)的AD采樣內(nèi)部參考電壓最大值為3.3 V,因此放大后電壓值3.3V以內(nèi)。
電壓放大采用TI公司的軌到軌運(yùn)算放大器0PA335,該運(yùn)放具有良好的電壓放大性能,單電源供電,放大直流信號(hào)沒有衰減,連接為同相比例放大。0PA335的輸出接單片機(jī)的模擬信號(hào)輸入端P6.0,進(jìn)行AD采樣。電路如圖2所示。
2.3 電機(jī)驅(qū)動(dòng)電路
由于采用步進(jìn)減速電機(jī),電流較大。
經(jīng)過(guò)測(cè)量,在7V電壓供電時(shí),電機(jī)的電流為1.4A,在5v供電時(shí),電流為0.9 A,系統(tǒng)采用7.2 V的干電池供電,電機(jī)驅(qū)動(dòng)芯片需要能夠承受較大的電流。故采用L298作為電機(jī)驅(qū)動(dòng),能承受足夠大的電流。
2.4 檢測(cè)光源電路
檢測(cè)光源電路的主要原理是通過(guò)檢測(cè)到光敏電阻的電阻變化,從而引起電壓的變化,單片機(jī)通過(guò)識(shí)別不同的電壓信號(hào)來(lái)控制電機(jī)的轉(zhuǎn)動(dòng)。本設(shè)計(jì)還采用套黑管的方法提高精確度。
將LM324用做電壓比較器,LM324的反向輸入端通過(guò)兩個(gè)相等的電阻將電源的電壓分半,作為反向輸入端的輸入電壓,在同向輸入端同樣采用分壓的原理,上端連接光敏電阻,下端接一個(gè)100K的滑動(dòng)變阻器來(lái)調(diào)節(jié)光敏電阻的靈敏度。電路如圖3所示。
3 控制算法與軟件設(shè)計(jì)
系統(tǒng)軟件主要分為3個(gè)部分:檢測(cè)光源、檢測(cè)顯示電流、步進(jìn)電機(jī)控制。算法設(shè)計(jì)也圍繞這3個(gè)方面展開。
3.1 控制算法
水平方向用4個(gè)光敏電阻來(lái)尋找和跟蹤光源,將光敏電阻接入比較器串聯(lián)滑動(dòng)變阻器,接在LM324輸入端,單片機(jī)通過(guò)電平變化來(lái)判斷光源的具體位置。
在沒有檢測(cè)到光時(shí),兩個(gè)比較器都輸出低電平,當(dāng)有一個(gè)檢測(cè)到光時(shí),與此相連的比較器輸出變?yōu)楦唠娖剑?dāng)兩個(gè)比較器的輸出都為高電平時(shí),說(shuō)明此時(shí)光源在兩個(gè)光敏電阻之間,此時(shí)已檢測(cè)到光源的中心,控制電機(jī)停止。
在光源跟蹤時(shí),通過(guò)判斷水平方向兩個(gè)比較器的狀態(tài)來(lái)實(shí)現(xiàn)。當(dāng)左邊的比較器輸出為高電平,右邊輸出低電平時(shí),說(shuō)明光源左移,控制步進(jìn)電機(jī)左移。同理可控制電機(jī)右移。當(dāng)兩個(gè)比較器輸出都為高電平時(shí),說(shuō)明光源在中心,不用移動(dòng)。當(dāng)兩個(gè)比較器都輸出低電平時(shí),都沒檢測(cè)到光源,此時(shí)重新掃描。
由于要實(shí)現(xiàn)激光筆對(duì)準(zhǔn)光源時(shí),將光源支架沿著直線LM平穩(wěn)緩慢(15秒內(nèi))移動(dòng)60 cm,激光筆能夠連續(xù)跟蹤指向光源,而系統(tǒng)采用的減速步進(jìn)電機(jī)可將一個(gè)圓周細(xì)分為4096步,每個(gè)脈沖走的距離約為:
每個(gè)脈沖步進(jìn)3.07 mm,可實(shí)現(xiàn)對(duì)光源的連續(xù)跟蹤。要實(shí)現(xiàn)將光源支架沿著直線LM平穩(wěn)緩慢(15秒內(nèi))移動(dòng)60cm,激光筆能夠連續(xù)跟蹤指向光源,當(dāng)沿直線移動(dòng)時(shí),光源的豎直高度將發(fā)生變化,豎直方向檢測(cè)方式類似于水平方向檢測(cè)跟蹤,因而可實(shí)現(xiàn)整個(gè)平面內(nèi)跟蹤。
3.2軟件設(shè)計(jì)流程圖
圖4 單片機(jī)2流程圖
圖5 單片機(jī)1流程圖
參考文獻(xiàn):
[1]. MSP430F149 datasheet http://www.dzsc.com/datasheet/MSP430F149_874114.html.
[2]. LM324 datasheet http://www.dzsc.com/datasheet/LM324_1054816.html.
[3]. LM317 datasheet http://www.dzsc.com/datasheet/LM317_999428.html.
[4]. OPA335 datasheet http://www.dzsc.com/datasheet/OPA335_1095477.html.
[5]. L298 datasheet http://www.dzsc.com/datasheet/L298_442929.html.