基于單頻電磁制導方式的AGV小車
該讀卡器的接口協(xié)議和電氣特性與PS/2鍵盤是一致的,所以完全可以將該讀卡器當作一個PS/2鍵盤來處理。
具有5腳連接器的鍵盤稱為AT鍵盤,而具有6腳mini-DIN連接器的鍵盤則稱為PS/2鍵盤。但實際上這兩種連接器都只有4個腳有意義,分別是時鐘腳(Clock)、數(shù)據(jù)腳(Data)、電源腳(+5 V)和電源地(Ground)。在PS/2鍵盤與PC機的物理連接上只要保證這4根線一一對應就可以了。PS/2鍵盤由PC機的PS/2端口提供+5 V電源,時鐘腳Clock和數(shù)據(jù)腳Data都是集電極開路的,所以必須接大阻值的上拉電阻,平時這兩個腳均保持高電平,有輸出時才被拉到低電平,之后自動上浮到高電平。圖6的單片機是帶有上接電阻的,所以PS/2可以與MCU直接連接。
2.4 小車控制核心MCU
MCU用一片AT89S51單片機來實現(xiàn),51系列單片機其價格便宜、功能強大、且易學易用,唯一不足的是容易受到外界脈沖信號的干擾。但可以采用如下方式來消除脈沖信號的干擾:(1) 硬件處理。首先要注重電源設計,電源要穩(wěn)定可靠;其次是在單片機的電源引腳與地引腳之間加去耦電容,兩個不同的電源電路連接用光電耦合隔開等。(2)軟件處理??刹捎弥噶钊哂嗉夹g、攔截技術、軟件看門狗等處理技術,使程序能夠自動回到正常位置執(zhí)行程序。
MCU引腳鏈接如圖7所示,因為計算定時器初始值比較容易,MCU的時鐘信號是用一只12 MHz晶振提供。C_MOTOR1、C_MOTOR2是電機控制信號輸出端,single1~single3是電磁信號經(jīng)過處理后的輸入端,P0中即D0~D7是LED數(shù)碼管顯示的數(shù)據(jù)端,K0、K1是鍵盤接口。IO口可用作以后系統(tǒng)擴展時用。這樣MCU既滿足了當前系統(tǒng)的要求,也為以后的擴展升級留有空間。
3 軟件設計
軟件設計分為初始化模塊、讀卡器讀卡模塊、位置計算模塊、小車行走模塊(內(nèi)含故障處理機制)。其程序流程如圖8所示。
各模塊基于結(jié)構(gòu)化程序設計的思想,為了保證得到結(jié)構(gòu)化的程序,可采用以下方法:自頂向下、逐步細化、模塊化設計、結(jié)構(gòu)化編程。在軟件設計中選用了通用性比較強的C語言作為系統(tǒng)驅(qū)動程序的編寫語言。
當從設備(PS/2)向主設備(MCU)發(fā)送數(shù)據(jù)時,首先檢查時鐘線,以確認時鐘線是否為高電平,如果是高電平,從設備就可以開始傳輸數(shù)據(jù);反之,從設備要等待獲得總線的控制權(quán),才能開始傳輸數(shù)據(jù)。傳輸?shù)拿恳粠?1 bit組成,發(fā)送時序及每一位的含義如圖9所示。
在PS/2通信過程中,MCU在時鐘信號為低時發(fā)送和接收數(shù)據(jù)信號。因為MCU向鍵盤發(fā)送的是指令,需要鍵盤回應,所以這部分程序采用查詢方式I。而MCU接收鍵盤數(shù)據(jù)時,數(shù)據(jù)線上的信號在時鐘為低時已經(jīng)穩(wěn)定,所以這部分程序采用中斷方式,且不需要在程序中加入延時程序。
4 測試結(jié)果
雖然電磁信號接收處理部分能夠接收并處理信號發(fā)生器所產(chǎn)生的磁場信號,但是頻率調(diào)節(jié)的效果并不理想。因此將信號發(fā)生器做成頻率可調(diào)的,以便于信號發(fā)生器與電磁信號接收處理部分握手,以及達到在演示時能體現(xiàn)出電路的選頻特性。
用示波器觀察信號發(fā)生器的其輸出波形發(fā)現(xiàn),輸出波形并不是很完好,有很多諧波在里面,如圖10所示。由于這些諧波存在,使得該波形的帶寬BW比較寬,不能很好地體現(xiàn)出電路的選頻作用。這是因為三極管開關速度及電路焊接的問題。
電磁信號接收轉(zhuǎn)換電路存在的問題:(1)不能很好地轉(zhuǎn)過所有彎道。其主要原因是探頭安裝不能完全避免所有死角。實驗時發(fā)現(xiàn),小于等于90°的角很難轉(zhuǎn)過去,而大于90°的角特別是圓弧卻很容易轉(zhuǎn)過去。而在實際應用時,可以人為地將引導線布成銳角來解決這一問題。(2)BW比較寬,,由式可知,帶寬BW與3個變量有關,其中fo、C2是固定的,而Vi卻是一個時大、時小的不定的量。理想的BW要求不超過1 kHz,而本設計電路波形的帶寬卻達到了約7 kHz。但可以采取加大C2和f0的值解決這一問題。
本文設計的系統(tǒng)軟硬件都已通過各種測試,與同類產(chǎn)品相比,該系統(tǒng)的突出優(yōu)點是安裝方便、使用成本低、引導路徑的更改比較隨意,這也是使用成本低的關鍵因素。
評論