胡宸晗
(南京市第二十九中學(xué),江蘇南京,210036)
我國(guó)自古以來就是農(nóng)業(yè)大國(guó),農(nóng)業(yè)一直作為經(jīng)濟(jì)民生領(lǐng)域的重要支柱產(chǎn)業(yè)。播種是農(nóng)業(yè)生產(chǎn)的關(guān)鍵環(huán)節(jié)之一,精量播種方式不僅播種效率高,節(jié)約人力物力,而且能夠節(jié)約種子、化肥、農(nóng)藥等農(nóng)用物資,大大提高了農(nóng)作物的生產(chǎn)效率,而且節(jié)約了大量成本,增加了農(nóng)民的經(jīng)濟(jì)效益[1],種子數(shù)量的實(shí)時(shí)監(jiān)測(cè)是實(shí)現(xiàn)精量播種的關(guān)鍵環(huán)節(jié)之一。在培育、選種、產(chǎn)量預(yù)測(cè)等過程中千粒質(zhì)量是一個(gè)重要的指標(biāo),也需要對(duì)種子進(jìn)行實(shí)時(shí)自動(dòng)計(jì)數(shù)。傳統(tǒng)采用人工數(shù)種的方式,繁瑣枯燥、勞動(dòng)強(qiáng)度大、效率低,并且非常容易出錯(cuò)。因此進(jìn)行精確的種子自動(dòng)計(jì)數(shù)已成為農(nóng)業(yè)生產(chǎn)中一個(gè)亟待解決的問題。
壓電傳感器是利用壓電元件受力后產(chǎn)生的壓電效應(yīng)制成的傳感器,具有體積小、重量輕、結(jié)構(gòu)簡(jiǎn)單,靈敏度高、響應(yīng)速度快等優(yōu)點(diǎn)[2],可用于種子撞擊等振動(dòng)信號(hào)的測(cè)量。本文設(shè)計(jì)了一種基于Arduino和壓電傳感器的種子自動(dòng)計(jì)數(shù)系統(tǒng),利用壓電傳感器檢測(cè)種子撞擊懸臂梁產(chǎn)生的振動(dòng),轉(zhuǎn)化為電壓信號(hào),采用Arduino微控制器進(jìn)行自動(dòng)計(jì)數(shù)和顯示。本系統(tǒng)具有結(jié)構(gòu)簡(jiǎn)單、測(cè)量精度高等優(yōu)點(diǎn),能夠滿足種子自動(dòng)計(jì)數(shù)的實(shí)際需求。
種子自動(dòng)計(jì)數(shù)系統(tǒng)主要由導(dǎo)種管、懸臂梁、壓電傳感器、Arduino微控制器、LCD顯示器等部分組成,總體結(jié)構(gòu)如圖1所示。當(dāng)種子沿著導(dǎo)種管從一定高度落下時(shí),撞擊在傾斜放置的懸臂梁上,產(chǎn)生一定振幅的振動(dòng)信號(hào)傳遞到貼在懸臂梁下方的壓電傳感器上,使得壓電傳感器產(chǎn)生正壓電效應(yīng)輸出變化的電壓信號(hào),經(jīng)信號(hào)處理電路輸入Arduino微控制器中進(jìn)行計(jì)數(shù)。
為了使得種子落下撞擊懸臂梁后能夠順利彈開,避免二次撞擊產(chǎn)生的干擾,將懸臂梁與水平面呈現(xiàn)45°傾角進(jìn)行固定,種子由導(dǎo)種管引向懸臂梁下端。
用粘接劑將壓電陶瓷片粘貼在正對(duì)種子撞擊的懸臂梁背面區(qū)域,懸臂梁另一端固定[3]。當(dāng)種子逐個(gè)從上方落下撞擊懸臂梁及壓電傳感器,用Arduino微控制器記錄電壓信號(hào)變化的次數(shù)即可得到種子的數(shù)量,并在LCD液晶顯示器上進(jìn)行顯示。系統(tǒng)工作過程如圖2所示。
圖1 系統(tǒng)總體結(jié)構(gòu)
壓電傳感器的工作原理是基于壓電材料的壓電效應(yīng),石英晶體的壓電效應(yīng)早在1680年即已發(fā)現(xiàn)。某些電介質(zhì)在沿一定方向上受到外力的作用而變形時(shí),其內(nèi)部會(huì)產(chǎn)生極化現(xiàn)象,同時(shí)在它的兩個(gè)相對(duì)表面上出現(xiàn)正負(fù)相反的電荷。當(dāng)外力去掉后,它又會(huì)恢復(fù)到不帶電的狀態(tài),這種現(xiàn)象稱為正壓電效應(yīng)[4]。當(dāng)作用力的方向改變時(shí),電荷的極性也隨之改變。相反,當(dāng)在電介質(zhì)的極化方向上施加電場(chǎng),這些電介質(zhì)也會(huì)發(fā)生變形,電場(chǎng)去掉后,電介質(zhì)的變形隨之消失,這種現(xiàn)象稱為逆壓電效應(yīng)[2]。具有壓電效應(yīng)的電介質(zhì)物質(zhì)稱為壓電材料,其中石英晶體是良好的純天然壓電晶體,此外還有壓電陶瓷、高分子壓電材料等,也同樣具有良好的壓電轉(zhuǎn)換功能。
綜合考慮檢測(cè)精度、成本等因素選用壓電陶瓷作為種子沖擊檢測(cè)傳感器。壓電陶瓷和接線電路板如圖3所示。
圖2 系統(tǒng)工作過程框圖
Arduino是一個(gè)開源的軟硬件開發(fā)平臺(tái),功能強(qiáng)大、體積小巧。主要包括用來做電路連接的Arduino電路板和Arduino IDE集成開發(fā)環(huán)境。Arduino可以通過傳感器來采集數(shù)據(jù),通過控制電機(jī)、LED燈和其他裝置來實(shí)現(xiàn)控制功能。用戶在IDE中編寫程序,編譯成二進(jìn)制文件燒錄進(jìn)Arduino微控制器后,便可在程序的控制下實(shí)現(xiàn)相應(yīng)功能。Arduino是硬件軟件都開源的,相比于C51、STM32等硬件平臺(tái)使用更加簡(jiǎn)單,完全脫離了寄存器的配置,幾乎所有功能都已經(jīng)有了上層庫調(diào)用,透明掉了大部分與硬件相關(guān)的操作,對(duì)于不熟悉微控制器硬件結(jié)構(gòu)和寄儲(chǔ)器配置的用戶而說,使用起來非常方便。
圖3 壓電陶瓷和接線電路板
選用Arduino Uno開發(fā)板作為種子自動(dòng)計(jì)數(shù)系統(tǒng)的控制器,其核心是一款高性能、低功耗的AVR 8位微控制器ATmega328p,ATmega328p采用RISC結(jié)構(gòu),擁有131條指令,絕大多數(shù)為單時(shí)鐘執(zhí)行,包括32個(gè)8位通用工作寄存器,32KB Flash,1KB EEPROM,2KB的片內(nèi)SRAM[5]。具有14個(gè)數(shù)字I/O接口(其中6路可用于PWM輸出),6路模擬輸入接口,1個(gè)16MHz的晶振,1個(gè)電源插座,1個(gè)USB接口,還有很多擴(kuò)展用的電路插座[6],能夠滿足種子自動(dòng)計(jì)數(shù)和實(shí)時(shí)顯示的要求。
LCD1602是一款用來顯示字母、數(shù)字和符號(hào)的點(diǎn)陣型液晶顯示器,能同時(shí)顯示兩行,每行16個(gè)字符,具有控制簡(jiǎn)單、成本低等優(yōu)點(diǎn)。由于ATmega328p的輸入/輸出引腳數(shù)量比較有限,采用帶IIC接口的LCD1602液晶顯示模塊。IIC即Inter-Integrated Circuit(集成電路總線),由飛利浦半導(dǎo)體公司在八十年代初設(shè)計(jì)出來的一種總線結(jié)構(gòu)。IIC串行總線有2根雙向信號(hào)線,一根是數(shù)據(jù)線SDA,另一根是時(shí)鐘線SCL。IIC總線通過上拉電阻接電源,當(dāng)總線沒有數(shù)據(jù)傳輸時(shí),兩根線為高電平。IIC總線上傳送的數(shù)據(jù)信號(hào)是廣義的,包括地址和實(shí)際的數(shù)據(jù)信號(hào)。在IIC模式下僅需SDA、SCL、VCC、GND 4根線即可與Arduino微控制器通信,接線簡(jiǎn)單,節(jié)省I/O口資源。
種子自動(dòng)計(jì)數(shù)系統(tǒng)的軟件是在Arduino官方的集成開發(fā)環(huán)境下運(yùn)用C語言進(jìn)行開發(fā)的。IDE開發(fā)環(huán)境自帶串口通信工具,為調(diào)試程序帶來了方便。
系統(tǒng)上電或復(fù)位后程序開始執(zhí)行,首先對(duì)各部分進(jìn)行初始化,包括串口、LCD顯示模塊、重置各變量初始值等。將壓電傳感器采集到的電壓值進(jìn)行AD轉(zhuǎn)換,并與程序中設(shè)定的閾值進(jìn)行比較,進(jìn)行種子計(jì)數(shù)判斷,如果采集到的電壓值大于閾值,將保存種子數(shù)量的變量加1,并送到LCD液晶顯示模塊進(jìn)行顯示,同時(shí)進(jìn)行串口輸出可以在電腦中的Arduino開發(fā)環(huán)境中進(jìn)行實(shí)時(shí)監(jiān)測(cè)。如果壓電傳感器采集到的電壓值小于閾值,判斷為一次干擾信號(hào),種子計(jì)數(shù)變量不增加。程序流程圖如圖4所示。
圖4 程序流程圖
圖5 種子自動(dòng)計(jì)數(shù)試驗(yàn)裝置
根據(jù)系統(tǒng)的工作原理設(shè)計(jì)并制作了種子自動(dòng)計(jì)數(shù)試驗(yàn)裝置如圖5所示。試驗(yàn)裝置主要包括鐵架臺(tái)、導(dǎo)種管、Arduino Uno開發(fā)板、LCD1602液晶顯示器、電源、電腦等。鐵架臺(tái)用于固定導(dǎo)種管和傾斜固定的懸臂梁,在懸臂梁背面粘貼壓電陶瓷振動(dòng)傳感器,用于檢測(cè)種子撞擊的振動(dòng)信號(hào);采用塑料漏斗和PVC管作為導(dǎo)種管道,引導(dǎo)種子準(zhǔn)確撞擊壓電傳感器敏感區(qū)域。當(dāng)前計(jì)數(shù)值在LCD1602液晶顯示器上進(jìn)行顯示,如圖6所示。
圖6 LCD1602顯示當(dāng)前計(jì)數(shù)值
為了驗(yàn)證種子自動(dòng)計(jì)數(shù)系統(tǒng)的性能,將100粒紅豆采用單粒排種方式,在距壓電傳感器300mm高度處進(jìn)行釋放,沿導(dǎo)種管下落,撞擊壓電傳感器敏感區(qū)域,100s內(nèi)放完。重復(fù)5次,記錄檢測(cè)到種子數(shù)量,計(jì)算檢測(cè)誤差。試驗(yàn)結(jié)果如表1所示。由表1計(jì)算得到種子自動(dòng)計(jì)數(shù)平均誤差為1.8%,該系統(tǒng)能夠滿足種子自動(dòng)計(jì)數(shù)的要求。
表1 種子自動(dòng)計(jì)數(shù)試驗(yàn)結(jié)果
本文設(shè)計(jì)的種子自動(dòng)計(jì)數(shù)系統(tǒng)充分利用了Arduino微控制器功能強(qiáng)大、體積小巧、開發(fā)難度低和壓電陶瓷靈敏度高、響應(yīng)速度快等優(yōu)點(diǎn),通過壓電傳感器檢測(cè)種子下落的振動(dòng)信號(hào),在Arduino微控制器中實(shí)現(xiàn)自動(dòng)計(jì)數(shù)。在自制的試驗(yàn)裝置上進(jìn)行了種子自動(dòng)計(jì)數(shù)試驗(yàn),試驗(yàn)結(jié)果表明,單粒紅豆排種計(jì)數(shù)的相對(duì)誤差小于3%,系統(tǒng)運(yùn)行穩(wěn)定,測(cè)量精度高,可以廣泛應(yīng)用于種子自動(dòng)計(jì)數(shù)等領(lǐng)域。