熊壘 向柄全 曾智文 陳志偉 張磊
摘要:隨著信息技術(shù)的迅猛發(fā)展,傳感器的應(yīng)用技術(shù)也在飛速發(fā)展,新的應(yīng)用技術(shù)呈現(xiàn)出爆炸式的發(fā)展。傳感器作為測(cè)控系統(tǒng)中對(duì)象信息的入口,作為捕獲信息的主要工具,在現(xiàn)代化事業(yè)中的重要性已被人們所認(rèn)識(shí)。光電傳感器的應(yīng)用技術(shù)為信息科學(xué)的一個(gè)分支,俗稱“電眼”。它是將傳統(tǒng)光學(xué)技術(shù)與現(xiàn)代微電子技術(shù)以及計(jì)算機(jī)技術(shù)機(jī)密結(jié)合的紐帶,是獲取光信息或借助光提取其他信息的重要手段。本次基于Arduino uno和紅外對(duì)射傳感器,我們?cè)O(shè)計(jì)了一款計(jì)數(shù)設(shè)備,此設(shè)備基于紅外對(duì)射傳感器可實(shí)現(xiàn)對(duì)產(chǎn)品數(shù)量的檢測(cè)。
關(guān)鍵字:紅外對(duì)射,光電計(jì)數(shù),Arduino uno
一、引言
Arduino UNO R3是一款單片機(jī)開(kāi)發(fā)板,采用AVR單片機(jī)ATmega328P作為主控制器,集成開(kāi)發(fā)環(huán)境為Arduino IDE。它有14個(gè)數(shù)字輸入/輸出引腳(其中6個(gè)可用作PWM輸出),6個(gè)模擬輸入,16MHz晶振時(shí)鐘,USB連接,電源插孔,ICSP接頭和復(fù)位按鈕。只需要通過(guò)USB數(shù)據(jù)線連接電腦就能供電、程序下載和數(shù)據(jù)通訊。
ArduinoUNO擁有14個(gè)數(shù)字引腳(6個(gè)PWM)和6個(gè)模擬引腳,數(shù)字引腳為引腳0至引腳13。其中引腳0和引腳1用于接收和傳輸串行數(shù)據(jù)。PWM:3,5,6,9,10,11。這6個(gè)引腳可以用作PWM(脈沖寬度調(diào)制)引腳,使用這些引腳可以依次控制電壓和亮度。模擬引腳為到引腳A5,模擬引腳的主要功能是從模擬傳感器讀取值。
電力系統(tǒng)方面,ArduinoUNO具有便捷的電源管理和內(nèi)置電壓調(diào)節(jié)功能。電源是自動(dòng)選擇的??梢酝ㄟ^(guò)USB或USB直接為其供電。外部電源可以通過(guò)將電源(7-12VDC)連接到直流電源插孔或?qū)㈦姵匾€連接到Vin和Gnd。
內(nèi)存:ATmega328p具有32KB的閃存來(lái)存儲(chǔ)程序,2KB的SRAM和1KB的EEPROM。
通信:UNO具有諸如UART串行通信,SPI和I2C的通信協(xié)議。
UART:UNO使用數(shù)字pin0(RX)和數(shù)字pin1(TX)進(jìn)行UARTTTL串行通信。
I2C:UNO使用A4或SDA引腳,而A5或SCL引腳用于與線庫(kù)的I2C通信。SCL是時(shí)鐘信號(hào),SDA是數(shù)據(jù)信號(hào)。
SPI:Pin11:(MOSI),Pin12:(MISO),Pin13:(SCK)MOSI(MasterOutSlaveIn)-用于將數(shù)據(jù)發(fā)送到外圍設(shè)備的主控線。MISO(主機(jī)輸入從機(jī)輸出)-用于將數(shù)據(jù)發(fā)送到主機(jī)的從機(jī)線路。SCK(串行時(shí)鐘)-用于同步主機(jī)產(chǎn)生的數(shù)據(jù)傳輸?shù)臅r(shí)鐘脈沖。對(duì)應(yīng)的引腳以及SPI庫(kù)用于SPI通信。ICSP頭可用于通過(guò)引導(dǎo)加載程序直接對(duì)ATmega進(jìn)行編程。
二、紅外對(duì)射傳感器
紅外線反射傳感器是利用紅外線反射的原理,根據(jù)反射的強(qiáng)度來(lái)判定前方障礙的有無(wú)。在距離適中的時(shí)候測(cè)量精度很高。由于使用的是紅外線,所以抗干擾能力很強(qiáng)。這樣做更加確保了裝置的穩(wěn)定性。
特點(diǎn)如下:1.使用槽型光耦傳感器;2.槽寬度10mmo;3.有輸出狀態(tài)指示燈,輸出高電平燈滅,輸出低電平燈亮;4.有遮擋,輸出高電平,無(wú)遮擋。輸出低電平;5.比較器輸出,信號(hào)干凈,波形好,驅(qū)動(dòng)能力強(qiáng),超過(guò)15mAo;6.工作電壓3.3V -5Vo;7.輸出形式:數(shù)字開(kāi)關(guān)量輸出(o和1);8.設(shè)有固定螺栓孔,方便安裝;9.小板PCB尺寸:23mm *20mm;10.使用寬電壓LM393比較器。
使用說(shuō)明:模塊槽中無(wú)遮擋時(shí),接收管導(dǎo)通,模塊DO輸出低電平,遮擋時(shí),DO輸出高電平。模塊DO可與繼電器相連,組成限位開(kāi)關(guān)等功能,也可以與有源蜂鳴器模塊相連,組成報(bào)警器。
三、數(shù)字矩陣按鈕
4*4矩陣按鍵,又稱行列式鍵盤,它用4條I/O線作為行線, 它用4條I/O線作為列線組成鍵盤。 在行線和列線的每一個(gè)交叉點(diǎn)上設(shè)置一個(gè)按鍵, 這樣鍵盤按鍵就有4*4個(gè),這種行列式鍵盤結(jié)構(gòu)能夠有效的提高單片機(jī)系統(tǒng)的I/0口利用率。
矩陣鍵盤4個(gè)輸入端口ROW[3:0] 接收由FPGA產(chǎn)生的鍵盤掃描輸入信號(hào),而4個(gè)輸出COL[3:0] 將按鍵操作的信息變化輸入到FPGA掃描分析電路,進(jìn)而得到按鍵的操作碼。輸入端口分別接了4個(gè)上拉電阻,當(dāng)4個(gè)輸入端口輸入若都為1時(shí),則有無(wú)論按哪個(gè)按鍵,輸出都為1,所以 若剛開(kāi)始的時(shí)候?qū)λ膫€(gè)輸入端口賦0,則只要按下任何一個(gè)按鍵,鍵盤上的4個(gè)輸出則肯定有1變?yōu)?,而且能夠判斷到是哪一列,但是并不知道是哪一行,所以此時(shí)就要用到鍵盤掃描,何為鍵盤掃描,就是只要讓輸入端口的一行為0,其余三行全為1,輪流掃描一遍,便可以方便的確定按鍵按下的準(zhǔn)確值。又因?yàn)閷?shí)際運(yùn)用的時(shí)候按鍵按下會(huì)有抖動(dòng)現(xiàn)象,所以要對(duì)其進(jìn)行消抖處理,消抖模塊可以有很多種方法,例如狀態(tài)機(jī)的消抖方法以及打拍延時(shí),然后相或,因?yàn)檫@個(gè)是鍵值輸入,若要用到打拍延時(shí)的方法進(jìn)行消抖處理的話,需要對(duì)其進(jìn)行一些改動(dòng),相或改為兩兩相等并相與以增加時(shí)鐘時(shí)間。
四、硬件設(shè)計(jì)
本裝置以ARDUINO UNO為控制中心,結(jié)合紅外對(duì)射傳感器、液晶顯示器,通過(guò)光電傳感器檢測(cè)一定時(shí)間內(nèi)經(jīng)過(guò)傳感器的物體的個(gè)數(shù),以此來(lái)滿足實(shí)際生產(chǎn)過(guò)程中流水線上工件的數(shù)量統(tǒng)計(jì)。使用arduino ide開(kāi)發(fā)工具進(jìn)行arduino程序的編寫和開(kāi)發(fā),它擁有開(kāi)放源代碼的電路圖設(shè)計(jì)、支持ISP在線燒錄,同時(shí)支持Flash、Max/Msp、VVVV、PD、C、Processing等多種程序兼容。
開(kāi)放源代碼電路圖設(shè)計(jì),程序開(kāi)發(fā)接口免費(fèi)下載,也可依需求自己修改。使用低價(jià)格的微處理控制器(AVR系列控制器),可以采用USB接口供電,不需外接電源,也可以使用外部9VDC輸入。Arduino支持ISP在線燒,可以將新的“bootloader”固件燒入AVR芯片。有了bootloader之后,可以通過(guò)串口或者USB to Rs232線更新固件。可依據(jù)官方提供的Eagle格式PCB和SCH電路圖簡(jiǎn)化Arduino模組,完成獨(dú)立運(yùn)作的微處理控制;可簡(jiǎn)單地與傳感器,各式各樣的電子元件連接(例如:紅外線,超音波,熱敏電阻,光敏電阻,伺服馬達(dá),…等)
接線圖設(shè)計(jì)如下:
參考文獻(xiàn):
[1] 張金.《Arduino程序設(shè)計(jì)與實(shí)踐》
[2] 梁森,歐陽(yáng)三泰.《自動(dòng)檢測(cè)技術(shù)及應(yīng)用》(第3版)
[3] 蔡睿妍. Arduino的原理及應(yīng)用[J]電子設(shè)計(jì)工程,2012(16)