基于雙處理器的投影機升降控制設計方案
摘 要: 提出了一種基于Atmega8 和Stm32F101 雙處理器的投影機升降控制設計方案,介紹了其電路組成、功能以及軟件流程。其中Atmega8 負責數據采集,Stm32F101 實(shí)現對電機的控制,處理器間通過(guò)I2C 總線(xiàn)進(jìn)行通訊。系統采用了紅外遙控或外部按鍵輸入裝置控制,也可以用PC 機聯(lián)機控制。試驗驗證設計方案正確、有效,定點(diǎn)精度符合實(shí)用要求。
本文引用地址:http://dyxdggzs.com/article/164884.htm1 引言
投影機升降控制系統由Atmega8 數據采集電路、Stm32F101 控制電路、電動(dòng)機旋轉圈數檢測模塊、紅外遙控接收發(fā)模塊、外部按鍵模塊以及外接抗干擾等電路構成。目標是對投影機等多媒體設備的升降控制。方案中能隨時(shí)設置投影機到達的最高點(diǎn)和最低點(diǎn)的上限值,設置完畢后無(wú)論投影機在哪個(gè)位置,當按上升鍵時(shí)能到達設置的最高點(diǎn),按下降鍵時(shí)能到達設置的最低點(diǎn),按停止鍵時(shí)停止運動(dòng)。采用粗調與微調相結合的操作方式,長(cháng)按操作鍵3 秒時(shí)投影機連續升或降,松手時(shí)停止,主要用于粗調;短按操作鍵時(shí)投影機升或降一定距離后自動(dòng)停止,用于微調。當設置完后,用保存鍵保存設置,倘若沒(méi)有保存設置,則設置點(diǎn)無(wú)效。紅外遙控器既可設置運行參數,也可升降控制。
2 基本控制方法
控制系統的關(guān)鍵在于可以控制投影機升降到任意位置,升降過(guò)程是靠電動(dòng)機實(shí)現的,升降的直線(xiàn)距離與電動(dòng)機旋轉圈數相對應,實(shí)現了對電動(dòng)機旋轉圈數的控制也就實(shí)現了升降直線(xiàn)距離的控制。本方案的技術(shù)突破點(diǎn)在于將精確直線(xiàn)距離控制轉化為對電動(dòng)機旋轉圈數的控制,電動(dòng)機旋轉一圈對應升降直線(xiàn)距離一毫米,本方案的直線(xiàn)距離控制準確度為一毫米,即實(shí)現對電動(dòng)機旋轉一圈的數字控制。電動(dòng)機控制模塊中采用2 個(gè)紅外傳感器實(shí)現電動(dòng)機旋轉圈數與旋轉方向的采集,由Atmega8 兩根I/O 引腳采集傳感器輸出的信號,引腳的電平組合信號變化狀態(tài)為00,10,11,01(順時(shí)針?lè )较颍┗蛘?0,01,11,10(逆時(shí)針?lè )较颍?。本文利用motor _state 結構體表示電機的狀態(tài),結構體中每個(gè)元素的含義如下:
通過(guò)結構體前兩個(gè)元素值比較可以知道電機是否轉動(dòng);通過(guò)3,4 元素比較可以精確定位投影位置,當相等時(shí)產(chǎn)生中斷,命令電機停止轉動(dòng);在后2 個(gè)元素中,當兩引腳由00 到10 時(shí),motor _ bit _ L 第0位置一,10 到11 時(shí),第1 位置一,11 到01 時(shí),第2 位置一,01 到00 時(shí),第3 位置一,所以當低4位全為1 時(shí)表示電機逆時(shí)針轉動(dòng)一圈,順時(shí)針轉動(dòng)一圈則由motor _ bit _ R 表示。
3 控制系統硬件設計
控制系統總體上分為信號采集與電動(dòng)機控制兩大部分。
如系統框圖右側Atmega8 主要用作紅外傳感器信號電平采集,當Stm32F101 控制電機升降時(shí),電機圈數檢測電路會(huì )通過(guò)紅外傳感器向Atmega8 輸入信號,從而判斷出電機的運行情況。左側為Stm32F101 控制電機的升降部分。命令可以分別由紅外遙控或者與PC 機聯(lián)機后的按鍵方式輸入。當Atmega8 采集紅外傳感器信號電平時(shí),可以通過(guò)I2C總線(xiàn)與Stm32F101 傳遞信息,在投影機到達目的點(diǎn)時(shí)發(fā)出中斷信號使Stm32F101 產(chǎn)生中斷,處理相關(guān)的操作。圖中所示,通過(guò)串口可以方便讀寫(xiě)2 個(gè)E2PROM 的內部數據。掉電保存模塊采用的是CAT24WC16,即使在運行中突然停電,也能自動(dòng)保存電機停電時(shí)刻的狀態(tài)參數,即保存motor _state結構體變量。
圖1 控制器系統硬件結構圖
3.1 電機圈數檢測單元
此單元在整個(gè)系統中處于重要地位,在電機轉軸一端套著(zhù)半圓鐵片,置于紅外傳感器發(fā)射端和接收端之間,當電機轉動(dòng)時(shí)鐵片跟著(zhù)旋轉。圈數檢測單元中有兩個(gè)紅外傳感器,其中每個(gè)紅外傳感器由發(fā)射端和接收端組成。發(fā)射端和接收端之間被半圓鐵片擋住時(shí)輸出信號為低電平0,沒(méi)有擋住時(shí)輸出信號為高電平1.由于是半圓鐵片,隨著(zhù)電機的不斷旋轉,Atmega8兩個(gè)引腳接收紅外傳感器信號,不斷循環(huán)地檢測兩引腳的輸入電平。當兩引腳的輸入電平?jīng)]有變化時(shí)代表電機沒(méi)有轉動(dòng),當變化狀態(tài)為00,10,11,01 或者00,01,11,10 時(shí),表明電機轉動(dòng)。狀態(tài)順序反映出電機順時(shí)針或者逆時(shí)針?lè )较蛐D。
3.2 電機控制模塊
圖2 是Stm32F101 對電機控制的硬件原理圖。
圖2 電機控制硬件結構圖。
圖中ULN2803A 是達林頓驅動(dòng)器件, 受控于Stm32F101,MOTO_UD,MOTO_ON,SPK 直接與Stm32F101 連接,它們的作用分別是控制電機升降,控制電機工作還是停止,控制蜂鳴器響停。繼電器RL303 工作時(shí),電機工作在220V 交流下,反之則停止工作。而繼電器RL302 常開(kāi)時(shí),從圖中知道是控制電機升操作,反之常閉是對電機降操作。為了提高電機的安全性,還采取了升降保護,如圖中連接有兩個(gè)限位開(kāi)關(guān),分別是升、降限位保護,即當到達極限點(diǎn)時(shí)限位開(kāi)關(guān)斷開(kāi),導致電機停止工作,起到保護電路的作用。
4.2 Stm32F101 軟件流程
上電復位后進(jìn)行系統初始化,主函數循環(huán)執行3個(gè)子函數,等待著(zhù)外部控制命令輸入。當接收到任意一種外部命令時(shí),Stm32F101 使Atmega8 產(chǎn)生I2C 中斷,傳遞相關(guān)數據,Atmega8 響應正常后Stm 32F101才執行控制電機的操作,程序流程圖如圖6 所示。
圖6 Stm32F101 軟件流程圖。
5 實(shí)驗結果分析
首先設置投影機的最低點(diǎn)和最高點(diǎn)分別為20.00cm、120.00cm,實(shí)驗中總是在投影機下降過(guò)程中斷電片刻后上電,反復記錄投影機所到達的最低點(diǎn)和最高點(diǎn),實(shí)驗數據見(jiàn)表1.由測試結果可知,測量誤差在1mm 以?xún)?,并且隨著(zhù)實(shí)驗次數的增加測試數據會(huì )向下偏移。同樣可以試驗,在投影機上升過(guò)程中斷電時(shí),隨著(zhù)實(shí)驗次數的增加測試數據會(huì )向上偏移,故而在實(shí)際應用當中,投影機所到達設置點(diǎn)的誤差能確保在1mm 以?xún)取?/font>
表1 實(shí)驗測試數據 cm
6 結論
本方案的技術(shù)突破點(diǎn)在于:
首先,Atmega8 采集紅外傳感器信號電平兩種變化狀態(tài)00,10,11,01 和00,01,11,10 及其相關(guān)算法處理,正確并且快速地獲取電機的轉動(dòng)狀態(tài)和轉動(dòng)圈數,實(shí)現了精確直線(xiàn)距離控制轉化為對電動(dòng)機旋轉圈數的控制。
其次,采用雙處理器,Atmega8 負責信號采集分析,Stm32F101 負責電機控制,使得實(shí)時(shí)性更高,響應速度更快,從而穩定性和精度性都有了明顯的提高,完全滿(mǎn)足投影機等多媒體設備的定位需求。
3.3 外部輸入模塊
圖3 是外部按鍵輸入模塊,圖中key_1,key_2,key_3 與Stm32F101 引腳分別相連,鍵按下時(shí)該鍵輸入為0,當多于一個(gè)鍵同時(shí)按下時(shí)視為無(wú)效。則有效模式分別對應110,101,011 三種狀態(tài)。當按下其中任意一鍵時(shí),發(fā)光二極管導通,發(fā)出光信號作為三極管的基極輸入,三極管導通,對應Stm32F101引腳低電平,從而作出相應處理。采用光電耦合,增強了抗干擾能力。
圖3 外部按鍵結構圖。
圖4 為紅外遙控解碼模塊接口圖,D0,D1,D2,D3連到Stm32F101.紅外遙控模塊采用了解碼電路(BM2272)與編碼電路(BM2262)配合使用的一塊解碼專(zhuān)用集成電路。圖4 中BM2272 模塊接收BM2262紅外線(xiàn)傳輸方式發(fā)送來(lái)的一系列地址和數據,通過(guò)地址位進(jìn)行2 次連續比較,如果發(fā)現沒(méi)有錯誤的碼字和不匹配的字,輸入的數據被解碼并傳送給相應的數據腳輸出,同時(shí)VT 腳輸出一個(gè)高低平的脈沖來(lái)表明一個(gè)有效地發(fā)射。
紅外遙控器相關(guān)文章:紅外遙控器原理 蜂鳴器相關(guān)文章:蜂鳴器原理
評論