<var id="fnfpo"><source id="fnfpo"></source></var>
<rp id="fnfpo"></rp>

<em id="fnfpo"><object id="fnfpo"><input id="fnfpo"></input></object></em>
<em id="fnfpo"><acronym id="fnfpo"></acronym></em>
  • <th id="fnfpo"><track id="fnfpo"></track></th>
  • <progress id="fnfpo"><track id="fnfpo"></track></progress>
  • <tbody id="fnfpo"><pre id="fnfpo"></pre></tbody>

  • x
    x
    查看: 2040|回復: 0
    打印 上一主題 下一主題

    【教程8】瘋殼·人形街舞機器人-多個舵機不同速率轉動

    [復制鏈接]
    跳轉到指定樓層
    樓主
    發表于 2022-8-16 15:05:44 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
    關鍵詞: 人形機器人 , 舞蹈機器人 , 舵機 , 不同速率轉動 , 教程
    多自由度人形雙足舞蹈機器人
    ——瘋殼·機器人開發系列
    多個舵機不同速率轉動   




        1相關簡介

        本章將介紹兩個舵機的不同速率轉動原理以及代碼實現,多個舵機不同速率的轉動跟兩個舵機的不同速率轉動的原理基本一致。
        首先要知道的一點就是我們的舵機速率是一定的,不可控制。我們要完成兩個舵機不同速率的轉動,是采用了一個積分算法。其實就是延時,從而降低一個或者多個舵機的轉動速率。
        我們先舉個例子。假設 1 號舵機要從 0°轉到 180°,同時 2 號舵機要從 0° 轉到 90°。如果不做任何處理,那么當 1 號、2 號舵機同時轉到 90°時,2 號舵機不轉,1 號舵機繼續轉動到 180°。這樣就會導致機器人難以完成許多動作。假設舵機直接從 0°轉到 180°的時間是 t,那么 2 號舵機實際轉動時間就是t/2,暫停時間是 t/2。如果我們將整個時間 t 分成 n 份,每次先讓舵機轉動 t/2n,然后再暫停 t/2n。當 n 足夠大時,我們的舵機就可以按照以原來二分之一的角速度勻速轉動,從而達到控制舵機的轉速。
        2硬件設計
        本次將要控制機器人的兩條腿,也就是 2、16 號舵機,對應的 IAP15W4K61S4 單片機管腳是 P15 和 P44,通過這兩個 IO 口連接 74HC244 間接控制兩個腿部舵機。

       
        圖 1
        3軟件設計

        軟件方面,關于舵機的控制可以參考上一章節,這里只講解積分算法。按照前面所提及的例子,我們的時間份數 n 應該盡可能大,這樣才會使舵機轉動得更加均勻。但由于實際情況下,舵機的控制時間是 2.5ms,那么分成的最小時間塊的長度就不能小于 2.5ms。
        在本次代碼中,我們設置一個動作完成時間(舵機從目前角度轉到目標角度的時間,時間可以自己設置)是 1s,那么時間份數,也就是積分次數就是NeedCount = 1000*2/5(1000 除以 2.5)。每一次裝載的 PWM 對應的角度為當前角度加上動作角度差的 NeedCount 分之一,從而實現舵機的近似勻速轉動。
        本次積分代碼如下。



       
        代碼1
        4實驗現象

        首先打開下載軟件 STC-ISP。

       
        圖 2
        (1)點擊 Keil 仿真設置,添加 STC 相關的頭文件。STC 的相關頭文件路徑是我們之前安裝 Keil C51 的路徑,如果之前采用的默認路徑,那么選擇 C 盤 Keil 文件夾。

       
        圖 3
        (2)添加完 STC 相關的頭文件,點擊彈窗中的確定。

               
        圖 4
        (3)設置單片機的型號、最低波特率、最高波特率如下圖所示,硬件選項等選項默認即可。串口號根據實際情況選擇。

       
        圖 5
        (4)點擊打開程序文件,選擇我們例程中的.hex 文件。

       
        圖 6
        (5)點擊下載/編程,下載代碼。

              
        圖 7

        (6)按一下電路板上面的 RST 按鍵,完成下載。

       
        圖 8

        代碼下載完成之后,打開機器人的電源開關,運行代碼,就能看到我們的機器人的兩條腿以不同的速率上下擺動。




        文件下載請點擊: 7_多個舵機不同速率轉動.pdf (1.02 MB)

    您需要登錄后才可以回帖 登錄 | 立即注冊

    本版積分規則

    關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
    電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
    快速回復 返回頂部 返回列表
    精品一区二区三区自拍图片区_国产成人亚洲精品_亚洲Va欧美va国产综合888_久久亚洲国产精品五月天婷