濮陽縣職業(yè)技術(shù)學(xué)校 王蓮進
控制芯片是油煙管道清潔機器人的核心,用軟件的方式來代替復(fù)雜的硬件電路設(shè)計,減低設(shè)計的困難程度,更方便簡單地實現(xiàn)各種功能,并且可以很好地完成初始設(shè)計的要求。整體設(shè)計方案的系統(tǒng)框圖如圖1所示,包括單片機STC89C52、驅(qū)動模塊、檢測模塊、信號接收模塊、電源模塊、沖洗模塊組成。
圖1 清潔機器人系統(tǒng)結(jié)構(gòu)原理
STC89C52單片機是系統(tǒng)實現(xiàn)智能功能的核心。通過燒錄進單片機的程序,根據(jù)信號接收模塊傳入的信息,自動控制油煙管道清潔機器人實現(xiàn)各種設(shè)計功能。驅(qū)動模塊主要由L298N芯片組成。用于驅(qū)動行走電機。行走電機主要控制四個車輪轉(zhuǎn)速以實現(xiàn)油煙管道清潔機器人的運動。信號接收模塊主要由紅外轉(zhuǎn)彎傳感器左右各一個,紅外防墜傳感器一個和紅外碰撞傳感器前方和左右各一個組成。這些傳感器用于控制機器人的行走方向,實現(xiàn)轉(zhuǎn)彎和防墜落功能。電源模塊采用充電電池給提供的7.2V電壓轉(zhuǎn)換為穩(wěn)定的可供微控制器,傳感器和其他模塊使用的5V電壓。沖洗模塊采用電磁閥控制沖洗直流電機工作。由單片機控制電磁閥的開閉。沖洗直流電機控制沖洗高壓水槍負責(zé)沖洗油煙管道里的油煙。
監(jiān)測模塊的攝像頭是放置在后方,拍攝后方的情況,檢測模塊的攝像頭是布置在前方,用于拍攝前方油煙管道的情況。工作過程為:先設(shè)置單片機使單片機和攝像頭頻率相同,實現(xiàn)單片機與攝像頭同步,然后單片機在指定時間向攝像頭發(fā)射特點指令,控制攝像頭拍攝,上傳數(shù)據(jù)給zigbee無線通信模塊,最后再由無線通信模塊把數(shù)據(jù)傳送給上位機,通過上位機顯示拍攝畫面。如圖2所示為檢測和監(jiān)測模塊系統(tǒng)設(shè)計框圖。
圖2 檢測和監(jiān)測模塊系統(tǒng)框圖
本設(shè)計采用LM7805CV穩(wěn)壓芯片作為穩(wěn)壓電源的核心設(shè)計。LM7805CV穩(wěn)壓芯片可以輸出穩(wěn)定的5V電壓,其輸出電流可以達到1.5A,因為內(nèi)含限流保護電路,所以可以防止負載短路燒毀器件。電路原理圖如圖3所示。
圖4是模塊設(shè)計的電路原理圖,有L298N驅(qū)動電路和保護電路兩部分。用于驅(qū)動直流電機正反轉(zhuǎn)和調(diào)速。
圖3 5V穩(wěn)壓電源模塊
由于輸出端口連接到電機線圈,這將產(chǎn)生反電動勢,這將對L298N造成沖擊,這很容易造成損壞,特別是當(dāng)有正電壓或負電大于電源電壓時生成,更有可能損壞L298N。兩根二極管1N4007添加到根線以進行保護。保護原理是:當(dāng)產(chǎn)生的反電動勢為正且超過電源+0.7V時,下二極管導(dǎo)通,因此它被限制在+0.7V的電壓,并且不會產(chǎn)生超過+0.7V的電壓值。當(dāng)產(chǎn)生的反電動勢為負且低于-0.7V時,上二極管導(dǎo)通,其限制為-0.7V且不低于-0.7V。這可以保護L298N芯片免受損壞。
圖4 驅(qū)動模塊電路圖
圖5 紅外傳感器電路
清潔機構(gòu)的清潔機構(gòu)由直流電機驅(qū)動。因為不需要控制速度,所以不需要經(jīng)常停止。因此直接將直流電機與電源連接,只要一上電就直接一直工作。
紅外傳感器具有很強的適應(yīng)性,對光線很敏感,精度很高。通過發(fā)射紅外線,檢測反射回來的紅外線強度來判斷前方障礙物的距離。有效檢測距離為2~30cm,工作電壓為3.3V~5V。其紅外傳感器電路原理圖如圖5所示。
其工作原理如下:當(dāng)上電后,電源指示燈亮,紅外發(fā)射二極管不斷發(fā)射紅外線,反射回來的紅外線被紅外接收二極管接收,紅外接收二極管根據(jù)接收的紅外線強度來改變導(dǎo)通程度。當(dāng)返回的紅外線強度足夠時,使紅外接收二極管導(dǎo)通程度大,導(dǎo)致LM393正輸入端的電壓大,通過和VR1電阻設(shè)置的電壓比較,高時使電壓比較器LM393導(dǎo)通輸出低電壓,開關(guān)指示燈亮。
由直流電機驅(qū)動油煙管道清潔機器人的四個輪子。通過差速的方法來實現(xiàn)變向與轉(zhuǎn)彎。在這個油煙管道清潔機器人的設(shè)計中,是通過單片機向L298N驅(qū)動電路輸入信號間接控制直流電機的運行狀態(tài)。如表1所示為L298N控制其中一個直流電機運行的真值表。
表1 L298N控制電機的真值表
其中,“1”為高電平輸入;“0”為低電平輸入。當(dāng)使能端口ENA輸入為0時,不管IN1和IN2這兩個控制端口輸入為何值時電機都不能轉(zhuǎn)。在使能端口輸入為1時,當(dāng)L298N芯片兩個控制端口(IN1和IN2)同時輸入為高電平或低電平時,電機也不能旋轉(zhuǎn)。只有在使能端口輸入為1,同時一個控制端口輸入高電平而另一個控制端口為低電平時旋轉(zhuǎn)。當(dāng)IN1為1,IN2為0時直流電動機正轉(zhuǎn)。當(dāng)IN1為0,IN2為1時直流電動機反轉(zhuǎn)。
要使機器人轉(zhuǎn)彎,就要使一邊的電機停止,另一邊的電機正轉(zhuǎn),差速轉(zhuǎn)彎。右轉(zhuǎn)程序如下:
油煙管道中的清潔工作不需要很高的速度,對于行走和轉(zhuǎn)彎也需要不同的速度。所以需要使用PWM調(diào)速方法來改變速度。這里只用一個定時器就可以產(chǎn)生多組不同的PWM波的方法。產(chǎn)生PWM波的原理為:把波形的一個周期平分為N份,其中t份為高電平,(N-t)份為低電平。具體產(chǎn)生兩個PWM波的方法,把一個周期T分為10份,其中每份的時間間隔為一次定時器的時間t。為了產(chǎn)生PWM1的占空比為30%,PWM2的占空比為50%。所以PWM1是前3次定時器時間為高電平,后7次定時器為低電平,達成一個周期,然后如此循環(huán)下去,就產(chǎn)生了占空比為30%的PWM波形。PWM2是前5次定時器為高電平,后5次定時器為低電平,一個周期也是10次定時器。同理也可以在生成其他更多的PWM波。
因為是在油煙管道中行走,管道很狹窄,清潔機器人的體積已經(jīng)占了很大的空間,所以機器人在管道中行走的空間很小,只能讓機器人不斷地前進,過程中通過小幅度的轉(zhuǎn)彎來保證機器人始終保持在管道中間,當(dāng)遇到管道轉(zhuǎn)彎時原地大幅度轉(zhuǎn)彎來達到轉(zhuǎn)彎的效果。
上電開始自動行走,當(dāng)左碰撞紅外傳感器檢測到了信號時,說明機器人離管道左側(cè)靠的太近,所以機器人自動向右小幅度轉(zhuǎn)彎。同理當(dāng)右碰撞紅外傳感器檢測到了信號時,機器人左小轉(zhuǎn)。當(dāng)機器人走到轉(zhuǎn)角處時,前紅外檢測傳感器檢測到信號,同時右轉(zhuǎn)紅外傳感器沒有檢測到信號,機器人速度降低自動右轉(zhuǎn)彎。同理當(dāng)前紅外檢測傳感器檢測到信號,同時左轉(zhuǎn)紅外傳感器沒有檢測到信號,機器人速度降低自動左轉(zhuǎn)彎。機器人正在行走時,如果當(dāng)走的油煙管道盡頭時,盡頭檢測傳感器檢測不到信號,這時機器人蜂鳴器報警,同時機器人停止前進。沒有到盡頭時則正常前進。當(dāng)機器人走到死角時,前方不能前進同時左右也沒有路口時,機器人啟動報警同時停止前進。
按照設(shè)計好的電路圖,用Proteus軟件進行行走程序的仿真調(diào)試。由于仿真軟件中沒有電機,蜂鳴器和紅外傳感器這些元器件。所以用開關(guān)來代替紅外傳感器,用二極管來看輸出,如圖6為直行運行時產(chǎn)生的PWM波形。從波形可以看出達到了設(shè)計時要求的占空比。
圖6 PWM波形圖
結(jié)論:本設(shè)計采用了STC89C52單片機作為油煙管道清潔機器人核心控制芯片,使用了直流電機和差速轉(zhuǎn)向的原理,蜂鳴器報警及紅外傳感器,使得油煙管道清潔機器人制作成本相對較低,功能基本準確實現(xiàn)。