国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于STC單片機(jī)的電子羅盤-超聲波測障系統(tǒng)設(shè)計(jì)

2013-08-10 10:21:54周鵬
電子設(shè)計(jì)工程 2013年10期
關(guān)鍵詞:羅盤測距障礙物

周鵬

(華僑大學(xué) 信息學(xué)院,福建 廈門 361021)

超聲波具有束射性好,方向性和抗干擾性強(qiáng)的特點(diǎn)使其被廣泛應(yīng)用于移動(dòng)機(jī)器人的自動(dòng)導(dǎo)航[1-2]。但僅用超聲波測障無法精確確定移動(dòng)機(jī)器人的位置,因?yàn)樗荒苋娅@知障礙物的方位(角度和方向),所以必須附加具有測試方位的傳感器。

針對上述問題,提出一種基于STC89C52單片機(jī)的電子羅盤-超聲波測障方案,實(shí)驗(yàn)表明,系統(tǒng)在定位精度和可靠性達(dá)到設(shè)計(jì)要求。

1 系統(tǒng)架構(gòu)及工作原理

系統(tǒng)主要由STC89C52單片機(jī),超聲波電路(超聲波發(fā)射電路和接收電路),電子羅盤電路,LCD1602液晶顯示電路和電源組成(如圖1所示)。

圖1 系統(tǒng)框圖Fig.1 Structure diagram of MCU

系統(tǒng)中,超聲波電路用于測試與障礙物的距離。其工作原理[3]是根據(jù)系統(tǒng)發(fā)射超聲波和接收到反射波的時(shí)間差,結(jié)合修正后的波速計(jì)算出與障礙物距離。測距公式如下:

其中,S為與障礙物距離,單位m。

v為帶溫度補(bǔ)償?shù)某暡▊鞑ニ俣?,單位m/s。

t為超聲波發(fā)射與接收到反射波時(shí)的時(shí)間差,單位s。

331.5 為0℃時(shí)超聲波在空氣中的傳播速度,單位m/s。

Δ為實(shí)測溫度,由測溫度電路測得,單位℃。

電子羅盤電路用于測試與障礙物的方位(角度和方向)。其工作原理[4]是利用磁阻傳感器測試與地磁場的偏移關(guān)系從而獲取方位信息。

STC89C52單片機(jī)是系統(tǒng)的核心,用于處理上述數(shù)據(jù)并將其顯示在LCD1602液晶顯示器上。

2 系統(tǒng)硬件設(shè)計(jì)

系統(tǒng)選用STC89C52單片機(jī),它具有抗干擾性能強(qiáng)、速度快、功耗低和指令代碼完全兼容8051單片機(jī)等特點(diǎn)。其主要參數(shù)為[5]:時(shí)鐘頻率最高可達(dá)80 MHz;內(nèi)置8K字節(jié)的Flash-ROM,512字節(jié)的RAM和2 K字節(jié)的E2PROM;3個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu)。

STC單片機(jī)系統(tǒng)由STC89C52單片機(jī),時(shí)鐘電路,復(fù)位電路組成(如圖2所示)。

時(shí)鐘電路采用內(nèi)部時(shí)鐘方式,為單片機(jī)系統(tǒng)提供時(shí)鐘信號(hào)。

復(fù)位電路采用上電自動(dòng)復(fù)位和按鍵復(fù)位的方式,只要保證加到RST引腳的高電平持續(xù)時(shí)間大于2個(gè)機(jī)器周期就能使單片機(jī)正常復(fù)位。

2.1 LCD1602顯示電路設(shè)計(jì)

系統(tǒng)選擇LCD1602(HD44780)液晶顯示器實(shí)時(shí)顯示障礙物的方位,距離,時(shí)間等信息。LCD1602是工業(yè)字符型液晶顯示器,它能夠同時(shí)顯示32個(gè)字符(16列2行),具有低功耗、顯示內(nèi)容豐富等特點(diǎn)。LCD1602與單片機(jī)接口電路如圖3所示。

圖2 STC單片機(jī)系統(tǒng)Fig.2 Structure diagram of STC MCU

圖3 LCD1602與單片機(jī)接口電路Fig.3 Interface diagram of LCD1602 and MCU

2.2 超聲波電路設(shè)計(jì)

超聲波電路由超聲波發(fā)射電路和超聲波接收電路組成,選用壓電式超聲波傳感器 (型號(hào)TCT40-16T/R,中心頻率40.0±1.0 kHz)。

超聲波發(fā)射電路(如圖4所示)由555定時(shí)器,CD4069,TCT40-16T發(fā)射器等組成,它是利用發(fā)射器的逆壓電效應(yīng),將高頻電振動(dòng)轉(zhuǎn)換成機(jī)械振動(dòng),產(chǎn)生超聲波發(fā)射出去的電路。電路中,當(dāng)單片機(jī)控制引腳P1.4為低電平時(shí),555定時(shí)器產(chǎn)生中心頻率40 kHz的高頻信號(hào),由引腳3輸出至CD4069,CD4069將其整形后驅(qū)動(dòng)發(fā)射器發(fā)射超聲波。

超聲波接收電路(如圖5所示)由TCT40-16R接收器和紅外線檢波芯片CX20106A等組成,它是利用接收器的壓電效應(yīng),將接收的超聲振動(dòng)轉(zhuǎn)換成電信號(hào),實(shí)現(xiàn)微弱反射回波的放大,濾波,檢波,整形輸出的電路[6]。電路中,反射波由引腳1輸入,此信號(hào)被處理后由引腳7輸出低電平,此負(fù)跳變通過P1.5引入單片機(jī),單片機(jī)以查詢的方式獲取該信號(hào)的變化(反射波)。

圖4 超聲波發(fā)射電路Fig.4 Circuit of ultrasonic emision

圖5 超聲波接收電路Fig.5 Circuit of ultrasonic receiver

2.3 電子羅盤電路設(shè)計(jì)

電子羅盤電路由電源電路,HMC5883L集成模塊(主要電路如圖6所示)組成。HMC5883L內(nèi)置磁阻傳感器,12位ADC,放大器,I2C 數(shù)字接口,測量精度達(dá)到 1°~2°[7]。

圖6 電子羅盤與單片機(jī)接口電路Fig.6 Interface diagram of electronic compass and MCU

2.4 電源電路設(shè)計(jì)

系統(tǒng)由電壓芯片7805和662K分別為單片機(jī)和HMC5883L提供+5 V和+3.3 V的工作電壓,電源電路如圖7和圖8所示。

圖7 +5V電源電路Fig.7 Power supply circuit of 5 volt

圖8 +3.3V電源電路Fig.8 Power supply circuit of 3.3 volt

3 系統(tǒng)軟件設(shè)計(jì)

系統(tǒng)軟件采用結(jié)構(gòu)化設(shè)計(jì),即主函數(shù)調(diào)用子函數(shù),子函數(shù)再調(diào)用各功能子函數(shù)。主函數(shù)由初始化函數(shù)(初始化定時(shí)/計(jì)數(shù)器,LCD1602液晶顯示器,電子羅盤模塊等)和調(diào)用子函數(shù)(測距,測方位,時(shí)間和日期顯示等函數(shù))組成。子函數(shù)包括測方位函數(shù)(電子羅盤模塊實(shí)現(xiàn)),測距函數(shù)(超聲波模塊實(shí)現(xiàn))和信息顯示函數(shù)(顯示方位,距離,時(shí)間和日期)。功能子函數(shù)用于驅(qū)動(dòng)底層硬件。系統(tǒng)流程如圖9所示。

圖9 系統(tǒng)流程圖Fig.9 Flow-process diagram of system

3.1 主函數(shù)

1)初始化函數(shù)

①void TimerInit(void)//T0/T1 同為定時(shí)器,工作方式 1,T0定時(shí)50 ms產(chǎn)生一次中斷;T1用于計(jì)數(shù)超聲波測距時(shí)間

②void InitLcd1602(void)//初始化 LCD1602 液晶顯示器

③void InitHMC5883(void)//初始化 HMC5883L 電子羅盤模塊

④void SetClock (unsigned char, unsigned char, unsigned char)//設(shè)定時(shí)間

⑤void SetDate (unsigned char, unsigned char, unsigned char)//設(shè)定日期

2)調(diào)用子函數(shù)

①void TrigUltra(void)//啟動(dòng)超聲波測距

②void ShowDistanceUltra(void)//顯示與障礙物的距離

③void StartHmc5883(void)//啟動(dòng)方位測試并顯示結(jié)果

④void RunDigitalClock(void)//顯示時(shí)間

⑤void RunDate(void)//顯示日期

3.2 主要功能子函數(shù)

1)LCD1602液晶顯示函數(shù)

① void TestLcdIdle(void)//忙檢測

②void WriteCommand(unsigned char)//寫入命令

③void WriteData(unsigned char)//寫入數(shù)據(jù)

④void InitLcd1602(void)//清屏、設(shè)置光標(biāo)等初始化

⑤)void SetPos_1602 (unsigned char,bit)//設(shè)定顯示內(nèi)容的起始位置

⑥void PrintC_1602(unsigned char)//字符顯示

⑦void PrintS_1602(unsigned char*)//字符串顯示

2)超聲波測距函數(shù)

①void DistanceUltraProcess(void)//根據(jù)定時(shí)器計(jì)數(shù)值計(jì)算距離

②void ShowDistanceUltra (long)//顯示測距結(jié)果

②void ShowBlindSpotUltra (void)//顯示盲點(diǎn)(超過測距范圍)

3)電子羅盤測方位函數(shù)

①void StartHmc5883(void)//起始信號(hào)

②void StopHmc5883 (void)//終止信號(hào)

③void SendAckHmc5883(bit)//發(fā)送應(yīng)答信號(hào)

④bit RecvAckHmc5883 (void)//接收應(yīng)答信號(hào)

⑤void SendByteHmc5883 (unsigned char)//發(fā)送單字節(jié)數(shù)據(jù)

⑥unsigned char RecvByteHmc5883 (void)//接收單字節(jié)數(shù)據(jù)

⑦void WriteByteHmc5883(unsigned char, unsigned char)//寫入單字節(jié)數(shù)據(jù)

⑧void ReadByteHmc5883(unsigned char, unsigned char)//讀取單字節(jié)數(shù)據(jù)

⑨void ReadAngleHmc5883 (void)//讀出測試角度數(shù)據(jù)

4 實(shí) 驗(yàn)

系統(tǒng)實(shí)際運(yùn)行結(jié)果如圖10~13所示。

圖10 測試結(jié)果一Fig.10 The result of the first experiment

圖11 測試結(jié)果二Fig.11 The result of the second experiment

圖12 測試結(jié)果三Fig.12 The result of the third experiment

圖13 測試結(jié)果四Fig.13 The result of the fourth experiment

圖中, 第 1 行:”XX:XX:XX” 為時(shí)/分/秒;”XX/XX/XX”為年/月/日;

第2行:”EXXX.X。是以順時(shí)針為旋轉(zhuǎn)方向與東的夾角(系統(tǒng)以東為參考起點(diǎn),角度為0時(shí)指向東),單位為度;”DXXX.XCM”為與障礙物的間距,單位為厘米。

5 結(jié) 論

經(jīng)過實(shí)測,系統(tǒng)能精確測試障礙物的方位和間距,并數(shù)字顯示。實(shí)驗(yàn)表明,系統(tǒng)測障功能達(dá)到設(shè)計(jì)要求,整個(gè)電路簡單實(shí)用,為后續(xù)深入研究移動(dòng)機(jī)器人自動(dòng)導(dǎo)航奠定基礎(chǔ)。

[1]童峰,許天增.一種移動(dòng)機(jī)器人超聲波導(dǎo)航系統(tǒng)[J].機(jī)器人,2002,24(1):55-57.TONG Feng,XU Tian-zeng.A ultrasonic navigation system for mobile robot[J].Robot,2002,24(1):55-57.

[2]蘇強(qiáng),林旭梅.一種基于單片機(jī)的超聲波傳感器的研究與設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2010,29(15):92-99.SU Qiang,LIN Xu-mei.Research and design on ultrasonic sensorsbased on single chip[J].Microcomputer& Its Applications,2010,29(15):92-99.

[3]郭清.基于STC89C52的超聲波測距防撞系統(tǒng)設(shè)計(jì)[J].儀表技術(shù)與傳感器,2011(6):74-77.GUO Qing.Ultrasonic ranging and anti-collision system based on STC89C52[J].Instrument Technique and Sensor,2011(6):74-77.

[4]郭檢楠.基于磁阻芯片和MSP430單片機(jī)的電子羅盤設(shè)計(jì)[J].信息與電子工程,2010,8(1):12-14.GUO Jian-nan.Design of digital compass with magneto resistive chip and the MCU of MSP430[J].Information and Elecronic Engineering,2010,8(1):12-14.

[5]王節(jié)旺.一種基于STC89C52RC單片機(jī)的計(jì)時(shí)系統(tǒng)的設(shè)計(jì)方案[J].微型機(jī)與應(yīng)用,2011,30(6):28-30.WANG Jie-wang.Design and implement of timing system based on STC89C52C MCU[J].Microcomputer& Its Applications,2011,30(6):28-30.

[6]張丹,賀西平.基于單片機(jī)的超聲波測距系統(tǒng)的設(shè)計(jì)[J].紡織高校基礎(chǔ)科學(xué)學(xué)報(bào),2008,21(1):117-120.ZHANG Dan,HE Xi-ping.Design of ultrasonic distance testing system based on microprocessor[J].Basic Sciences Journal of Textile Universities,2008,21(1):117-120.

[7]胡寧博,李劍,趙櫸云.基于HMC5883的電子羅盤設(shè)計(jì)[J].傳感器世界,2011(6):35-38.HU Ning-bo,LI Jian,ZHAO Ju-yun.Digital electronic compass based on HMC5883[J].Senor World,2011(6):35-38.

猜你喜歡
羅盤測距障礙物
高低翻越
SelTrac?CBTC系統(tǒng)中非通信障礙物的設(shè)計(jì)和處理
類星體的精準(zhǔn)測距
科學(xué)(2020年3期)2020-01-06 04:02:51
淺談超聲波測距
電子制作(2017年7期)2017-06-05 09:36:13
不宜上課
印尼《羅盤報(bào)》之中國國家形象
新聞傳播(2015年9期)2015-07-18 11:04:12
基于PSOC超聲測距系統(tǒng)設(shè)計(jì)
蒼蠅腦中有“羅盤”
相對差分單項(xiàng)測距△DOR
太空探索(2014年1期)2014-07-10 13:41:50
土釘墻在近障礙物的地下車行通道工程中的應(yīng)用
资阳市| 钦州市| 广德县| 宣城市| 黄冈市| 海城市| 高陵县| 吉林省| 许昌县| 永昌县| 安新县| 安丘市| 福泉市| 东乡族自治县| 洪雅县| 织金县| 南江县| 五指山市| 日喀则市| 徐闻县| 罗定市| 潼南县| 黑水县| 叙永县| 永顺县| 东丽区| 荔波县| 泰州市| 陆良县| 庆云县| 庄浪县| 顺昌县| 平安县| 灌阳县| 长春市| 瑞金市| 丽江市| 西和县| 两当县| 库尔勒市| 库车县|