趙 濤,陶重犇,馮佳佳,孫云飛
1(蘇州科技大學(xué)天平學(xué)院,蘇州 215009)2(蘇州科技大學(xué) 建筑智慧節(jié)能江蘇省重點(diǎn)實(shí)驗(yàn)室,蘇州 215009)
基于STM32單片機(jī)的自動(dòng)噴灌機(jī)器人①
趙 濤1,陶重犇2,馮佳佳2,孫云飛2
1(蘇州科技大學(xué)天平學(xué)院,蘇州 215009)2(蘇州科技大學(xué) 建筑智慧節(jié)能江蘇省重點(diǎn)實(shí)驗(yàn)室,蘇州 215009)
針對(duì)農(nóng)業(yè)大棚中人工噴灌存在的效率低、勞動(dòng)強(qiáng)度大等問題,為了提高農(nóng)業(yè)大棚自動(dòng)化水平,本文提出了一種基于STM32單片機(jī)為核心控制器的自動(dòng)噴灌機(jī)器人.該機(jī)器人通過灰度傳感器實(shí)現(xiàn)循線,以三輪差分轉(zhuǎn)動(dòng)方式控制機(jī)器人底盤前進(jìn)與轉(zhuǎn)彎.并基于柵格法提出了一種適用于農(nóng)業(yè)大棚環(huán)境的路徑規(guī)劃算法.水箱中的水泵開關(guān)由繼電器間接控制,并可通過藍(lán)牙模塊遠(yuǎn)程控制噴灌.溫濕度傳感器負(fù)責(zé)實(shí)時(shí)測(cè)量土壤濕度,并傳回單片機(jī)進(jìn)行處理.實(shí)驗(yàn)表明,本文以模塊化思想設(shè)計(jì)的噴灌機(jī)器人功能齊備,有利于農(nóng)業(yè)機(jī)器人的推廣使用.
STM32 單片機(jī);農(nóng)業(yè)機(jī)器人;自動(dòng)噴灌;柵格法
隨著我國農(nóng)業(yè)生產(chǎn)的逐漸大規(guī)模化,農(nóng)業(yè)機(jī)器人成為人們從事農(nóng)業(yè)生產(chǎn)必不可少的重要助手.農(nóng)業(yè)機(jī)器人的研發(fā)也成為研究的重點(diǎn)和熱點(diǎn).然而,農(nóng)業(yè)機(jī)器人有著很多的應(yīng)用領(lǐng)域,包括溫室果蔬自動(dòng)采摘、施肥、噴灑農(nóng)藥、農(nóng)田灌溉和插秧等方面[1].我國農(nóng)業(yè)機(jī)器人的研究從20世紀(jì)90年代中期開始,至今在除草機(jī)器人、采摘機(jī)器人、噴藥機(jī)器人、施肥機(jī)器人和嫁接機(jī)器人等各方面都有研究成果[2].賀曉龍等人提出基于AVR單片機(jī)為核心,開展了對(duì)草坪灌溉機(jī)器人的研究[3].開思聰?shù)热嘶赟TM32單片機(jī)實(shí)現(xiàn)了對(duì)倉儲(chǔ)搬運(yùn)機(jī)器人的控制[4].賀曉龍等人基于自適應(yīng)模糊控制,提出了一種適用于草坪環(huán)境中的灌溉機(jī)器人[5].
本文設(shè)計(jì)的自動(dòng)灌溉機(jī)器人將STM32單片機(jī)作為處理器,以三輪差分轉(zhuǎn)動(dòng)方式控制移動(dòng)機(jī)器人底盤.并利用STC10溫濕度傳感器進(jìn)行濕度實(shí)時(shí)采集數(shù)據(jù),并將采集數(shù)據(jù)傳回單片機(jī).由單片機(jī)確定大棚農(nóng)作物是否需要進(jìn)行噴灌作業(yè).如果農(nóng)業(yè)大棚中的溫濕度低于預(yù)設(shè)值,那么繼電器將控制水泵來實(shí)現(xiàn)自動(dòng)噴灌.
本文采用的STM32單片機(jī)是一種低功耗、高性能ARM Cortex-M內(nèi)核的32位微控制器.擁有靈巧的32位CPU和在系統(tǒng)可編程Flash,能夠?yàn)樽詣?dòng)灌溉機(jī)器人提供高靈活、高效的控制.三輪差分移動(dòng)機(jī)器人能夠精確控制沿田壟巡線行進(jìn),快速到達(dá)作物地點(diǎn)進(jìn)行灌溉作業(yè).
本文設(shè)計(jì)的噴灌機(jī)器人基于內(nèi)部的STM32單片機(jī)為核心,分為濕度數(shù)據(jù)檢測(cè)和數(shù)據(jù)處理兩大功能模塊.濕度數(shù)據(jù)檢測(cè)功能利用STC10溫濕度傳感器采集農(nóng)業(yè)大棚中溫度和濕度數(shù)據(jù),并在機(jī)器人身上的數(shù)碼管上進(jìn)行顯示.數(shù)據(jù)處理功能模塊主要負(fù)責(zé)將采集到的數(shù)據(jù)傳輸回單片機(jī),對(duì)數(shù)據(jù)進(jìn)行分析和處理,并決策和控制噴灌機(jī)器人做出相應(yīng)的決策.
本文的決策方式是將溫濕度傳感器采集到的數(shù)據(jù)與預(yù)設(shè)閾值進(jìn)行比較.當(dāng)采集到的數(shù)據(jù)低于預(yù)設(shè)最低值時(shí),由單片機(jī)控制繼電器,從而間接控制水泵進(jìn)行噴灌.同時(shí)單片機(jī)控制蜂鳴器發(fā)出蜂鳴提示;當(dāng)濕度高于預(yù)設(shè)最低值時(shí),蜂鳴器停止;當(dāng)濕度高于預(yù)設(shè)最高值時(shí),單片機(jī)控制繼電器停止噴灌.此外,噴灌機(jī)器人內(nèi)部安裝有藍(lán)牙模塊,因此本文編寫了手機(jī)藍(lán)牙串口APP.借助于該APP可實(shí)現(xiàn)通過人工手動(dòng)遙控的方式,實(shí)現(xiàn)利用繼電器控制機(jī)器人噴頭進(jìn)行噴灌.本文設(shè)計(jì)的自動(dòng)噴灌機(jī)器人原理圖如圖1所示.
圖1 自動(dòng)噴灌機(jī)器人原理圖
自動(dòng)噴灌機(jī)器人由電源模塊、控制模塊、驅(qū)動(dòng)模塊、灰度傳感器模塊、藍(lán)牙模塊、噴灌系統(tǒng)、LED顯示模塊和車體等八個(gè)部分組成,如圖2所示.灰度傳感器模塊感知田壟,將信息傳輸?shù)娇刂颇K,控制模塊經(jīng)過計(jì)算后作出判斷,并通過電機(jī)控制機(jī)器人進(jìn)行相應(yīng)運(yùn)動(dòng).由于電路板、電機(jī)和電池等模塊安放在車身上,車身設(shè)計(jì)為了考慮到了各模塊間的空間和車體自身的承載能力,本文設(shè)計(jì)的車身采用兩個(gè)主動(dòng)輪和一個(gè)萬向輪的方式.兩個(gè)主動(dòng)輪分別連接兩個(gè)伺服電機(jī)來控制機(jī)器人的運(yùn)動(dòng)——電機(jī)的正反轉(zhuǎn)動(dòng)決定機(jī)器人的前進(jìn)或后退,轉(zhuǎn)速不同決定機(jī)器人的運(yùn)動(dòng)快慢[6].
圖2 自動(dòng)噴灌機(jī)器人硬件結(jié)構(gòu)圖
噴灌系統(tǒng)電路包括1路帶光耦隔離繼電器模塊和水泵,通過繼電器的吸合來控制水泵的通斷.本文中繼電器接單片機(jī)P^1.6口,當(dāng)P^1.6為低電平時(shí),繼電器工作,繼電器狀態(tài)指示燈亮.1路帶光耦隔離繼電器模塊能夠支持高、低電平觸發(fā).當(dāng)線圈出腳兩端加上電壓或電流時(shí),線圈的激磁電流將產(chǎn)生磁通,磁通通過鐵芯、軛鐵、銜鐵和氣隙組成磁路,并在氣隙中產(chǎn)生電磁吸力.當(dāng)激磁電流上升到某一值時(shí),電磁吸力矩將克服彈簧的反力矩使銜鐵轉(zhuǎn)動(dòng),并帶動(dòng)推動(dòng)片推動(dòng)彈簧,實(shí)現(xiàn)觸點(diǎn)閉合;當(dāng)激磁電流減小到一定值時(shí),彈簧的反力矩使得銜鐵回到初始狀態(tài),觸點(diǎn)斷開.
藍(lán)牙模塊采用BlueCore4-Ext芯片,遵循V2.1+EDR藍(lán)牙模塊.具有成本低、體積小、功耗低和收發(fā)靈敏性高等優(yōu)點(diǎn).主要用于短距離的數(shù)據(jù)無線傳輸領(lǐng)域.用戶可以通過手機(jī)手動(dòng)控制機(jī)器人進(jìn)行噴灌.
STC10溫濕度傳感器基于領(lǐng)先世界的CMOSens數(shù)字傳感技術(shù).具有響應(yīng)速度快、功耗超低、可與單片機(jī)直接相連、極高的可靠性和卓越的長(zhǎng)期穩(wěn)定性等優(yōu)點(diǎn).STC10溫濕度傳感器的DATA腳是1個(gè)三態(tài)門,用于MCU與STC10之間的數(shù)據(jù)傳輸.DATA的狀態(tài)在串行時(shí)鐘SCK的下降沿發(fā)生改變,在SCK的上升沿有效.
STC10運(yùn)作過程包括首先發(fā)送一組“傳輸啟動(dòng)”序列初始化,其次發(fā)送命令時(shí)序,包括3個(gè)地址位和5個(gè)命令位.測(cè)量結(jié)束后傳輸2字節(jié)的測(cè)量數(shù)據(jù)和1字節(jié)的CRC檢驗(yàn),確定CRC數(shù)據(jù)位之后通信結(jié)束,STC10自動(dòng)進(jìn)入休眠狀態(tài).傳感器測(cè)量數(shù)據(jù)將在噴灌機(jī)器人內(nèi)部的8位共陽極數(shù)碼管上顯示.
本文提出的方案是基于機(jī)器人內(nèi)部的STM32單片機(jī),對(duì)農(nóng)業(yè)大棚中的農(nóng)作物進(jìn)行的智能自動(dòng)澆灌,自動(dòng)噴灌機(jī)器人系統(tǒng)如圖3所示.
圖3 自動(dòng)噴灌機(jī)器人系統(tǒng)流程圖
通過埋在土壤里的溫濕度傳感器采集濕度,并傳回機(jī)器人內(nèi)部的單片機(jī).單片機(jī)進(jìn)行處理判斷,并與預(yù)設(shè)的閾值相比較.當(dāng)溫濕度值達(dá)到初設(shè)的最低值時(shí),機(jī)器人內(nèi)部的繼電器工作,噴頭觸手就會(huì)進(jìn)行澆灌;當(dāng)溫濕度值達(dá)到初設(shè)的最高數(shù)值時(shí),繼電器停止工作,噴頭停止?jié)补?從而實(shí)現(xiàn)了機(jī)器人的自動(dòng)澆灌.此外,噴灌機(jī)器人內(nèi)部的蜂鳴器用于澆水時(shí)的提醒報(bào)警,數(shù)碼管用于觀測(cè)土壤濕度的實(shí)時(shí)數(shù)據(jù).除了自動(dòng)控制模塊,本文設(shè)計(jì)的機(jī)器人還配有藍(lán)牙模塊,可根據(jù)實(shí)際需求進(jìn)行人工手動(dòng)控制.
自動(dòng)灌溉機(jī)器人在工作中必須沿田壟巡線行進(jìn),以避免損壞農(nóng)作物.因此當(dāng)行進(jìn)方向出現(xiàn)偏差時(shí),必須能夠自動(dòng)檢測(cè)并調(diào)整.本文選用灰度傳感器檢測(cè)田壟位置,并完成循跡.2組7通道灰度傳感器分別安裝在機(jī)器人的前后部.通過這兩組灰度傳感器在機(jī)器人前后分別調(diào)整位置的方式,實(shí)現(xiàn)精確循跡.
本文設(shè)計(jì)的灰度傳感器由發(fā)光二極管、光敏電阻和普通電阻焊接而成,通過發(fā)光二極管照射地面、光敏電阻接收反射光線,并將光敏電阻的電信號(hào)通過A/D轉(zhuǎn)換成數(shù)字信號(hào).當(dāng)中間三個(gè)通道反饋數(shù)值較大時(shí),機(jī)器人循跡良好;當(dāng)左邊兩通道反饋數(shù)值較大時(shí),機(jī)器人發(fā)生右偏移,單片機(jī)將控制機(jī)器人向左調(diào)整;同理,當(dāng)右邊兩通道反饋數(shù)值較大時(shí),機(jī)器人發(fā)生左偏移,需要單片機(jī)控制機(jī)器人向右調(diào)整.
自動(dòng)噴灌機(jī)器人實(shí)際工作的環(huán)境較為復(fù)雜,如田地的不規(guī)則性、農(nóng)作物分布的不規(guī)則性等.因此需要準(zhǔn)確的障礙物坐標(biāo)和對(duì)安全距離的合理把控[7].本文提出的適用于農(nóng)業(yè)大棚環(huán)境下的路徑規(guī)劃算法流程圖如圖4所示.
本文基于A*算法,結(jié)合農(nóng)業(yè)大棚環(huán)境中道路的特點(diǎn),按照貼邊移動(dòng)的行進(jìn)方式,設(shè)計(jì)了一種自動(dòng)噴灌機(jī)器人路徑規(guī)劃算法.本文提出的路徑規(guī)劃算法屬于柵格法范疇,是一種啟發(fā)式搜索算法[8].這個(gè)算法通過到達(dá)后的地的成本函數(shù),來評(píng)價(jià)路徑規(guī)劃中節(jié)點(diǎn)的性能,并選擇所要擴(kuò)展的節(jié)點(diǎn).
算法表達(dá)式為:f(n)表示機(jī)器人從起點(diǎn)經(jīng)過節(jié)點(diǎn)n到達(dá)后的地的成本函數(shù);g(n)表示機(jī)器人從起點(diǎn)到達(dá)后的地的實(shí)際能耗;h(n)表示機(jī)器人從起點(diǎn)到達(dá)后的地的最優(yōu)路徑估算能耗.當(dāng) g(n)+h(n)的值最小,即 f(n)的值最小時(shí),為自動(dòng)噴灌機(jī)器人路徑規(guī)劃中的最優(yōu)路徑.
圖4 自動(dòng)噴灌機(jī)器人路徑規(guī)劃算法流程圖
自動(dòng)灌溉機(jī)器人從初始點(diǎn)到工作區(qū)域環(huán)境邊的直線距離d為:
其中,x和y分別是橫坐標(biāo)和縱坐標(biāo),x0和y0是初始點(diǎn).轉(zhuǎn)向角α為:
其中,δ是初始距離,L 是大棚長(zhǎng)度.
為了驗(yàn)證本文提出的路徑規(guī)劃算法,本文進(jìn)行了仿真實(shí)驗(yàn).圖5(a)中的黑點(diǎn)是噴灌機(jī)器人的初始位置.其他形狀是障礙物.通過仿真實(shí)驗(yàn)可以看出,自動(dòng)灌溉機(jī)器人首先按照貼邊移動(dòng)的方式遍歷整個(gè)環(huán)境,并建立柵格地圖.同時(shí)根據(jù)障礙物的位置,確定柵格大小,并劃分子區(qū)域,如圖 5(b)所示.當(dāng)柵格模型建立后,灌溉機(jī)器人開始沿柵格長(zhǎng)邊,按照往返的方式開始灌溉,如圖5(c)所示.當(dāng)完成一部分區(qū)域時(shí)后,進(jìn)入下一個(gè)區(qū)域以同樣的方式工作,最終實(shí)現(xiàn)全區(qū)域噴灌作業(yè).噴灌機(jī)器人完成噴灌任務(wù)的路線圖如圖5(d)所示.
圖5 機(jī)器人自動(dòng)灌溉過程
本文基于STM32單片機(jī)提出了一種自動(dòng)噴灌機(jī)器人的設(shè)計(jì)與實(shí)現(xiàn)方案,具備循跡、溫濕度檢測(cè)、自動(dòng)噴灌和藍(lán)牙遠(yuǎn)程控制澆灌等實(shí)用功能.并且提出了一種基于柵格法的路徑規(guī)劃算法,用于大棚環(huán)境下的自動(dòng)噴灌機(jī)器人路徑規(guī)劃.由于本文所采用的灰度傳感器受環(huán)境光照影響較大,會(huì)影響機(jī)器人行進(jìn)路線的精確度.因此,今后研究將提升機(jī)器人的巡線精度.
1 張立彬,計(jì)時(shí)鳴,胥芳,等.農(nóng)業(yè)機(jī)器人的主要應(yīng)用領(lǐng)域和關(guān)鍵技術(shù).浙江工業(yè)大學(xué)學(xué)報(bào),2002,30(1):36–41.
2 楊萍萍,黃曉詩,邊曉蓉.農(nóng)業(yè)機(jī)器人的現(xiàn)狀與未來發(fā)展趨勢(shì).時(shí)代農(nóng)機(jī),2015,42(7):8–9.
3 賀曉龍,朱克武.自適應(yīng)模糊控制在草坪灌溉機(jī)器人中的應(yīng)用.農(nóng)業(yè)網(wǎng)絡(luò)信息,2009,(1):28–30.
4 開思聰,陶重犇,孫云飛.基于STM32控制的倉儲(chǔ)搬運(yùn)機(jī)器人.計(jì)算機(jī)系統(tǒng)應(yīng)用,2016,25(7):49–54.[doi:10.15888/j.cnki.csa.005233]
5 賀曉龍,朱克武.草坪灌溉機(jī)器人定位技術(shù)的研究.自動(dòng)化技術(shù)與應(yīng)用,2009,28(4):71–73.
6 陶重犇,劉壯宇,孫云飛.基于嵌入式系統(tǒng)的搬運(yùn)機(jī)器人設(shè)計(jì)與路徑規(guī)劃研究.計(jì)算機(jī)測(cè)量與控制,2016,24(8):215–217.
7 周立萍.基于固定全景視覺的移動(dòng)機(jī)器人導(dǎo)航方法研究[碩士學(xué)位論文].蘭州:蘭州理工大學(xué),2013.
8 朱天宇.移動(dòng)機(jī)器人路徑規(guī)劃的研究[碩士學(xué)位論文].重慶:重慶大學(xué),2014.
Automatic Spray Robot Based on STM32 Microcontroller
1(Tianping College of Suzhou University of Science and Technology,Suzhou 215009,China)2(Building Tntelligent and Energy Saving Key Laboratory of Jiangsu Province,Suzhou University of Science and Technology,Suzhou 215009,China)
In view of the low efficiency and high labor intensity in agricultural greenhouse,in order to improve the automation of agricultural greenhouse,an automatic spray robot based on STM32 MCU is proposed in this paper as the core controller.The robot detects lines based on gray sensors.A three-wheel differential rotation is used to control its traveling and turning.A planning algorithm suitable for greenhouse environment of agriculture is presented based on grid method.Pump switches in water tank are controlled indirectly by an electric relay,and spray process can be controlled via bluetooth remote control.Temperature and humidity sensors are used to feed real-time measurement and moisture of soil.Meanwhile,these messages are sent back for processing.Experiments show that the spray robot which is designed based on modularization is fully functioned to promote the use of agricultural robots.
STM32 MCU;agricultural robot;automatic spray;grid method
趙濤,陶重犇,馮佳佳,孫云飛.基于 STM32單片機(jī)的自動(dòng)噴灌機(jī)器人.計(jì)算機(jī)系統(tǒng)應(yīng)用,2017,26(9):279–282.http://www.c-sa.org.cn/1003-3254/5963.html
①基金項(xiàng)后:江蘇省大學(xué)生創(chuàng)新項(xiàng)后(201613985001Y);國家自然科學(xué)基金(61401297);江蘇省自然科學(xué)基金(BK20140283)
2016-12-30;采用時(shí)間:2017-01-20
ZHAO Tao1,TAO Chong-Ben2,FENG Jia-Jia2,SUN Yun-Fei2