摘 要:激光測距因其具有效率高、使用方便且測量速度快等優(yōu)勢,被廣泛運(yùn)用在多個(gè)領(lǐng)域。為提升激光測距儀的測量精度,使激光測距儀的使用更加智能化,設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)基于物聯(lián)網(wǎng)的支架,使該支架具有輕便、易操作等特點(diǎn)。支架選擇28BYJ-48步進(jìn)電機(jī)為主要元件,采用STM32單片機(jī)為主控模塊,能夠通過手機(jī)端藍(lán)牙發(fā)送測量角度,單片機(jī)在接收處理數(shù)據(jù)后控制ULN2003電機(jī)驅(qū)動(dòng)相關(guān)模塊,使步進(jìn)電機(jī)在給定的脈沖個(gè)數(shù)和速率下精準(zhǔn)轉(zhuǎn)動(dòng),從而使支架能夠?qū)崿F(xiàn)想要的俯仰效果。
關(guān)鍵詞:物聯(lián)網(wǎng);步進(jìn)電機(jī);STM32;藍(lán)牙;激光測距;俯仰角度調(diào)節(jié)
中圖分類號(hào):TP39;TN923 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-1302(2025)08-0-03
0 引 言
隨著現(xiàn)代科學(xué)的迅速發(fā)展,激光測距技術(shù)已被廣泛應(yīng)用于諸多領(lǐng)域。相比傳統(tǒng)的接觸式測距技術(shù),激光測距無需與被測點(diǎn)直接接觸,便能夠到達(dá)難以接近或危險(xiǎn)的地點(diǎn),從而在一定程度上保障了測量者的人身安全。此外,激光測距具有速度快、操作簡便、測量距離遠(yuǎn)、精度高等優(yōu)點(diǎn)。其原理是通過計(jì)算激光往返所需的時(shí)間來推算距離。
激光測距技術(shù)的發(fā)展源頭可以追溯到20世紀(jì)60年代,當(dāng)時(shí)第一臺(tái)激光測距儀由美國人西奧多·梅曼研制成功[1]。到了20世紀(jì)70年代,隨著YAG激光器技術(shù)的成熟,激光測距雷達(dá)得到了廣泛應(yīng)用[2]。中國科學(xué)家魏子卿研制的氣體激光測距儀,測程達(dá)到了20 km,經(jīng)過野外測試,其性能先進(jìn)且穩(wěn)定,達(dá)到了國內(nèi)領(lǐng)先水平[3]。
近年來,手持式激光測距儀因其體積小、重量輕、測量范圍廣、測速快、精度高、易于使用等優(yōu)點(diǎn),越來越受到歡迎[4]。然而,大多數(shù)手持式激光測距儀的研究重點(diǎn)仍集中在誤差測量、校準(zhǔn)方法和性能分析等方面。為了進(jìn)一步提升測量的便捷性和效率,彌補(bǔ)現(xiàn)有測量方法的不足,設(shè)計(jì)一款基于物聯(lián)網(wǎng)的可實(shí)現(xiàn)俯仰調(diào)節(jié)的支架,旨在通過其較高的靈活性來提高使用者的測量效率和測量準(zhǔn)確性,并拓展激光測距儀的應(yīng)用場景。
1 總體設(shè)計(jì)
該智能支架系統(tǒng)采用STM32F103RCT6單片機(jī)作為主控模塊,以步進(jìn)電機(jī)為主要控制元件,通過控制步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)實(shí)現(xiàn)支架的俯仰角度調(diào)節(jié)。結(jié)合物聯(lián)網(wǎng)技術(shù),系統(tǒng)支持通過手機(jī)藍(lán)牙遠(yuǎn)程控制支架的俯仰動(dòng)作。支架硬件主要包括單片機(jī)、步進(jìn)電機(jī)、電機(jī)驅(qū)動(dòng)模塊、藍(lán)牙模塊和光電傳感器等部分。
單片機(jī)模塊負(fù)責(zé)協(xié)調(diào)各模塊的功能,實(shí)現(xiàn)數(shù)據(jù)的分析與處理;選用28BYJ-48步進(jìn)電機(jī)作為支架的控制元件,通過控制脈沖數(shù)量實(shí)現(xiàn)支架轉(zhuǎn)動(dòng)角度的精準(zhǔn)調(diào)節(jié);采用HC-05藍(lán)牙模塊作為系統(tǒng)的無線通信基礎(chǔ),實(shí)現(xiàn)單片機(jī)與手機(jī)或其他上位機(jī)之間的連接與通信,從而支持系統(tǒng)的物聯(lián)網(wǎng)功能。該藍(lán)牙模塊具有良好的兼容性,支持遠(yuǎn)距離和多模式傳輸[5];ULN2003電機(jī)驅(qū)動(dòng)模塊具有高放大倍數(shù)和低飽和壓降的特點(diǎn),能夠輕松驅(qū)動(dòng)高電流負(fù)載;PM-R25光電傳感器作為輔助模塊,具有靈敏度高、響應(yīng)速度快、可靠性強(qiáng)等特點(diǎn)。系統(tǒng)設(shè)計(jì)框圖如圖1所示。
2 電機(jī)模塊
步進(jìn)電機(jī)是一種特殊類型的電機(jī),能夠通過控制脈沖信號(hào)實(shí)現(xiàn)精準(zhǔn)的位置定位。其結(jié)構(gòu)簡單、壽命長,且利用單片機(jī)控制步進(jìn)電機(jī)具有成本低、使用靈活等優(yōu)點(diǎn)。在本設(shè)計(jì)中,選擇步進(jìn)電機(jī)作為支架的控制元件,以實(shí)現(xiàn)支架轉(zhuǎn)動(dòng)角度的精準(zhǔn)控制。28BYJ-48步進(jìn)電機(jī)的工作原理是通過改變電磁鐵的電流狀態(tài),使電磁鐵產(chǎn)生不同的磁場,從而推動(dòng)轉(zhuǎn)子以一定的角度轉(zhuǎn)動(dòng)。該電機(jī)能夠?qū)⒚}沖信號(hào)轉(zhuǎn)換為角位移,當(dāng)接收到一個(gè)脈沖信號(hào)時(shí),電機(jī)會(huì)按照設(shè)定的方向轉(zhuǎn)動(dòng)相應(yīng)的角度[6-7]。轉(zhuǎn)動(dòng)的總角度取決于脈沖的數(shù)量,而轉(zhuǎn)速則由脈沖的頻率決定,因此非常適合通過單片機(jī)進(jìn)行控制。
28BYJ-48步進(jìn)電機(jī)有三種工作方式:單四拍、雙四拍和八拍。單四拍和雙四拍的步距角相同,但單四拍的轉(zhuǎn)動(dòng)力矩較小;八拍的步距角是前兩者的一半,因此能夠在保持較高轉(zhuǎn)動(dòng)力矩的同時(shí)提高控制精度。本設(shè)計(jì)采用八拍工作方式,即A-AB-B-BC-C-CD-D-DA-A,以實(shí)現(xiàn)更精確的角度控制和更高的力矩輸出。
步進(jìn)電機(jī)工作原理如圖2所示,當(dāng)A相通電,B、C、D不通電時(shí),磁極A相和1、5號(hào)轉(zhuǎn)子對(duì)齊;當(dāng)A、B相同時(shí)通電時(shí),1、5號(hào)轉(zhuǎn)子就轉(zhuǎn)到A、B相中間;當(dāng)B相通電,A、C、D不通電時(shí),磁極B相和1、5號(hào)轉(zhuǎn)子對(duì)齊;當(dāng)BC相同時(shí)通電時(shí),1、5號(hào)轉(zhuǎn)子就處在B、C相中間;當(dāng)C相通電,A、B、D不通電時(shí),磁極C相和1、5號(hào)轉(zhuǎn)子對(duì)齊;當(dāng)C、D相同時(shí)通電時(shí),1、5號(hào)轉(zhuǎn)子轉(zhuǎn)到C、D相中間。其他相和轉(zhuǎn)子同理,A、B、C、D四相輪流供電,轉(zhuǎn)子也沿著A-B-C-D方向轉(zhuǎn)動(dòng),從而使電機(jī)轉(zhuǎn)動(dòng),步進(jìn)角為5.625°,八拍一個(gè)輪回,八拍電機(jī)轉(zhuǎn)完一圈,即360°。
3 主控模塊
STM32F103RCT6采用的ARM Cortex-M3內(nèi)核,具有高性能、低功耗、易于開發(fā)和易于集成的特點(diǎn);具有高達(dá)72 MHz的工作頻率,使得它能夠快速處理各種復(fù)雜的任務(wù)和算法;擁有豐富的外設(shè)接口,包括GPIO、ADC、DAC、SPI、I2C、USART和UART等[8]。這些豐富的外設(shè)接口使得它能夠方便地與各種傳感器、執(zhí)行器和外部設(shè)備進(jìn)行連接和控制;再者采用了低功耗設(shè)計(jì),使其在運(yùn)行時(shí)具有較小的功耗,同時(shí)保證了芯片的穩(wěn)定性和可靠性;STM32F103RCT6采用標(biāo)準(zhǔn)的HAL庫和STM32CubeMX工具,使得開發(fā)者能夠快速地進(jìn)行開發(fā)和集成。此外,它還支持多種開發(fā)工具,如Keil、IAR和GCC等。
4 藍(lán)牙模塊
本設(shè)計(jì)選用ATK-HC-05藍(lán)牙模塊,通過物聯(lián)網(wǎng)技術(shù)實(shí)現(xiàn)手機(jī)端發(fā)送指令控制步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)角度。該模塊具有良好的兼容性,支持遠(yuǎn)距離、高速傳輸和多種傳輸模式,同時(shí)功耗低,能夠延長設(shè)備的工作時(shí)間。此外,該模塊簡單易用、成本低廉,并支持多設(shè)備同時(shí)連接。HC-05模塊的傳輸距離可達(dá)10 m左右。
HC-05是一款主從一體的藍(lán)牙模塊,默認(rèn)設(shè)置為從機(jī)模式,因此在使用前需要根據(jù)需求進(jìn)行主從模式配置[9]。配置步驟如下:首先準(zhǔn)備兩個(gè)藍(lán)牙模塊,其中一個(gè)通過USB轉(zhuǎn)TTL模塊連接到筆記本電腦,另一個(gè)連接到STM32單片機(jī)。給單片機(jī)上電后,兩個(gè)藍(lán)牙模塊的LED指示燈會(huì)頻繁閃爍。接著,使用德飛萊串口調(diào)試軟件,通過AT指令將其中一個(gè)模塊設(shè)置為主機(jī),另一個(gè)設(shè)置為從機(jī)。在波特率相同的情況下,兩個(gè)藍(lán)牙模塊即可進(jìn)行配對(duì)。當(dāng)LED指示燈變?yōu)橛幸?guī)律的閃爍(主從機(jī)一前一后或同步閃爍)時(shí),表示配對(duì)成功。此時(shí),將主機(jī)連接至電腦,或在手機(jī)上下載SPP藍(lán)牙串口助手,從機(jī)則連接至STM32單片機(jī)。配對(duì)成功后,即可通過藍(lán)牙模塊實(shí)現(xiàn)串口通信。
HC-05藍(lán)牙模塊引腳功能詳述見表1。
5 ULN2003電機(jī)驅(qū)動(dòng)模塊
ULN2003芯片電路由7對(duì)達(dá)林頓晶體管組成,這是一種高耐壓、大電流的達(dá)林頓陣列。單個(gè)達(dá)林頓晶體管的集電極電流為500 mA,在并聯(lián)配置下可承受更大的電流。每對(duì)達(dá)林頓晶體管的基極都串聯(lián)了一個(gè)2.7 kΩ的電阻,可以直接與TTL或5 V CMOS裝置連接。該芯片本質(zhì)上是一個(gè)功率放大器,能夠?qū)⑤斎氲奈⑷跣盘?hào)放大到足夠的功率,使輸出端具備較強(qiáng)的驅(qū)動(dòng)能力,從而有效驅(qū)動(dòng)負(fù)載。
ULN2003芯片具有高效率、低噪音、低發(fā)熱等特點(diǎn),同時(shí)還具備保護(hù)功能。當(dāng)電流或電壓過大,抑或出現(xiàn)欠壓情況時(shí),該模塊能夠保護(hù)步進(jìn)電機(jī)及芯片本身免受損壞,從而在一定程度上延長了它們的使用壽命,并提高了步進(jìn)電機(jī)的運(yùn)動(dòng)性能和穩(wěn)定性。由于該電機(jī)驅(qū)動(dòng)模塊能夠提供穩(wěn)定的電壓和電流,使步進(jìn)電機(jī)能夠按照設(shè)定的方向和步數(shù)進(jìn)行精準(zhǔn)運(yùn)動(dòng),因此非常適合用于步進(jìn)電機(jī)的控制。
STM32單片機(jī)與驅(qū)動(dòng)模塊的硬件連接:將ULN2003的IN1引腳連接到單片機(jī)的PA4,IN2連接到PA5,IN3連接到PA6,IN4連接到PA7,5 V正極接單片機(jī)VCC,負(fù)極接GND。連接如圖3所示。
6 光電傳感器
本設(shè)計(jì)采用對(duì)射型U型光電傳感器PM-R25,該傳感器具有靈敏度高、響應(yīng)速度快、可靠性強(qiáng)等特點(diǎn)。其功能是當(dāng)檢測到物體時(shí),輸出一個(gè)電信號(hào);當(dāng)單片機(jī)接收到該信號(hào)后,會(huì)執(zhí)行相應(yīng)指令,從而控制電機(jī)做出對(duì)應(yīng)的動(dòng)作。
PM-R25傳感器的工作原理基于光電效應(yīng)。當(dāng)傳感器發(fā)出的光線照射到被檢測物體時(shí),如果物體不透明,光線會(huì)被物體吸收或反射,導(dǎo)致傳感器無法接收到光信號(hào),從而判定物體存在;如果物體透明或半透明,光線會(huì)穿過物體繼續(xù)傳播,傳感器則無法檢測到物體存在[10]。當(dāng)傳感器檢測到物體時(shí),單片機(jī)接收到信號(hào),步進(jìn)電機(jī)停止轉(zhuǎn)動(dòng);未檢測到物體時(shí),步進(jìn)電機(jī)按照指令繼續(xù)旋轉(zhuǎn)。
7 程序設(shè)計(jì)
在該智能支架系統(tǒng)的設(shè)計(jì)中,基于C語言使用Keil軟件進(jìn)行編程,程序主要包括三個(gè)模塊:電機(jī)模塊、HC-05藍(lán)牙模塊和光電傳感器模塊。程序內(nèi)容涵蓋單片機(jī)的時(shí)鐘初始化、端口初始化、各模塊的初始化及功能實(shí)現(xiàn)等。完成STM32單片機(jī)與各模塊的硬件連接并檢查連接無誤后給單片機(jī)上電。接著,使用ST-LINK燒錄器將編譯好的程序下載到單片機(jī)中。隨后,打開手機(jī)藍(lán)牙及SPP藍(lán)牙串口助手,搜索附近可連接的藍(lán)牙設(shè)備并進(jìn)行配對(duì)。上位機(jī)通過SPP藍(lán)牙串口助手向HC-05藍(lán)牙模塊發(fā)送指令,HC-05藍(lán)牙模塊通過串口將數(shù)據(jù)傳輸給STM32單片機(jī)。單片機(jī)對(duì)接收到的指令進(jìn)行分析后,驅(qū)動(dòng)ULN2003模塊控制步進(jìn)電機(jī)轉(zhuǎn)動(dòng),從而實(shí)現(xiàn)物聯(lián)網(wǎng)遠(yuǎn)程控制功能。
軟件設(shè)計(jì)流程如圖4所示。
8 系統(tǒng)測試
在該支架的設(shè)計(jì)中,系統(tǒng)分為硬件和軟件兩大部分。為了驗(yàn)證結(jié)果是否符合預(yù)期并查找潛在問題,從而進(jìn)一步完善軟硬件設(shè)計(jì),需對(duì)系統(tǒng)進(jìn)行測試。測試步驟如下:
(1)硬件連接:在不接通電源的情況下,使用杜邦線將各個(gè)硬件模塊連接到單片機(jī)上,確認(rèn)連接無誤后接通電源;
(2)程序下載:連接ST-LINK燒錄器,將編寫好的程序下載到單片機(jī)中;
(3)藍(lán)牙配對(duì):打開手機(jī)上的SPP藍(lán)牙串口助手,搜索并匹配單片機(jī)上的從機(jī)藍(lán)牙,找到對(duì)應(yīng)的設(shè)備名稱并完成連接;
(4)角度測試:在0°~360°范圍內(nèi),選擇0°、90°、150°、210°、270°和360°六個(gè)角度對(duì)電機(jī)進(jìn)行測試,觀察電機(jī)的轉(zhuǎn)動(dòng)情況是否符合預(yù)期。
測試結(jié)果見表2。
從測試結(jié)果看,本文設(shè)計(jì)的智能支架測量結(jié)果與原輸入角度存在誤差,電機(jī)的轉(zhuǎn)動(dòng)響應(yīng)受轉(zhuǎn)速影響,步進(jìn)電機(jī)高速運(yùn)轉(zhuǎn)時(shí),慣量增加,動(dòng)態(tài)響應(yīng)變差,導(dǎo)致電機(jī)轉(zhuǎn)動(dòng)的最終角度存在誤差。從測量結(jié)果看,測量誤差小于0.2%,在可接受的范圍內(nèi),本次設(shè)計(jì)的智能支架基本符合預(yù)期要求。
9 結(jié) 語
本文介紹了一種基于物聯(lián)網(wǎng)的智能支架系統(tǒng)。該智能支架可通過藍(lán)牙無線通信進(jìn)行遠(yuǎn)程操控,且具有體積小、使用方便、結(jié)構(gòu)簡單等特點(diǎn),能夠適應(yīng)大多數(shù)應(yīng)用場合,為測距儀的使用帶來便利,具有廣闊的應(yīng)用前景。
參考文獻(xiàn)
[1]陳超.便攜式激光測距儀的研制[D].南京:東南大學(xué),2017.
[2]周宇.脈沖式激光測距儀的研究與設(shè)計(jì)[D].武漢:華中師范大學(xué),2016.
[3]康瑋瑋.全站式激光準(zhǔn)直系統(tǒng)中的測距技術(shù)研究[D].天津:天津大學(xué),2007.
[4]張嘯.手持式激光測距儀的研究與設(shè)計(jì)[D].合肥:合肥工業(yè)大學(xué),2010.
[5]代寧寧.基于藍(lán)牙傳輸?shù)腡MS運(yùn)動(dòng)誘發(fā)電位檢測技術(shù)研發(fā)[D].蘭州:蘭州交通大學(xué),2024.
[6]萬勝前.基于MSP430F449單片機(jī)的24BYJ48步進(jìn)電機(jī)控制[J].鄂州大學(xué)學(xué)報(bào),2011,18(2):13-15.
[7]孔祥煜.基于51單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)[J].內(nèi)燃機(jī)與配件,2019(5):92-93.
[8]朱嵇康,張杰,夏建平,等.基于STM32F103的遠(yuǎn)程監(jiān)測儀器系統(tǒng)設(shè)計(jì)與應(yīng)用[J].信息與電腦(理論版),2016(13):115-116.
[9]郭慧敏,孟游,遲少華,等.基于Android手機(jī)手勢和語音控制的人機(jī)交互系統(tǒng)設(shè)計(jì)[J].南京信息工程大學(xué)學(xué)報(bào)(自然科學(xué)版),2019,11(2):216-220.
[10]劉昕宇,侯文宇,王文佳,等.基于透射式光電傳感器的氣泡檢測裝置設(shè)計(jì)[J].傳感器與微系統(tǒng),2023,42(12):91-94.