引言
MSP430 單片機(jī)具有集成度高、嵌入模塊多(如12位ADC、16位定時(shí)器等)、超低功耗等特點(diǎn),在許多領(lǐng)域內(nèi)得到了廣泛的應(yīng)用。對于一個(gè)伺服系統(tǒng),要經(jīng)過信號(hào)的采集、轉(zhuǎn)換、信號(hào)數(shù)字處理、信號(hào)控制等環(huán)節(jié)來完成指定任務(wù)。信號(hào)的采集過程和處理是一個(gè)重要的環(huán)節(jié),基于MSP430 光電跟蹤伺服系統(tǒng),一方面利用MSP430 單片機(jī)外設(shè)多的特點(diǎn),盡可能使用一片芯片,實(shí)現(xiàn)信號(hào)的采集、定時(shí)處理、PID算法、PWM 驅(qū)動(dòng),實(shí)現(xiàn)高精度測量的跟蹤,另一方面,利用低功耗的特點(diǎn)實(shí)現(xiàn)小型化。
1 光電跟蹤的基本原理
MSP430F169控制的光電跟蹤伺服系統(tǒng)示意圖如圖1所示,其特點(diǎn)是采用MSP430F169作為中央處理單元和控制器。

系統(tǒng)通過一個(gè)四象限光電探測器,其可探測到的波長范圍是380~1 100 nm,當(dāng)波長為940 nm時(shí),輸出的光功率達(dá)到峰值。四象限探測器特性曲線圖如圖2 所示。四象限探測器的感光面的對稱中心與直角坐標(biāo)的零點(diǎn)O 重合,其正交方向分別對應(yīng)x 和y 坐標(biāo)軸,并將感光面劃分為四個(gè)象限陣元,四象限探測器原理示意圖如圖3所示。根據(jù)跟蹤光斑在四象限的感光量不同,可以計(jì)算出跟蹤目標(biāo)的偏差。當(dāng)跟蹤光斑中心與四象限中心重合時(shí),對應(yīng)著探測器的每個(gè)象限接收到的光信號(hào)強(qiáng)度相等,經(jīng)計(jì)算處理后得到的偏差信號(hào),即誤差信號(hào)為零,以確定跟蹤對準(zhǔn)。根據(jù)四象限探測器的特點(diǎn),四象限接收到光信號(hào)后轉(zhuǎn)換成四路電流信號(hào)輸出,通過I-V 轉(zhuǎn)換電路,將電流信號(hào)轉(zhuǎn)換成四路電壓信號(hào)Ex1 ,Ex2 ,Ey1 ,Ey2 ,將電壓信號(hào)進(jìn)行濾波及放大處理,利用MSP430F169內(nèi)部的AD轉(zhuǎn)換器采集數(shù)據(jù),將采集到的電壓信號(hào)經(jīng)運(yùn)算并歸一化處理,然后采用自適應(yīng)PID 算法,計(jì)算出坐標(biāo)偏移量Δx 和Δy ,并通過定時(shí)器產(chǎn)生PWM波的占空比來調(diào)節(jié)電機(jī)的速度,使電機(jī)能夠平緩地到達(dá)目標(biāo)位置。
2 硬件部分設(shè)計(jì)
硬件電路結(jié)構(gòu)可分為:電源模塊、控制模塊、四象限探測器與成像模塊、信號(hào)預(yù)處理、驅(qū)動(dòng)電路等部分。


2.1 電源模塊
整個(gè)系統(tǒng)采用+5 V 作為主供電系統(tǒng),為了保證數(shù)字系統(tǒng)的+3.3 V電源供電,使用LM1117電壓調(diào)節(jié)器得到紋波抑制比高的電壓輸出,如圖4所示。

2.2 四象限放大及濾波處理
激光探測電路的噪聲包括外部擾動(dòng)和內(nèi)部噪聲。
外部擾動(dòng)主要來自于激光發(fā)射器、光路傳播介質(zhì)、背景光以及電路本身。這些擾動(dòng)可以通過先進(jìn)行背景環(huán)境的測量來改善或者消除。內(nèi)部噪聲是與待測信號(hào)并存的,可以濾波的方法抑制噪聲。
目標(biāo)信號(hào)處理電路如圖5所示。

由于內(nèi)部噪聲的存在,并要在噪聲進(jìn)入放大電路之前濾除,則在光電探測器的陰極加上濾波電路。其截止頻率fc=1 /(RfC)。
令fc=10 kHz,采用一階濾波器,則有C=0.001 μF,R=1 /(Cfc) =100 kΩ。
將A,B,C,D四路電流信號(hào)分別經(jīng)過四個(gè)運(yùn)放轉(zhuǎn)換成四路電壓信號(hào)。增大OP放大器的反饋電阻時(shí),會(huì)引起干擾振蕩。OP放大器有數(shù)pF到數(shù)十pF的輸入寄生電容Cin,會(huì)使OP放大器的穩(wěn)定性變差,產(chǎn)生自激振蕩。在OP放大器中加入輸入電容,電阻Rf和Cin構(gòu)成一個(gè)新的頻率轉(zhuǎn)折點(diǎn)。為了防止自激振蕩,用電容Cf與反饋電阻Rf并聯(lián)。電容Cf有相位超前的作用,對轉(zhuǎn)折點(diǎn)而言就是零點(diǎn),零點(diǎn)頻率fz=1 /(2πCf Rf ) .
通常,Cf>Cin,Cin約為5~6 pF.這里取Cf =0.001 μF.
將處理得到的電壓信號(hào)通過加法、減法運(yùn)算電路[5],利用MSP430內(nèi)部的運(yùn)算能力進(jìn)行歸一化處理,這樣就能避免除法器的設(shè)計(jì)。
2.3 電機(jī)驅(qū)動(dòng)模塊
利用橋式電路來驅(qū)動(dòng)直流電機(jī),用PWM 波控制電機(jī)的轉(zhuǎn)速,另外用單片機(jī)的I/O端口控制其正反轉(zhuǎn)。電機(jī)驅(qū)動(dòng)電路如圖6所示。

3 系統(tǒng)控制
軟件部分主要包括:測量環(huán)境背景光線數(shù)據(jù)、自動(dòng)搜索目標(biāo)物、AD采樣、坐標(biāo)運(yùn)算、PID算法、驅(qū)動(dòng)電機(jī)。單片機(jī)端的主程序使用了循環(huán)查詢的方式來決定當(dāng)前應(yīng)該執(zhí)行的任務(wù)。主程序主要完成內(nèi)部ADC,Timer,PWM初始化,采集的數(shù)據(jù)歸一化。其流程圖如圖7所示。

3.1 A/D采集
四象限光電探測器接收的信號(hào)進(jìn)過濾波、放大、加法運(yùn)算、減法運(yùn)算處理后,輸出三路電壓信號(hào),因此采用MSP430F169的三通道多次采集,程序如下:

3.2 ADC轉(zhuǎn)換
利用公式:

進(jìn)行ADC轉(zhuǎn)換。
3.3 驅(qū)動(dòng)電機(jī)模塊
電機(jī)運(yùn)動(dòng)分為搜索目標(biāo)物以及跟蹤目標(biāo)物兩個(gè)部分,程序如下:

跟蹤目標(biāo)物的過程中,將采集到的數(shù)據(jù)使用位置式PID算法:

式中:u(k) 為采樣時(shí)刻k 時(shí)的輸出值;e(k) 為采樣時(shí)刻k時(shí)的偏差值; e(k - 1) 為采樣時(shí)刻k - 1 時(shí)的偏差值;u0為t =0時(shí)刻對應(yīng)的輸出值。
采用位置式PID 算式,當(dāng)達(dá)到設(shè)定的門限值之后再加入積分運(yùn)算,這樣就能夠避免積分飽和問題。
4 實(shí)驗(yàn)
以波長為650 nm 激光作為目標(biāo)物,首先目標(biāo)物是靜止的,此時(shí)跟蹤伺服設(shè)備進(jìn)行空間搜索的過程。待設(shè)備搜索到目標(biāo)物之后,目標(biāo)物開始移動(dòng),這時(shí)光斑中心與四象限中心不重合,單片機(jī)采集到數(shù)據(jù)后進(jìn)行運(yùn)算,輸出PWM 波使電機(jī)開始轉(zhuǎn)動(dòng),這樣就能使設(shè)備跟著目標(biāo)物運(yùn)動(dòng)。實(shí)驗(yàn)裝置如圖8所示。
5 結(jié)論
本設(shè)計(jì)采用性能優(yōu)越的MSP430F169 作為控制核心。使用MSP430內(nèi)部的AD模塊以及定時(shí)器模塊能夠?qū)崿F(xiàn)精準(zhǔn)的多路數(shù)據(jù)采集。外圍電路的設(shè)計(jì),利用RC濾波器,減小噪聲對信號(hào)的影響,同時(shí)利用相位補(bǔ)償技術(shù)消除了自激干擾,使信號(hào)穩(wěn)定輸出。軟件部分采用位置式PID算式,當(dāng)達(dá)到設(shè)定的門限值之后再加入積分運(yùn)算,這樣就能夠避免積分飽和問題,使跟蹤設(shè)備平緩地到達(dá)指定位置。
-
單片機(jī)
+關(guān)注
關(guān)注
6074文章
45341瀏覽量
663683 -
探測器
+關(guān)注
關(guān)注
15文章
2743瀏覽量
75494 -
定時(shí)器
+關(guān)注
關(guān)注
23文章
3361瀏覽量
121755
發(fā)布評論請先 登錄
單片機(jī)怎么驅(qū)動(dòng)電機(jī)?
全國大學(xué)生電子設(shè)計(jì)大賽加畢業(yè)設(shè)計(jì)項(xiàng)目合集
STM32F10xxx單片機(jī)編程手冊
STM32F103x8 STM32F103xB單片機(jī)數(shù)據(jù)手冊
用msp430f247單片機(jī)的SPI接口驅(qū)動(dòng)ADS1298芯片,讀出的寄存器值不正確,是哪里的問題?
用msp430單片機(jī)如何設(shè)計(jì)軟件濾波?
為什么ADS1298R會(huì)拉低單片機(jī)的輸出電平?
用MSP430單片機(jī)SPI與TLV5638通訊,TLV5638輸出都是0是什么原因?
AN4121-采用PIC16F單片機(jī)進(jìn)行系統(tǒng)電源控制
是否可以用msp430f5529的開發(fā)板直接進(jìn)行程序調(diào)試?
最大msp430f5529的12位ADC支持采樣率200ksps是什么意思?
MSP430F149如何配置spi和DS1302使用?
基于 XD08M3232 接近感應(yīng)單片機(jī)的背景抑制光電開關(guān)設(shè)計(jì)與應(yīng)用
請問ADS112C04作為一個(gè)模數(shù)轉(zhuǎn)化器,怎么和msp430單片機(jī)相連,進(jìn)行編程呢?
MSP430FR4xx和MSP430FR2xx系列用戶指南

采用MSP430F169單片機(jī)實(shí)現(xiàn)光電跟蹤裝置的設(shè)計(jì)
評論