• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      一種新型舞蹈機(jī)器人的設(shè)計(jì)

      2021-09-10 08:36:36欒明慧李松松何慧敏張琦楊瑩李晨
      電子元器件與信息技術(shù) 2021年6期
      關(guān)鍵詞:舵機(jī)細(xì)化串口

      欒明慧,李松松,何慧敏,張琦,楊瑩,李晨

      (大連海洋大學(xué) 信息工程學(xué)院,遼寧 大連 116021)

      0 引言

      隨著科技的日新月異,許多科技產(chǎn)品逐漸從工業(yè)生產(chǎn)走向人們生活,機(jī)器人就是其中一種。從1920年捷克斯洛伐克作家雷爾.恰佩克創(chuàng)造出“機(jī)器人”這個(gè)詞,到1959年美國(guó)發(fā)明家德沃爾和約瑟夫·英格伯格一起創(chuàng)造出第一臺(tái)機(jī)器人,再到2002年美國(guó)iRobot公司推出吸塵機(jī)器人Roomba,機(jī)器人一步步走向成熟走向智能。工業(yè)上,機(jī)器人幫助人類完成極端環(huán)境下的工作,減少工業(yè)事故引發(fā)的生命財(cái)產(chǎn)損失[1];生活中,機(jī)器人為家庭和個(gè)人生活帶來(lái)便捷,提高人們生活質(zhì)量。文中的機(jī)器人能夠根據(jù)系統(tǒng)發(fā)出的控制命令完成一系列舞蹈動(dòng)作,是以STM32F103RCT6為控制核心[2],采用脈沖寬度調(diào)制(Pulse Width Modulation,PWM)信號(hào)來(lái)控制數(shù)字伺服舵機(jī)的舞蹈機(jī)器人,可以應(yīng)用到生活?yuàn)蕵?lè)以及一些科技展覽和機(jī)器人比賽中。

      1 整體方案

      機(jī)器人的的設(shè)計(jì)方案主要包括:硬件電路的設(shè)計(jì)、上位機(jī)軟件與舵機(jī)控制器通信的設(shè)計(jì)、硬件驅(qū)動(dòng)程序和舵機(jī)控制算法的設(shè)計(jì)等。

      機(jī)器人的軟件程序設(shè)計(jì)部分主要是硬件電路的驅(qū)動(dòng)程序和PC端軟件與舵機(jī)控制器的通信協(xié)議程序。通信程序主要是完成電腦端與舵機(jī)控制板之間的通信,通過(guò)PC端來(lái)對(duì)舵機(jī)控制板程序的改寫(xiě),主控控制輸出PWM波等。硬件系統(tǒng)框圖如圖1所示。

      圖1 硬件系統(tǒng)框圖

      機(jī)器人的上位機(jī)采用的是最為常用的PC端串口助手,采用串口通信協(xié)議。PC端軟件通過(guò)串口通信模塊或無(wú)線藍(lán)牙模塊,在串口通信協(xié)議的規(guī)定下舵機(jī)控制器傳輸并改寫(xiě)數(shù)據(jù)[3]。

      2 對(duì)機(jī)器人舵機(jī)進(jìn)行分析

      2.1 舵機(jī)的轉(zhuǎn)動(dòng)控制

      機(jī)器人選用的舵機(jī)是一種小型直流伺服舵機(jī),滿足傳統(tǒng)的PWM協(xié)議,并且對(duì)PWM信號(hào)要求較低,不用隨時(shí)接收指令,能夠減少CPU的疲勞程度;可以位置自鎖、位置跟蹤。

      舵機(jī)控制器讀取輸出電壓,確定轉(zhuǎn)動(dòng)角度,將該角度和目的角度作對(duì)比,如果有角度偏差就再次輸出PWM信號(hào)重新調(diào)整。整體構(gòu)成一個(gè)完善的電壓閉環(huán)反饋控制器。數(shù)字舵機(jī)是由一定占空比的PWM 信號(hào)來(lái)驅(qū)動(dòng)的,驅(qū)動(dòng)舵機(jī)旋轉(zhuǎn)的PWM信號(hào)一般是周期為20ms左右的脈沖信號(hào)。舵機(jī)的角度是由PWM信號(hào)的高電平占空比來(lái)決定的,舵機(jī)的轉(zhuǎn)速度取決于 PWM信號(hào)的頻率,頻率越高,舵機(jī)轉(zhuǎn)速越快[4]。

      2.2 舵機(jī)的追隨特性

      舵機(jī)的隨動(dòng)過(guò)程:舵機(jī)穩(wěn)定在A點(diǎn)不動(dòng),當(dāng)CPU發(fā)出B點(diǎn)位置坐標(biāo)的PWM信號(hào)時(shí),舵機(jī)全速由A點(diǎn)轉(zhuǎn)向B點(diǎn),圖中

      舵機(jī)的隨動(dòng)特性如圖2所示,CPU發(fā)出B點(diǎn)PWM信號(hào)后,應(yīng)該等待一段時(shí)間,利用此時(shí)間舵機(jī)才能轉(zhuǎn)動(dòng)至B點(diǎn)。

      圖2 舵機(jī)的隨動(dòng)特性圖

      3 硬件電路的設(shè)計(jì)

      3.1 機(jī)器人的主控

      機(jī)器人的主控芯片是STM32F103RCT6,舵機(jī)外設(shè)的電壓輸出端連接在中央處理器STM32F103RCT6的引腳,舵機(jī)控制器通過(guò)GPIO口向舵機(jī)發(fā)送轉(zhuǎn)動(dòng)位置的PWM脈沖,利用延時(shí)程序和計(jì)算PWM輸出的時(shí)間增量來(lái)控制舵機(jī)外設(shè)的轉(zhuǎn)動(dòng)速度,STM32F103RCT6也通過(guò)GPIO口來(lái)接收位置信息反饋。

      3.2 STM32最小系統(tǒng)

      STM32最小系統(tǒng)包括濾波電路和時(shí)鐘電路,以及復(fù)位電路。外部電源先經(jīng)過(guò)濾波電容然后再給芯片供電,能夠?yàn)V掉電源的雜波和干擾,提高芯片的抗干擾能力[5]。

      3.3 通信電路

      USB與CH340G通信的數(shù)據(jù)傳輸線為D_L和D_H,這是一對(duì)差分信號(hào)線,通過(guò)差分信號(hào)線接入CH430G的第6和第5管腳。CH430_TXD和CH430_RXD與STM32的PA9、PA10連接,這兩個(gè)端口為STM32的UART_1的傳輸接口,通過(guò)串口UART_1與STM32實(shí)現(xiàn)數(shù)據(jù)傳輸[6]。CH430G自身進(jìn)行數(shù)據(jù)傳輸時(shí)需要基準(zhǔn)時(shí)鐘脈沖所以第7和第8引腳接入8MHZ的外部時(shí)鐘晶振。通信電路圖如圖3所示

      圖3 通信電路圖

      3.4 電源電路

      電源部分別STM32主控、24路舵機(jī)、外接設(shè)備供電。這里采用的是一個(gè)7.4V的航模電池來(lái)供電,然后由AMS1117_3.3V和AMS1117_5.0V穩(wěn)壓芯片穩(wěn)定到3.3V和5V。

      3.5 舵機(jī)接口電路

      24路舵機(jī)通過(guò)排針接口JP1-JP8,經(jīng)過(guò)1K的排阻與STM32進(jìn)行連接。并在舵機(jī)與GND之間加入自恢復(fù)保險(xiǎn)管,以保證舵機(jī)堵轉(zhuǎn)是能及時(shí)停止運(yùn)型,防止因電流過(guò)大燒壞舵機(jī)。

      3.6 外設(shè)接口電路圖

      在外設(shè)電路中,XFS5152V2語(yǔ)音合成模塊和藍(lán)牙串口模塊。語(yǔ)音合成模塊通過(guò)USART_5來(lái)接收指令和語(yǔ)音信息,無(wú)線藍(lán)牙模塊通過(guò)串口USART_3與PC端的通訊,通過(guò)從串口助手軟件來(lái)監(jiān)控下位機(jī)傳來(lái)的舵機(jī)數(shù)據(jù),也可以通過(guò)藍(lán)牙對(duì)舵機(jī)值進(jìn)行修改。

      4 系統(tǒng)軟件的控制

      舵機(jī)驅(qū)動(dòng)程序的設(shè)計(jì)思路是通過(guò)主控向數(shù)字舵機(jī)發(fā)送PWM信號(hào),來(lái)規(guī)定數(shù)字舵機(jī)的轉(zhuǎn)動(dòng)目標(biāo)位置[7]。具體輸出方法是在外部固定的時(shí)鐘源的基礎(chǔ)上再利用定時(shí)器來(lái)輸出PWM脈沖,主程序設(shè)計(jì)流程圖如圖6所示

      系統(tǒng)初始化過(guò)后,使舵機(jī)維持在初始狀態(tài)位置,開(kāi)始檢查動(dòng)作組指令是否接收完畢。接受動(dòng)作組數(shù)據(jù)后對(duì)數(shù)據(jù)進(jìn)行分析,分組;12個(gè)數(shù)據(jù)為一組,分別向左側(cè)舵機(jī)和右側(cè)舵機(jī)輸入數(shù)據(jù),在輸入數(shù)據(jù)之后,通過(guò)函數(shù)計(jì)算PWM更新的增量來(lái)決定分化時(shí)間,從而控制舵機(jī)的轉(zhuǎn)動(dòng)速度。

      圖4 主程序流程圖

      5 舵機(jī)“差補(bǔ)法”調(diào)速

      恒定的電壓和一定的負(fù)載下,舵機(jī)的轉(zhuǎn)動(dòng)速度是一定的,只有通過(guò)軟件來(lái)實(shí)現(xiàn)速度控制。這里設(shè)計(jì)的主要思想是要實(shí)現(xiàn)速度控制,知道舵機(jī)轉(zhuǎn)動(dòng)前后角度,以及確定完成轉(zhuǎn)動(dòng)所消耗的時(shí)間,再對(duì)時(shí)間和轉(zhuǎn)動(dòng)的角度的變化量進(jìn)行細(xì)化,實(shí)現(xiàn)對(duì)數(shù)字舵機(jī)的轉(zhuǎn)動(dòng)速度進(jìn)行控制。舵機(jī)的轉(zhuǎn)動(dòng)速度主要是利用“差補(bǔ)法”控制,“差補(bǔ)法”就是分時(shí)復(fù)用的基本理念,通過(guò)細(xì)分時(shí)間來(lái)控制舵機(jī)轉(zhuǎn)速,主要思路如下:利用STM32強(qiáng)大地定時(shí)器中斷系統(tǒng)來(lái)實(shí)現(xiàn)時(shí)間的細(xì)化,假設(shè)在一個(gè)周期為T的時(shí)間里,定時(shí)器中斷N次,T為一個(gè)周期,N為中斷次數(shù),t表示單位細(xì)化時(shí)間,單位細(xì)化時(shí)間的計(jì)算公式如式(1)所示。

      假設(shè)舵機(jī)從初始角度轉(zhuǎn)動(dòng)到目標(biāo)角度花費(fèi)的時(shí)間為Tem,Tem為從初始角度到目標(biāo)角度經(jīng)歷的時(shí)間,n為細(xì)化的次數(shù),則計(jì)算細(xì)化次數(shù)n的計(jì)算公式如式(2)所示。

      假設(shè)舵機(jī)的初始角度為ω0,轉(zhuǎn)動(dòng)的目標(biāo)角度為ωn,從初始位置到終點(diǎn)位置的角度差為dp,則角度差dp的計(jì)算公式如式(3)所示。

      假設(shè)dp0為單位細(xì)化角度,則單位細(xì)化角度為角度差和細(xì)化次數(shù)之比,如式(4)所示:

      綜上所述,轉(zhuǎn)動(dòng)所消耗的時(shí)間每增加一個(gè)單位時(shí)間(dt),轉(zhuǎn)動(dòng)角度也會(huì)增加單位角度(dp),令差補(bǔ)的次數(shù)變量為m,則當(dāng)m=n,舵機(jī)轉(zhuǎn)到目標(biāo)角度[8]。

      6 結(jié)束語(yǔ)

      本文設(shè)計(jì)的機(jī)器人采用藍(lán)牙模塊與PC端通信,使用PS2遙控手柄進(jìn)行運(yùn)行控制,能夠完成24路舵機(jī)的同時(shí)驅(qū)動(dòng),并且能根據(jù)使用者的需求發(fā)出相應(yīng)語(yǔ)音,舵機(jī)“差補(bǔ)法”的調(diào)速,讓舵機(jī)按照使用者的需求速度轉(zhuǎn)動(dòng),使舵機(jī)靈敏性更高。經(jīng)過(guò)多次試驗(yàn),對(duì)機(jī)器人設(shè)計(jì)的各種舞蹈動(dòng)作,舵機(jī)能夠準(zhǔn)確完成要求。此新型舞蹈機(jī)器人性能穩(wěn)定,動(dòng)作精準(zhǔn)度高,靈活性強(qiáng),可以很好的應(yīng)用到日常生活?yuàn)蕵?lè)以及一些舞蹈機(jī)器人比賽中。

      猜你喜歡
      舵機(jī)細(xì)化串口
      淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
      含齒隙彈載舵機(jī)的全局反步模糊自適應(yīng)控制
      中小企業(yè)重在責(zé)任細(xì)化
      基于dsPIC單片機(jī)的飛艇舵機(jī)控制實(shí)現(xiàn)
      電子制作(2018年1期)2018-04-04 01:48:14
      “細(xì)化”市場(chǎng),賺取百萬(wàn)財(cái)富
      “住宅全裝修”政策亟需細(xì)化完善
      基于高速同步485總線通信的多通道舵機(jī)控制器設(shè)計(jì)
      USB接口的多串口數(shù)據(jù)并行接收方法探索
      基于藍(lán)牙串口適配器的GPS接收機(jī)與AutoCAD的實(shí)時(shí)無(wú)線通信
      基于數(shù)據(jù)分析的大氣腐蝕等級(jí)細(xì)化研究
      仙游县| 太白县| 潞西市| 武鸣县| 长宁县| 青铜峡市| 荥阳市| 无棣县| 宜城市| 泰来县| 汉阴县| 安泽县| 凤山县| 霍林郭勒市| 江安县| 太仆寺旗| 马尔康县| 池州市| 射阳县| 牙克石市| 神池县| 禄劝| 武夷山市| 中方县| 浮梁县| 济南市| 三江| 博爱县| 河东区| 达孜县| 永昌县| 锡林浩特市| 清水县| 灵寿县| 建瓯市| 武义县| 潜江市| 西城区| 阿拉善盟| 当雄县| 大庆市|