專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機教程網(wǎng) >> MCU設(shè)計實例 >> 瀏覽文章

LEGO用軌跡傳感器

作者:佚名   來源:本站原創(chuàng)   點擊數(shù):  更新時間:2012年12月20日   【字體:

我們制作的軌跡傳感器外形如下:

3.1 硬件設(shè)計
3.1.1 采樣器設(shè)計

為了便于準(zhǔn)確的判斷出軌跡的情況,考慮用4個光電采樣器對軌跡進行采樣,4個采樣器的布置如下:

圖中1、2號采樣器負(fù)責(zé)檢測是否脫離軌跡,3、4號采樣器負(fù)責(zé)檢測軌跡的交叉。這樣布置的要求是:
 

  • 1、2號采樣器間距小于軌跡寬度,同時要平行;
  • 3、4號采樣器間距要大于線寬1.5 - 2 倍,也要平行;
  • 同時,前后兩組的采樣平行線間距要小于軌跡寬度。

因為采樣器主要目的是監(jiān)測軌跡,所以在采樣電路上作了一些處理,以減小環(huán)境光的干擾。
采樣器的電路如下:

采樣器解剖圖:


采樣器外形:

3.1.2 CPU的選擇
根據(jù)設(shè)計目標(biāo),同時為了簡化系統(tǒng)的硬件,縮小體積,便于封裝在LEGO積木塊中,選用了PHILIP的LPC917 單片機作為處理芯片。

LPC917 具有:
 

  • 4路AD輸入;
  • 2路PWM輸出;
  • 256字節(jié)RAM;
  • 2K字節(jié)FALSH ROM,支持ICP,更新程序十分方便;
  • FLASH ROM還支持IAP,可以作為備份數(shù)據(jù)存儲;
  • 內(nèi)置上電復(fù)位、RC振蕩器,可實現(xiàn)零外部器件工作;
  • 2周期高速51內(nèi)核,彌補了原來51系列單片機慢的缺陷;
  • 16腳小體積封裝,只有5 X 6 mm ,便于縮小PCB。

之所以選擇LPC900 系列單片機,首先是因為它是51系列單片機,51系列在國內(nèi)是一個最普及的單片機品種,涉及51的資源最為豐富,選用51系列為使用者二次開發(fā)提供了方便。

其次是LPC900系列速度快,是原來標(biāo)準(zhǔn)51的6倍。

第三是LPC900系列均支持ICP方式編程,而使用USB的ICP下載線成本不高,零售價只有120元,這對于追求小體積而不得不使用表貼器件的用戶來說,應(yīng)該是個不錯的選擇。ICP方式相對于IAP更可靠一些。
程序下載示意圖:

第四就是LPC900系列的品種比較齊全,對于單一功能性的應(yīng)用均可以找到合適的規(guī)格,我們所選的917就是看中了其4路AD輸入和2路PWM輸出。

3.1.3 電路設(shè)計
因為RCX輸入口的電源負(fù)載能力有限,為避免不可靠,軌跡傳感器自供電,一方面減少了不確定因素,另一方面可以使用RCX的通用輸入模式,增加輸入的分辨率,RCX的通用輸入數(shù)值范圍為 0 - 1024 (10位AD)。

為了減小體積,采用了升壓電路,將一節(jié)7號電池的電壓升高到5V,作為傳感器的電源。

所有的功能均由LPC917 完成,使用其4路AD輸入將采樣器的信號轉(zhuǎn)換為數(shù)字值,經(jīng)內(nèi)部軟件處理后,根據(jù)結(jié)果用PWM方式轉(zhuǎn)換為模擬量輸出給RCX。

因為系統(tǒng)的可靠性、速度要求不高,所以使用了LPC917的內(nèi)部復(fù)位電路和內(nèi)部的RC振蕩器,工作頻率為7.3MHz。CPU工作無外部器件。

處理部分的電路如下:

(點擊放大)

電路中設(shè)計了一個電源及工作狀態(tài)指示燈,用于指示傳感器的工作狀態(tài)。
為了實現(xiàn)對采樣器的調(diào)試,設(shè)計了一個按鍵,控制進入和退出調(diào)試。
對于采樣器,為了減小環(huán)境光的干擾,每路均增加了一個控制信號。
為了和RCX的輸入匹配,做到無極性連接,輸出經(jīng)放大后接了全橋整流,雖然損失了一部分信號幅度,但是方便了使用。為減小幅度損失,全橋選用肖特基二極管組成。

處理部分解剖圖:

處理部分外形:
 

3.2 軟件設(shè)計
3.2.1 資源分配

 

  • 使用LPC917的4路AD輸入對采樣信號進行數(shù)值轉(zhuǎn)換,工作在直接觸發(fā)、單次掃描模式;
  • 使用Timer0 產(chǎn)生 1ms時基,控制采樣和輸出;
  • 使用Timer1 作為 PWM 輸出,產(chǎn)生RCX所要的模擬信號;
  • 借用ICP的端口P0.5 作為進入調(diào)試模式的控制端。

3.2.2 程序?qū)崿F(xiàn)的功能
 

  • 4路A/D采樣;
  • 計算出模型在軌跡上的位置;
  • 輸出模擬量結(jié)果;
  • 調(diào)試功能,實現(xiàn)軌跡判斷值的建立以及光電采樣器的安裝調(diào)整;

3.2.3 程序架構(gòu)

程序分為以下幾個模塊:
☆采樣模塊 —— 實現(xiàn)每 1ms 對4路信號的AD轉(zhuǎn)換一次,并根據(jù)判斷域值換算為邏輯值保存,定義采樣邏輯值為:
在軌跡上為“1”,不在軌跡上為“0”。

☆位置計算模塊 —— 根據(jù)轉(zhuǎn)換后的4個采樣器邏輯值計算出目前的位置信息,并轉(zhuǎn)換為定義的模擬量。

輸出模擬量定義如下:
輸出的軌跡特征 內(nèi)部的輸出值 RCX的輸入中值(判斷值)
 

一共是11種狀態(tài),為了避免信息混亂,所有特殊的軌跡狀態(tài)(判斷值小于3,大于7的)均是在走過后輸出,輸出維持 100 ms ,以確保RCX能可靠獲取。

對于偏離軌跡的判斷,如果沒有經(jīng)過特殊軌跡,偏離后只會維持3或7 輸出,必須糾偏后回到狀態(tài)5,才繼續(xù)判斷其它狀態(tài)。

☆判斷值建立和采樣器安裝調(diào)試模塊 —— 為了建立軌跡和背景之間的判斷值和變化方向,需要有一個調(diào)試狀態(tài),同時完成對采樣器安裝的調(diào)試。

進入調(diào)試狀態(tài)借用 ICP 口中的P0.5,正常工作時P0.5 浮空(芯片內(nèi)部上拉),為高電平,對地接一個按鈕,按一下進入調(diào)試狀態(tài)。在調(diào)試狀態(tài)下,輸出為采樣器的實際值,可以通過RCX的VIEW功能對采樣器的安裝位置進行調(diào)試。

具體操作模式為:第一次按時,進入調(diào)試模式,輸出1號采樣值,可根據(jù)此值調(diào)試采樣器安裝位置,再按依次輸出2、3、4號采樣值,第五次按前將1、2 號采樣器置于軌跡上,3、4置于背景上(軌跡外),輸出的是判斷域值,此時再按下按鈕將保存判斷域值,并返回到工作模式,完成調(diào)試過程。

在上述過程中,電源指示的閃爍方式為:在調(diào)試1號時,閃一下,滅1秒;調(diào)試2號時,閃2下,滅1秒;依次到輸出判斷域值時,閃5下,滅1秒;氐秸9ぷ鲿r連續(xù)閃爍。

程序完成紀(jì)錄軌跡及背景的采樣值,計算出判斷值以及變化方向,并寫入FLASH中保存,不再次進入調(diào)試不會被修改。

采樣在1ms 中斷中完成,建立標(biāo)志。主程序根據(jù)標(biāo)志啟動計算或調(diào)試模塊,輸出對應(yīng)的結(jié)果。

四、使用方法

連接示意圖:

 

ROBOLAB 程序:



 

以上程序只是一個示例,對于特殊軌跡沒有處理,具體應(yīng)用時可根據(jù)需求添加。

上述采樣器的布置方案不是唯一的,可能有更好的模式,我們提供的只是一種思路,希望能起到拋磚引玉的作用。

五、擴展應(yīng)用
上述模式也可用于其它的應(yīng)用,如在青少年機器人足球項目中,用于對灰色漸變場地的監(jiān)測,本采樣器在LEGO 提供的練習(xí)紙上測試,最黑處約為180,最亮處約為 920,紅灰測試塊的灰色約為480。而用原配的光感,最黑處約為35,最亮處約為55,紅灰測試塊的灰色約為 44。


我沒有在足球場地紙上試過,但根據(jù)這些數(shù)據(jù)可以初步推論:用于監(jiān)測足球場地的灰度變化會比原來大有改善,而且,如果使用者有能力用C51編程的話,肯定會使足球水平大有提高。


如果將現(xiàn)在用于監(jiān)測軌跡的反射采樣器換為檢測紅外球的采樣器,那么用在守門員或進攻機器人上,對找球?qū)泻艽蟮暮锰,這樣RCX可以專注于策略。而且,用LEGO參加足球賽的學(xué)校也可以體現(xiàn)出水平了,因為傳感器的性能、功能可以根據(jù)自己的需要改變,而非統(tǒng)一提供的,大家指標(biāo)差異有限。

關(guān)閉窗口

相關(guān)文章