黃鑫
(北京信息職業技術學院,北京 100000)
本文針對C 語言課程教學,以VB 作為編譯軟件,特選擇AVR 主控板,此主控板采用AVR ATmage128 單片機。128K 字節的系統內可編程Flash;4K 字節的EEPROM,4K 字節的內部SRAM。板內集成電源穩壓電路、16×2 字符液晶顯示器、聲控開關、蜂鳴器、雙路直流電機驅動電路等。提供26 個通用I/O 接口,其中8 個可用于模擬輸入進行10 位的A/D 轉換。另有I2C 和通用串行接口。
AVR 主控板自帶電源穩壓電路,輸入電源范圍DC 3.6V—6V。與PC 機USB 接口連接實現機器人程序的下載。
AVR 主控板上帶有LCD1602 液晶顯示器,利用電位器調節LCD1602 液晶顯示器的對比度。
主控板寫入低層程序接口,用于系統的初始化和支持PC 機通過USB接口與主板進行程序的下載。
1.三端連接插座。三端連接插座接口總計18 個,全部可用于數字位的輸入輸出。其中8 個數字接口(D0-D7);8 個模擬接口(ADC0-ADC7)可接收DC 0-5V 的模擬信號進行10 位的A/D 轉換。
2.擴展接口。為需要多端口的外接模塊提供連接方便,主控板使用插針方式設置了兩組擴展接口。一組4 位(K0-K3),另一組6 位(K4-K9)。
3.I2C 接口。主控板的I2C 通訊采用主從方式。主板CPU 為主機,I2C接口的傳感器為從機。作為從機的I2C 傳感器各自有固定的地址。主控板只設置一個I2C 接口,多個I2C 傳感器可以并聯到主機。
4.驅動電機。主控板提供雙路直流電機驅動單元,常用于機器人行走電機的驅動控制。采用L298 驅動電路。可提供最高DC36V,總電流4A 的驅動能力。
5.擴展驅動接口。為方便外接驅動電路(步進電機或其它獨立的驅動電路),主控板設置了擴展驅動控制接口。本接口可按用戶需要提供多種電機驅動方式。
為了讓機器人更具有智能化,需要在主控板上連接相應傳感器,根據教學需要,特選擇三種類型的傳感器:數字量傳感器、模擬量傳感器、I2C 接口傳感器。針對這三種傳感器,需要集合在軟件之中,所以分別采用數字接口傳感器、模擬接口傳感器和I2C 接口傳感器來顯示。下面簡單介紹一下選擇的三種類型的傳感器。
各種開關量的傳感器的檢測結果均為二進制的一位數字信號,此類型的傳感器均為數字量傳感器,如:光電傳感器、紅外避障傳感器和超聲波傳感器、接觸傳感器、金屬傳感器、聲控開關等。這些傳感器均可配置3線鎖緊接插頭,與主控板上的三端連接插座配套。推薦使用這些傳感器與主控板的D 類接口(D0-D7)連接。若A 類接口(A0-A7)有空余,也可連接到A 類接口。若D 類和A 類接口沒有空余,再使用擴展I/O 接口。下面簡單介紹一下所選擇的數字接口傳感器。
1.紅外避障傳感器。紅外避障傳感器是一種能夠識別障礙物的傳感器。機器人在機身的前面、左面、右面、后面四個不同方位各安裝了一個紅外線傳感器,可以實現四個方向的避障,也可根據需要安裝更多的紅外傳感器。
紅外避障模塊是一種被動式紅外線傳感器。由石英晶體震蕩器、紅外發射管和一體化接收器組成。發射管發射調制的紅外線信號,遇到障礙物后會反射回來,被接收器接收。當在其有效距離內遇到障礙時,接收器輸出低電平。程序通過檢測接收器的輸出電平,便可知道是否有障礙物存在。避障傳感器的避障距離在5-80CM 范圍,可根據需要進行調節,調整過程中,有信號指示燈顯示,信號指示燈亮說明有避障信號。如圖1 所示。
2.光電傳感器。光電傳感器是可以識別顏色及色差的一種傳感器,光電傳感器可以識別不同的顏色,如深色呈現高電位(光電傳感器的電位顯示滅),白色呈現低電位(光電傳感器的電位顯示亮),利用它的這一特性,我們可以讓機器人做多種動作。利用左側和右側的接受光強不一致,也可以讓機器人走規定路線。
光電傳感器由輔助光源(發光二極管)、光敏電阻和比較器組成。它是基于光敏電阻原理設計的,即:光敏電阻的阻值與其接收的光線強度成反比。光線越強,阻值越小。當光敏電阻接收的光強接近時,其阻值較小,與固定電阻Rx 分壓后,使比較器的同向輸入端電壓低于反向輸入端,比較器輸出低電平。通過調整電位器滑動臂的位置,即可改變使比較器輸出低電平時的絕對光強。滑動臂向下調,反向輸入端電壓降低,需要更強的光照使光敏電阻的阻值更小,才能使同向輸入端電壓低于反向輸入端,輸出低電平。反之亦然。光電傳感器的缺點是受環境光影響較大,需要根據環境光線強弱的變化隨時調整電位器滑臂位置,才能獲得較好的效果。理想的經常分壓點的電壓低于電源電壓的1/2,在窗口比較器設定的窗口之內,兩個比較器均輸出高電平。當其中一個光敏電阻接收光強較強時,分壓點的電壓將遠離電源電壓的1/2,超出比較器設定的窗口,相應的比較器輸出低電平。如圖2 所示。
為使用方便,選擇的光電傳感器分上下兩個部分,上半部分為調節部分,主要用來進行調節對比點;下半部分為檢測部分,因為檢測部分常常接近被檢測物體,所以單獨分立出來,便于安裝。
模擬接口傳感器主要是進行一些模擬量的測量,需要得到變化的數值,此類型傳感器需要具有線性變化的特性,檢測的結果均為模擬電壓信號,必須與A類接口連接。CPU可對A類端口輸入的信號進行A/D轉換處理。例如:光電接收(光感)傳感器、模擬光電(灰度)傳感器、紅外測距傳感器、模擬聲控傳感器等。下面簡單介紹一下所選擇的模擬接口傳感器
1.模擬光電傳感器。模擬光電傳感器用來檢測場地顏色的,可識別各種顏色,通過主板上的AD 口可以得到不同的數值,此數值在LCD 液晶顯示板上可以看見,在淺顏色下數值小,深顏色下數值大。為使用方便,同樣選擇上下兩部分組成。
2.模擬聲控傳感器。模擬聲控傳感器是機器人的耳朵,功能是利用聲音來控制機器人的運動。例如機器人跳舞就可以利用聲控模塊來實現。此傳感器由話筒、放大電路、整形電路組成。話筒接收到聲音信號,經放大、整形后,得到的是高低電平的變化。無聲時輸出為高電平,有聲時輸出低電平。如圖3 所示。
I2C 接口的傳感器均作為從機與作為主機的主板CPU 進行I2C 通訊。主板中只有一個I2C 插座,但此類傳感器均設置雙I2C 接口插座。需要使用多個I2C 傳感器時,可通過I2C 傳感器上的第二個I2C 接口接續連接。在此項目的使用上,我們選擇了一個復合尋跡傳感器。
下圖為復合尋跡傳感器接口圖,如圖4 所示。
復合尋跡傳感器并列設置7 個尋跡傳感器,適于實現復雜情況的尋線檢測。每路尋跡檢測設置有指示燈。此傳感器上設置有兩位DIP 開關,一位開關(1-4)用于選擇I2C 通訊地址值,因此可以同時使用兩個復合尋跡傳感器。另一位開關用于選擇檢測白線還是檢測黑線。使用復合尋跡傳感器前,最好在使用現場進行校驗。復合尋跡傳感器DIP 開關設置如表1所示。

表1 復合尋跡傳感器DIP 開關設置
開機后,全部指示燈全亮 1 秒后熄滅,進入正常工作狀態。此時,可以將全部尋跡傳感器置于引導線上,按S1 校正鍵,按鍵后單數1、3、5、7 通道指示燈閃爍,表示正在讀取檢測數據。各通道數據讀完后,全部指示燈閃亮,提示將全部傳感器放置到引導線外,放置好后,再次按動校正鍵,此時,雙數2、4、6 通道指示燈閃爍,表示正在第二次讀取檢測數據。第二次數據讀完,校驗正確,燈熄滅。若校驗不正確,單數1、3、5、7 通道指示燈閃爍,返回讀取第一次數據的狀態,重新進行校驗。復合尋跡傳感器通訊協議表如表2 所示。

表2 復合尋跡傳感器通訊協議表