<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于FPGA的智能超市手推車及應(yīng)用

          基于FPGA的智能超市手推車及應(yīng)用

          作者:張川 曲黎明 陳連升 時(shí)間:2011-09-23 來(lái)源: 收藏

            引言

          本文引用地址:http://www.ex-cimer.com/article/123852.htm

            智能機(jī)器人是具有感知思維和行動(dòng)功能的機(jī)器。要使機(jī)器人具有感知環(huán)境的能力,對(duì)環(huán)境變化做出適當(dāng)?shù)姆磻?yīng),實(shí)現(xiàn)智能化,就要采用傳感器采集環(huán)境信息并用適當(dāng)?shù)男畔⑷诤戏椒▽h(huán)境信息加以綜合處理[1]。

            基于(現(xiàn)場(chǎng)可編程門陣列)的智能超市手推車是把智能機(jī)器人領(lǐng)域的相關(guān)技術(shù)應(yīng)用到了傳統(tǒng)的超市手推車上,并結(jié)合了技術(shù)、射頻識(shí)別技術(shù)以及多傳感器接入技術(shù)為一體,使得傳統(tǒng)的超市手推車具有智能機(jī)器人的特性,實(shí)現(xiàn)了手推車自動(dòng)跟隨用戶購(gòu)物,(射頻識(shí)別)電子鑰匙開關(guān)等功能。利用的并行處理等方面的優(yōu)勢(shì),可以很好地對(duì)多組傳感器采集到的數(shù)據(jù)進(jìn)行實(shí)時(shí)處理分析,綜合控制小車的行動(dòng)姿態(tài),通過(guò)脈寬調(diào)制(PWM),也可以控制小車行進(jìn)中的跟隨速度。利用FPGA在邏輯控制等方面的優(yōu)勢(shì),實(shí)現(xiàn)對(duì)語(yǔ)音導(dǎo)購(gòu)模塊以及電子標(biāo)簽?zāi)K的綜合控制作用。

            FPGA的硬件資源極為豐富,預(yù)留的引腳接口眾多,這也為小車日后功能的升級(jí)留有可能性。本文的創(chuàng)新點(diǎn)在于:對(duì)傳統(tǒng)的超市手推車的智能化改造;利用FPGA的多傳感器接入;電機(jī)PWM的數(shù)字控制精確度高;系統(tǒng)多功能,具有擴(kuò)展性。

            硬件介紹及系統(tǒng)原理

            本系統(tǒng)實(shí)現(xiàn)了基于FPGA的超市手推車智能跟隨購(gòu)物的功能,為了實(shí)現(xiàn)小車對(duì)環(huán)境的感知與小車自動(dòng)行使的功能,本作品采用了自頂向下的設(shè)計(jì)方法,分別針對(duì)不同的功能模塊,設(shè)計(jì)了相應(yīng)的IP核,在FPGA內(nèi)部完成對(duì)數(shù)據(jù)的處理分析。由于系統(tǒng)采用模塊化的設(shè)計(jì)思想,系統(tǒng)整體的實(shí)時(shí)性、可靠性都有所提高,并且功耗降低,體積也滿足了設(shè)計(jì)需求。

            硬件介紹

            基于小車需要對(duì)周圍環(huán)境信息的改變做出實(shí)時(shí)響應(yīng),系統(tǒng)采用了雙紅外線傳感器與超聲波傳感器采集距離與方向信息,并將采集到的數(shù)據(jù)發(fā)送到FPGA,經(jīng)過(guò)FPGA的處理,通過(guò)PWM控制減速電機(jī)驅(qū)動(dòng)板產(chǎn)生電機(jī)的驅(qū)動(dòng)信號(hào),最終實(shí)現(xiàn)對(duì)電機(jī)的控制。另外,電子標(biāo)簽作為智能小車唯一的開啟鑰匙,不但提高了小車使用的安全性,也提高了使用過(guò)程中的便捷性。圖1所示為小車硬件設(shè)計(jì)的總體框圖。

            系統(tǒng)采用的紅外線傳感器是E18-D80NK反射式接近開關(guān)傳感器,是一種集紅外線發(fā)射與接受于一體的輕便型傳感器,可以測(cè)量0~80cm之間的障礙物,廣泛應(yīng)用于障礙物監(jiān)測(cè)、流水線計(jì)數(shù)、門禁系統(tǒng)等多種場(chǎng)合。傳感器自帶電位器旋鈕,可調(diào)節(jié)監(jiān)測(cè)距離,并可以輸出TTL的檢測(cè)信號(hào)給處理器。

            系統(tǒng)采用的超聲波傳感器是SRF06型超聲波傳感器,這是一款帶溫度補(bǔ)償、集超聲波收發(fā)功能的全數(shù)字傳感器??商峁?cm~3.5m的非接觸式距離感測(cè)功能,包括超聲波發(fā)射器、接收器與控制電路。該超聲波傳感器采用四引腳與外界通信,其中除去電源與地線以外,還有一個(gè)信號(hào)輸入/輸出引腳,分別用于啟動(dòng)傳感器測(cè)距與發(fā)送測(cè)量信號(hào)。該產(chǎn)品具有品質(zhì)好、超快響應(yīng)、抗溫度干擾、與極高的性價(jià)比等優(yōu)點(diǎn)。

            系統(tǒng)原理及結(jié)構(gòu)設(shè)計(jì)

            系統(tǒng)利用FPGA的可編程及硬件實(shí)現(xiàn)上的優(yōu)點(diǎn),最大限度地利用FPGA的硬件資源來(lái)代替?zhèn)鹘y(tǒng)軟件編程的數(shù)據(jù)采集方法,保證了數(shù)據(jù)采集的準(zhǔn)確、高效[2]。系統(tǒng)功能的實(shí)現(xiàn)由五個(gè)模塊協(xié)同完成,包含了頂層模塊、超聲波啟動(dòng)信號(hào)發(fā)生模塊、超聲波接收信號(hào)模塊、左電機(jī)PWM模塊以及右電機(jī)PWM模塊。系統(tǒng)采用FPGA開發(fā)板上提供的50MHz時(shí)鐘作為全局參考時(shí)鐘,通過(guò)FPGA內(nèi)部的鎖相環(huán)(PLL)對(duì)這一全局時(shí)鐘進(jìn)行分頻處理,來(lái)滿足對(duì)不同模塊的時(shí)鐘要求。由于電機(jī)供電需要12V電壓驅(qū)動(dòng),而FPGA開發(fā)板以及傳感器模塊需要5V電壓供電,系統(tǒng)采用了光耦器件作為電機(jī)驅(qū)動(dòng)板的核心器件,有效地隔離了高電壓(12V)可能對(duì)FPGA開發(fā)板及傳感器模塊造成的損害。不同的傳感器需要有相應(yīng)的信號(hào)驅(qū)動(dòng),這就利用了FPGA的可重復(fù)編程的特性,依靠VHDL硬件描述語(yǔ)言對(duì)加入的傳感器編寫對(duì)應(yīng)的IP核模塊,完成數(shù)據(jù)的綜合采集、處理過(guò)程,也使得日后小車功能的升級(jí)更加便利。系統(tǒng)結(jié)構(gòu)框圖如圖2所示。

          光耦相關(guān)文章:光耦原理


          fpga相關(guān)文章:fpga是什么


          pwm相關(guān)文章:pwm是什么


          傳感器相關(guān)文章:傳感器工作原理


          風(fēng)速傳感器相關(guān)文章:風(fēng)速傳感器原理
          電容式接近開關(guān)相關(guān)文章:電容式接近開關(guān)原理
          接近開關(guān)相關(guān)文章:接近開關(guān)原理
          脈寬調(diào)制相關(guān)文章:脈寬調(diào)制原理
          鎖相環(huán)相關(guān)文章:鎖相環(huán)原理


          關(guān)鍵詞: Degilent FPGA RFID 201108

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();