馬志寬,牛得學,桑 晨,肖文學,董家沐
(濱州學院 機電工程學院,山東 濱州 256600)
綠化養護裝置的自動化設計是將草坪修剪、綠籬造型修剪、配比噴灑農藥功能集合于一體,采用純電子模塊化設計、遠距離通信設計來實現,故需通過對步進電機進行控制,實現可隨意調節草坪水平度和割草深度、實現高精度草坪修剪功能,滿足特殊場合的需求。通過遠近距離的信號傳輸來實現人機交互,搭配傳感以確定不同位置的配合實現自動化。
基于單片機的綠籬修剪裝備組成見圖1。由圖1 可以看出,綠籬修剪裝備主要由4G 網絡透傳模塊、LCD 液晶顯示屏、矩陣鍵盤、六軸傳感器、紅外傳感模塊、直流穩壓模塊等組成。4G網絡透傳模塊主要作用為接收控制指令,遠程接受操作信號并反饋給單片機以完成相應操作;六軸傳感器用于檢測修機械臂各連桿自身姿態,確保修剪刀初始化為默認姿態及基本功能的實現,當修剪刀運動時,調節修剪刀的姿態,使其能夠精確完成工作;紅外傳感模塊用于確定綠籬修剪高度,確定綠籬上高度邊緣的位置;LCD 液晶顯示屏及矩陣鍵盤用于時刻向用戶反饋工作狀態,方便用戶調試設備,及時排查故障;直流穩壓模塊主要用于向各工作元器件以及傳感器提供穩定電壓,保證其正常工作。
圖1 系統組成原理圖Fig.1 Schematic diagram of system composition
當水平修剪時,通過紅外傳感器檢測綠籬上高度邊緣并發送信號進行定位,單片機計算修剪高度,同時姿態傳感器反饋機械臂各連桿的3 個歐拉角確保修剪刀正常工作,單片機將光耦繼電器控制引腳電平拉高使修剪刀上電,修剪刀開始工作,綠籬修剪機水平向前移動以實現綠籬的水平修剪;當波浪形修剪時,在確定綠籬上高度邊緣位置后,單片機通過指定算法以控制修剪刀及機械臂進行上下往復配合運動,同時綠籬修剪機恒速向前沿直線遠動,最終繪制正弦函數曲線,以實現波浪形綠籬修剪的目的。
單片機最小系統以STM32F103C8T6為核心,包括復位電路和時鐘電路,其中PC13 指示燈連接到上方的C13 管腳,在編程時算作運行指示燈。復位按鍵與相關電容連接至VCC。供電部分主要采用AMS1117-3.3v 正向降壓穩壓電路作為處理電源的主要元件,其結構見圖2。
圖2 AMS1117-3.3V電路圖Fig.2 AMS1117-3.3V circuit diagram
信號接收電路主要由4G 網絡透傳模塊連接單片機構成的下位機,通過MQTT 網絡通信協議及云端服務器實現網絡傳輸,內置看門狗以保證其安全穩定。通過AT 指令配置好訂閱及上傳主題,保證信號的上傳及接收。其中4G 網絡透傳模塊的VCC 與GND 接口直接與單片機相連接,其TXD 接口與單片機最小系統板PA10 引腳相連接,RXD 與PA9 相連接,實現4G網絡透傳模塊與單片機的串行口通信。
信號采集電路主要包括姿態采集電路、紅外檢測電路和電壓采集電路等3個部分。姿態采集電路主要由六軸傳感器電源與單片機相連接,其SCL 與SDA 引腳分別與PB4 和PB3連接實現I2C 總線通信,AD0 串聯電阻R1 與GND 連接,VCC直接連接單片機,用于輸出綠籬修剪刀的3 個連桿在運動過程中的歐拉角。紅外檢測電路由紅外傳感器、1 kΩ 電阻R2和三極管Q3組成。其VCC 與GND 分別接電源正負極,D0為TTL 開關輸出量,接單片機PB5 引腳。當修剪刀不斷上升并超出綠籬高度,傳感器檢測到障礙物消失,D0 引腳輸出信號由高電平轉變為低電平,單片機檢測到電平變化后進行相應操作,實現綠籬的上高度邊緣定位,完成高度信號的采集。
主程序流程見圖3。首先,系統進行初始化,機械臂回到默認位置,姿態檢測電路開始工作,單片機獲得修剪刀姿態并將機械臂調節至默認姿態;其次,用戶通過移動控制端選擇綠籬修剪機的工作模式,以及控制其移動到指定地點;再次,綠籬修剪機開始工作,將機械臂緩慢移動至指定位置,同時紅外檢測電路工作,當單片機檢測到電平變化后確定綠籬最高位置,降低機械臂至指定距離,按照不同模式進行工作;最后,工作完成后,綠籬修剪機各部位調整為默認姿態,等待下一階段工作。在水平修剪時,只需打開修剪刀后按照一定速度沿直線移動即可;在波浪形修剪時,需2個電機及綠籬修剪刀互相搭配繪制正弦函數曲線。
圖3 主程序流程圖Fig.3 Main program flow chart
綠籬修剪機由最低位置向上抬升,紅外檢測電路進入工作狀態并且時刻返還障礙物信息,當檢測軌道抬升至障礙物消失時,紅外檢測模塊拉高引腳電平,單片機接收到反饋信息,機械臂停止抬升,此時綠籬修剪刀剛好處于綠籬上高度邊緣位置。此過程可簡化為單片機始終檢測引腳電平。設置變量h,當判斷到上高度邊緣位置時,機械臂只需下降h 即可定位到綠籬際修剪高度。
此綠籬修剪機使用六自由度機械臂搭載綠籬修剪刀進行修剪,故需要控制機械臂,但要實現通過給定坐標計算各連桿旋轉角度,就必須對機械臂進行逆運動學解算。對此,先將此機械臂簡化為旋轉云臺及三軸機械臂再進行計算。三軸機械臂如圖4,三軸機械臂運動學坐標系如圖5。
圖4 三軸機械臂標記圖Fig.4 Three axis mechanical arm marking diagram
圖5 三軸機械臂運動學坐標系Fig.5 Kinematic coordinate system of three-axis manipulator
首先對三軸機械臂進行解算,θ1、θ2、θ3是3個舵機所需轉動的角度,γ是桿3 相對于x軸的夾角,通過A點坐標(X,Y)并計算可得:
由此可得3 個角度,現在只需將機械臂下方云臺旋轉至目標點所在平面即可。
三軸機械臂程序設計:
之后通過姿態傳感器不斷掃描姿態角度對比3 個ritch角進行調整即可使用機械手。
機械臂抬升過程中障礙物檢測程序設計:
波浪形修剪可等同于繪制正弦函數Asinωt曲線,即當綠籬修剪機按照直線運動時,機械臂做上下固定加速度的往復運動繪制正弦曲線。同時,綠籬修剪要在不同時刻旋轉不同角度,即繪制一個完整的函數曲線時,綠籬修剪刀正好旋轉一周。綠籬修剪刀的旋轉選用步進電機,即通過改變PWM波的占空比、頻率以及方波個數來實現對綠籬修剪刀旋轉的精確調控,同時姿態傳感器時刻反饋修剪刀的翻滾角即Roll角φ,以一個π為周期,即步進電機按照變化頻率f 旋轉直到Roll 角旋轉至φ+π時為一個周期,重復操作完成修剪。對波形的幅值以及波長的改變需要進行計算。首先確定綠籬修剪機的移動速度V1即質點的水平速度以及機械臂啟動時的豎直方向速度V3;確定機械臂上下運動的速度V2,默認V1為定值,通過PWM 調節占空比調節機械臂電機驅動模塊以改變。設幅值為A、波長為λ、豎直方向上加速度為a。通過計算可得幅值以及波長:
即可繪制函數曲線:
對f(x)進行微分,即:
以此可得在任意時刻綠籬修剪刀旋轉的角度為:
以此可獲得任意時刻修剪刀的旋轉角度,只需要通過改變PWM脈沖數量即可控制旋轉角度。
本設計采用MQTT 網絡協議,其可包容不穩定的網絡,MQTT 和MQ 可從斷開連接之類的故障中恢復,無需進一步的代碼要求,容錯率較高;其低功耗的優點正好滿足綠籬修剪機器的使用需求。本設計是通過單片機技術,結合網絡通信、紅外檢測、姿態傳感器以及矩陣鍵盤等模塊,對傳統綠籬修剪裝備進行改造,可滿足絕大部分綠籬修剪工作的需要。該綠籬修剪機可實現全自動工作,減少了大量不必要的勞動力,具有一定社會價值。