熊壘 向柄全 曾智文 陳志偉 張磊

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