江達飛 毛玉青


【摘 要】針對小型河流和景區(qū)水域垃圾污染日益嚴重的問題,結(jié)合MSP430F5529單片機設(shè)計實現(xiàn)了一種能夠自動清理水面漂浮物的垃圾清理船。船體使用大容量鋰電池進行供電,控制方式支持手動控制和自動控制兩種形式,手動遙控采用2.4G航模遙控器,遙控距離遠,在船體出現(xiàn)問題時可確保正確返航;自動控制系統(tǒng)采用MSP430F5529主控芯片結(jié)合超聲波、AHRS等傳感器,可實現(xiàn)船體對水面進行“逐行式”的清理。
【關(guān)鍵詞】水面垃圾清理船;MSP430F5529;自動控制
0 引言
近年來,我國經(jīng)濟飛速發(fā)展,水污染問題日益嚴重,部分人環(huán)境意識薄弱,直接將垃圾丟棄于河道中,致使江河、湖泊中漂浮著大量垃圾,造成河道堵塞,水體發(fā)臭。另外景區(qū)水域由于受到發(fā)展迅猛的旅游業(yè)和自然條件的影響,水面往往漂浮著白色垃圾和落葉,使得景點的旅游價值大打折扣。水面垃圾對經(jīng)濟發(fā)展已造成嚴重影響,如何有效清理已迫在眉睫。
目前,日本、歐美等國家相繼投入巨額資金用于研制水面垃圾清理裝置,例如,加拿大的PELICAN公司研制的A系列1010型清掃船采用單體船型,具有清掃水面垃圾、油污水處理、曝氣、消防等4方面功能。國內(nèi)水面垃圾清理的方式主要由兩種,第一,依靠人工清理的方式,由于清理人員相對較少,工作量大、工作環(huán)境又存在著一定的風(fēng)險,因此這種方式清理效果并不理想;第二,使用燃油驅(qū)動和人工駕駛的機械裝置,例如,上海市廢棄物處置公司研制的水面漂浮物打撈船,采用雙船體設(shè)計,打撈裝置采用傳送帶形式,克服了以往人工打撈及抓斗間隙打撈的缺點,打撈速度快,勞動強度低。雖然國內(nèi)外已經(jīng)開發(fā)出比較先進的水面垃圾清理裝置,但是體積較大,結(jié)構(gòu)復(fù)雜且難以攜帶,不利于面積較小且形狀復(fù)雜多變的河道和景區(qū)水域的垃圾清理,另外使用燃油驅(qū)動還存在著空氣及噪聲污染等問題。
1 工作原理
1.1 總體布局
船體結(jié)構(gòu)設(shè)計如圖1所示,它內(nèi)部安裝有兩個直流電機,通過改變電機的轉(zhuǎn)速可以實現(xiàn)船體直行,轉(zhuǎn)彎等操作,船身上安裝由太陽能電池板,可以對船體內(nèi)部的鋰電池進行充電,增加船的作業(yè)范圍,船體兩側(cè)安裝有葉輪,葉輪旋轉(zhuǎn)時產(chǎn)生正向強烈水流,將漂浮的垃圾收集到網(wǎng)狀的垃圾收集箱內(nèi)。
1.2 硬件系統(tǒng)
控制系統(tǒng)的設(shè)計方案如圖2所示,其中主控芯片使用TI公司的MSP430F5529,該芯片主頻達25MHZ,擁有8kb的ram以及256kb的flash,支持ucosII操作系統(tǒng)移植的基本需求;3個TA0定時器,支持10路PWM波輸出或捕獲,滿足電機驅(qū)動模塊、超聲波模塊、遙控器模塊的需求。PWM波使用硬件產(chǎn)生器而不是軟件模擬,可以使得PWM波產(chǎn)生獨立于CPU,系統(tǒng)的效率將變得更高。使用定時器而不是使用外部中斷進行時間測量,可以使得測量精度更加精確。在利用外部中斷進行測量時,當(dāng)捕獲到邊沿信號,CPU需要進入中斷服務(wù)子程序才能對定時器的計數(shù)進行保存,而使用定時器進行時間捕獲時,當(dāng)邊沿信號被檢測,定時器能夠立即將當(dāng)前的計數(shù)值鎖存相關(guān)寄存器中,然后再進入中斷服務(wù)子程序,免去了進入中斷所消耗的時間;支持2路串口,可實現(xiàn)AHRS及藍牙串口數(shù)據(jù)的接收及發(fā)送;豐富的I/O,滿足不同的控制需求。
超聲波模塊用于探測岸邊或者大型障礙物,保證船體在靠近障礙時能夠及時的規(guī)避。本設(shè)計中超聲波使用KS109模塊,它具有測試距離遠,波束角小等特點,可以實現(xiàn)10度以內(nèi)的極小束角,可以有效的避免水面反射超聲波,造成測量錯誤。另外,考慮到供電鋰電池在使用的過程中存在電壓波動以及執(zhí)行穩(wěn)壓功能的開關(guān)電源芯片存在較大噪聲,對超聲波探測距離存在較大干擾,該傳感器具備了可調(diào)濾波降噪技術(shù),在電源電壓受到干擾或噪聲較大時可有效抑制其對測距的影響。
AHRS傳感器內(nèi)部集成了MPU-6050三軸陀螺儀和三軸加速度芯片、HMC5883L三軸地磁芯片,結(jié)合內(nèi)部IMU算法,可以精確的測量出船體當(dāng)前的俯仰、橫滾、航向等信息,利用單片機、直流電機和PID算法可以精確的控制船體前進時的航向。
船體采用12v直流高速電機,其轉(zhuǎn)速最高可達11500RPM,電流在額定工作時為1.8A,在堵轉(zhuǎn)時電流超過14A。船體在剛運行時,水體阻力較大,電流將超過14A,因此在本設(shè)計時,電機驅(qū)動模塊采用高性能、大功率MOS管H橋電路,其最大支持60A電流,保證船體安全運行。另外由于電機功率較大,對控制板可能會造成干擾,因此在輸入端增加了10M高速光耦隔離,使系統(tǒng)變得更加穩(wěn)定。
1.3 軟件系統(tǒng)
軟件結(jié)構(gòu)如圖3所示,軟件開發(fā)前,首先在F5529單片機上移植了ucosii嵌入式實時操作系統(tǒng),它是一個搶占式,多任務(wù)的操作系統(tǒng)內(nèi)核,可以實現(xiàn)多個傳感器以及控制任務(wù)并行運行。使用實時操作系統(tǒng)可以使得開發(fā)人員將精力集中在應(yīng)用層軟件的開發(fā)上來,減小項目開發(fā)的時間。另外操作系統(tǒng)隔離了軟件層和底層硬件,增加系統(tǒng)的穩(wěn)定性。
μC/OS-II擁有250個優(yōu)先級,系統(tǒng)保留了最高以及最低的四個優(yōu)先級,用戶可以分配的優(yōu)先級范圍是4~245,且優(yōu)先級號越低所對應(yīng)的任務(wù)的優(yōu)先級就越高。由于μC/OS-II不支持多個任務(wù)共用一個優(yōu)先級,因此必須為船體控制軟件的每個任務(wù)模塊分配不同的優(yōu)先級。在μC/OS-II中,擁有最高優(yōu)先級的任務(wù)一旦就緒后,就可以立即擁有CPU使用權(quán),因此它的運行周期總是固定的。而最低優(yōu)先級的任務(wù)在任務(wù)就緒時,需要等待優(yōu)先級比它高的任務(wù)運行結(jié)束后才能被執(zhí)行,由于每次等待的時間并不一致,因此它的運行周期是不固定的,而且這種影響隨著高優(yōu)先級任務(wù)數(shù)量以及所消耗的CPU時間的增大而增大。
根據(jù)μC/OS-II的任務(wù)管理機制,控制軟件必須結(jié)合任務(wù)的相對重要度來對個模塊的運行優(yōu)先級進行劃分??刂扑惴ń馑?、AHRS傳感器數(shù)據(jù)接收和電機輸出為系統(tǒng)提供控制量,它的延時會給系統(tǒng)帶來滯后效應(yīng),造成不穩(wěn)定,因此它們的優(yōu)先級較高,分別配置為5,6,7。超聲波數(shù)據(jù)接收模塊用于判斷當(dāng)前船體距離障礙物的距離,當(dāng)有障礙物時,船體可繞行通過。考慮到船體的運行速度較低,并且任務(wù)延時時間為微秒級,所造成的影響較小,因此將它的優(yōu)先級配置為8。人工控制模塊用于切換自動和手動控制模式,在船體出現(xiàn)自動失效時使用,因為船體處于慢速運動,因此它的延時并不會影響到船體的安全性,因此將其的優(yōu)先級配置為9。顯示控制模塊主要是在船體調(diào)試時使用,將船體當(dāng)前的數(shù)據(jù)下發(fā)到上位機上,如果它的運行周期不固定并不影響系統(tǒng)的可靠性,因此將它的優(yōu)先級定為最低的等級10。
電機模塊接收來自人工控制模塊和自動控制模塊的電機控制值,由于電機的速度與PWM波的占空比存在著正比關(guān)系,因此本任務(wù)需要將控制值轉(zhuǎn)化為PWM波的高電平脈寬時間。為了實現(xiàn)這一功能,需要將F5529內(nèi)部的Timer_A定時器設(shè)置為PWM輸出模式,將控制捕獲和比較模式的CAP寄存器設(shè)置為0,使用CCR0寄存器來配置PWM波的輸出周期,CCR1寄存器來配置PWM波的高電平時間。為了能夠使得電機速度控制得更加平滑,PWM波的輸出頻率不能過低,因此將PWM周期設(shè)置為1ms。
超聲波模塊使用IIC總線進行通訊,模塊初始化時通過置位F5529內(nèi)部UCB1CTL0寄存器中的UCMST、UCMODE_3、UCSYNC三個狀態(tài)位,將F5529內(nèi)部的USCI_B模塊配置為IIC同步模式,并且使用UCB1BR0和UCB1BR1兩個寄存器將波特率配置為100khz。超聲波探測距離時,需要使用IIC總線向其發(fā)送一個0xb4命令,它是一個帶溫度補償?shù)木嚯x探測命令,探測距離為0-5m。為了保證在探測超聲波返回之前沒有第二個探測信號發(fā)出,兩次探測命令的最小間隔應(yīng)該保持的87ms以上,因此將該模塊任務(wù)周期設(shè)置為100ms。
人工控制模塊使用Timer_A定時器捕獲遙控接收器三個通道的PWM波高電平脈寬時間,在初始化時,將定時器設(shè)定為上升沿和下降沿雙邊沿觸發(fā)模式,通過判斷TA0CCTL0寄存器中的CCI位來判斷當(dāng)前的邊沿類型。定時器計數(shù)模式采用連續(xù)計數(shù)模式,它的最大計數(shù)值是65535,因此在做時間計算時,還需要考慮到計數(shù)器溢出的問題。另外,由于遙控器信號在傳輸?shù)倪^程中存在一定的干擾,造成測量的PWM波信號會出現(xiàn)偶爾的跳動,因此還需要對測量的數(shù)據(jù)進行處理,僅當(dāng)多次連續(xù)測量的PWM時間小于一定值,才能將當(dāng)前模式切換為人工模式。
2 結(jié)語
隨著我國經(jīng)濟的發(fā)展,人們對于環(huán)境的要求日益提高。景區(qū)水域為了保證不受漂浮物的污染,往往使用傳統(tǒng)人工方式進行清理,消耗大量人力并存在著一定的風(fēng)險性。本設(shè)計使用MSP430F5529作為主控芯片,結(jié)合相應(yīng)的傳感器的執(zhí)行機構(gòu),實現(xiàn)了船體能夠在不受人干擾的情況下,自主地對水面垃圾進行清理,并在機器出現(xiàn)故障時,能及時接受人工控制,滿足景區(qū)水域垃圾清理的要求。
【參考文獻】
[1]謝家興,邱冠武.基于景區(qū)湖泊污染的多功能水域清理船設(shè)計[J].環(huán)境工程學(xué)報,2014,8:2371-2375.
[2]劉坤鵬,唐小濤,董建鵬.基于STM32控制系統(tǒng)的水面智能垃圾清理器設(shè)計[J].中國機械,2014,13:56-57.
[3]丁麗佳,劉鑫,趙岳.遙控水面垃圾自動清理船[J].科技信息,2009,11:108-109.
[4]張玉新,王帥.水面垃圾清理船執(zhí)行機構(gòu)的仿真設(shè)計與研究[J].機械設(shè)計與制造,2011,4:62-64.
[責(zé)任編輯:王楠]