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