精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

非常適合在關節型機器人產品使用的舵機原理和實現

GReq_mcu168 ? 來源:玩轉單片機 ? 作者:玩轉單片機 ? 2020-10-26 10:56 ? 次閱讀

最近幾年國內機器人開始起步發展,很多高校、中小學都開始進行機器人技術教學。小型的機器人、模塊化的機器人、組件式的機器人是教學機器人的首選。在這些機器人產品中,舵機是很關鍵,使用較多的部件。根據控制方式,舵機應該稱為微型伺服馬達。早期在模型上使用最多,主要用于控制模型的舵面,所以俗稱舵機。舵機接受一個簡單的控制指令就可以自動轉動到一個比較精確的角度,所以非常適合在關節型機器人產品使用。

1.舵機的結構

舵機簡單的說就是集成了直流電機電機控制器和減速器等,并封裝在一個便于安裝的外殼里的伺服單元。能夠利用簡單的輸入信號比較精確的轉動給定角度的電機系統。舵機安裝了一個電位器(或其它角度傳感器檢測輸出軸轉動角度,控制板根據電位器的信息能比較精確的控制和保持輸出軸的角度。這樣的直流電機控制方式叫閉環控制,所以舵機更準確的說是伺服馬達,英文servo。

舵機的主體結構如圖所示,主要有幾個部分:外殼、減速齒輪組、電機、電位器、控制電路。簡單的工作原理是控制電路接收信號源的控制信號,并驅動電機轉動;齒輪組將電機的速度成大倍數縮小,并將電機的輸出扭矩放大響應倍數,然后輸出;電位器和齒輪組的末級一起轉動,測量舵機軸轉動角度;電路板檢測并根據電位器判斷舵機轉動角度,然后控制舵機轉動到目標角度或保持在目標角度。舵機的外殼一般是塑料的,特殊的舵機可能會有金屬鋁合金外殼。金屬外殼能夠提供更好的散熱,可以讓舵機里面的電機運行在更高功率下,以提供更高的扭矩輸出。金屬外殼也可以提供更牢固的固定位置。舵機的齒輪箱有塑料齒輪、混合齒輪、金屬齒輪的差別。塑料齒輪成本低,噪音小,但強度較低;金屬齒輪強度高,但成本高,在裝配精度一般的情況下會有很大的噪音。小扭矩舵機、微舵、扭矩大但功率密度小的舵機一般都用塑料齒輪,如Futaba3003,輝盛的9g微舵。金屬齒輪一般用于功率密度較高的舵機上,比如輝盛的MG995舵機,在和3003一樣體積的情況下卻能提供13KG的扭矩。Hitec甚至用鈦合金作為齒輪材料,其高強度能保證3003大小的舵機能提供20幾公斤的扭矩。混合齒輪在金屬齒輪和塑料齒輪間做了折中,在電機輸出減速箱扭矩不大的部位,用塑料齒輪。

2.舵機的規格和選型

舵機轉速

轉速由舵機無負載的情況下轉過60°角所需時間來衡量,常見舵機的速度一般在0.11s/60°-0.21s/60°之間。

舵機扭矩

舵機扭矩的單位是KG·CM,這是一個扭矩單位。可以理解為在舵盤上距舵機軸中心水平距離1CM處,舵機能夠帶動的物體重量。

工作電壓

廠商提供的速度、轉矩數據和測試電壓有關,在4.8V和6V兩種測試電壓下這兩個參數有比較大的差別。如MG995在4.8V時速度為0.17秒,在6.0V時速度為0.13秒。舵機的工作電壓對性能有重大的影響,舵機推薦的電壓一般都是4.8V或6V。當然,有的舵機可以在7V以上工作,比如12V的舵機也不少。具體更加較高的電壓可以提高電機的速度和扭矩。選擇舵機還需要看我們的控制板所能提供的電壓。

尺寸重量和材質

舵機的功率(速度×轉矩)和舵機的尺寸比值可以理解為該舵機的功率密度,一般同樣品牌的舵機,功率密度大的價格高。塑料齒輪的舵機在超出極限負荷的條件下使用可能會崩齒,金屬齒輪的舵機則可能會電機過熱損毀或外殼變形。所以材質的選擇并沒有絕對的傾向,關鍵是將舵機使用在設計規格之內。用戶一般都對金屬制的物品比較信賴,齒輪箱期望選擇全金屬的,舵盤期望選擇金屬舵盤。但需要注意的是,金屬齒輪箱在長時間過載下也不會損毀,最后卻是電機過熱損壞或外殼變形,而這樣的損壞是致命的,不可修復的。塑料出軸的舵機如果使用金屬舵盤是很危險的,舵盤和舵機軸在相互扭轉過程中,金屬舵盤不會磨損,舵機軸會在一段時間后變得光禿,導致舵機完全不能使用。綜上,選擇舵機需要在計算自己所需扭矩和速度,并確定使用電壓的條件下,選擇有150%左右甚至更大扭矩富余的舵機。

3.舵機的工作原理

舵機是一個微型的伺服控制系統,具體的控制原理可以用下圖表示:

工作原理是控制電路接收信號源的控制脈沖,并驅動電機轉動;齒輪組將電機的速度成大倍數縮小,并將電機的輸出扭矩放大響應倍數,然后輸出;電位器和齒輪組的末級一起轉動,測量舵機軸轉動角度;電路板檢測并根據電位器判斷舵機轉動角度,然后控制舵機轉動到目標角度或保持在目標角度。模擬舵機需要一個外部控制器(遙控器的接收機或者單片機)產生脈寬調制信號來告訴舵機轉動角度,脈沖寬度是舵機控制器所需的編碼信息。舵機的控制脈沖周期20ms,脈寬從0.5ms-2.5ms,分別對應-90度到+90度的位置(對于180°舵機)。??

舵機的控制一般需要一個20ms的時基脈沖,該脈沖的高電平部分一般為0.5ms~2.5ms范圍內的角度控制脈沖部分。以180度角度舵機為例,那么對應的控制關系是這樣的:

0.5ms--------------0度; 1.0ms------------45度; 1.5ms------------90度; 2.0ms-----------135度; 2.5ms-----------180度; 如下圖所示:

需要解釋的是舵機原來主要用在飛機、汽車、船只模型上,作為方向舵的調節和控制裝置。所以,一般的轉動范圍是45°、60°或者90°,這時候脈沖寬變一般只有1ms-2ms之間(比如你做一個遙控小車,用舵機控制方向,那么舵機轉的角度肯定不是180度,對吧。因為你見過你開的車方向能轉180度嗎?)。而后舵機開始在機器人上得到大幅度的運用,轉動的角度也在根據機器人關節的需要增加到-90°至90°之間,甚至還有-135°至135°之間,脈沖寬度也隨之有了變化。對于機器人控制而言,我們一般通過單片機產生PWM信號控制舵機。

4.STM32控制舵機代碼

0.5ms---------0度 0.6ms---------9度 0.7ms---------18度 0.8ms---------27度 0.9ms---------36度 1.0ms---------45度 1.1ms---------54度 1.2ms---------63度 1.3ms---------72度 1.4ms---------81度 1.5ms---------90度 1.6ms---------99度 1.7ms---------108度 1.8ms---------117度 1.9ms---------126度 2.0ms---------135度 2.1ms---------144度 2.2ms---------153度 2.3ms---------162度 2.4ms---------171度 2.5ms---------180度 |/ ---|---/ |/ |/ |/ -------------------------------------------------------------- 20ms的時基脈沖,如果想讓舵機轉63度,就應該發生一個高電平為1.2ms, 周期為20ms的方波,duty=1.2/20=6%,而定時器自動重裝載寄存器arr的值 為1000,所以令duty=60,時占空比才為60/1000=6%. 20ms的時基脈沖,如果想讓舵機轉90度,就應該發生一個高電平為1.5ms, 周期為20ms的方波,duty=1.5/20=7.5%,而定時器自動重裝載寄存器arr的值 為1000,所以令duty=75,時占空比才為75/1000=7.5%. 20ms的時基脈沖,如果想讓舵機轉126度,就應該發生一個高電平為1.9ms, 周期為20ms的方波,duty=1.9/20=9.5%,而定時器自動重裝載寄存器arr的值 為1000,所以令duty=95,時占空比才為95/1000=9.5%. ----------------------------------------------------------------- voidSERVO_Init(void) { GPIO_InitTypeDefGPIO_InitStruct; TIM_TimeBaseInitTypeDefTIM_TimeStructure; TIM_OCInitTypeDefTIM_OCInitStructure; RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); GPIO_InitStruct.GPIO_Mode=GPIO_Mode_AF_PP;//配置為復用推挽輸出 GPIO_InitStruct.GPIO_Pin=GPIO_Pin_7; GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz; GPIO_Init(GPIOA,&GPIO_InitStruct); TIM_TimeStructure.TIM_Period=1000;//1000自動重裝載寄存器的值,周期為50000Hz/1000=50Hz,即輸出PWM波形的頻率為20ms。 TIM_TimeStructure.TIM_Prescaler=1440-1;;// 1400時鐘預分頻系數為3600,72 000000Hz/1400=50000Hz =50KHZ。 TIM_TimeStructure.TIM_ClockDivision=TIM_CKD_DIV1; TIM_TimeStructure.TIM_CounterMode=TIM_CounterMode_Up; TIM_TimeStructure.TIM_RepetitionCounter=0; TIM_TimeBaseInit(TIM3,&TIM_TimeStructure); TIM_ARRPreloadConfig(TIM3,ENABLE);//使能ARR預裝載寄存器(影子寄存器) TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM1; TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable; TIM_OCInitStructure.TIM_Pulse=0;//占空比大小 TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High; TIM_OC2Init(TIM3,&TIM_OCInitStructure); TIM_OC2PreloadConfig(TIM3,TIM_OCPreload_Enable); TIM_Cmd(TIM3,ENABLE); TIM_CtrlPWMOutputs(TIM3,ENABLE); } //舵機角度控制 voidSERVO_Angle_Control(uint16_tCompare2) { TIM_SetCompare2(TIM3,Compare2);//設置通道2為可變的pwm }

配置號上面的程序,如果你想讓舵機旋轉90度,只需要在你程序的某個位置放上這句話就可以了

SERVO_Angle_Control(75);//舵機旋轉90度

原因就是20ms的時基脈沖,如果想讓舵機轉90度,就應該發生一個高電平為1.5ms,周期為20ms的方波,duty=1.5/20=7.5% ,而定時器自動重裝載寄存器arr的值為 1000 ,所以令duty=75,時占空比才為75/1000=7.5%。以此類推,你想讓舵機轉多大的角度按照這個方法設置就行了。

責任編輯:xj

原文標題:STM32驅動舵機原理和實現

文章出處:【微信公眾號:玩轉單片機】歡迎添加關注!文章轉載請注明出處。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 機器人
    +關注

    關注

    210

    文章

    28212

    瀏覽量

    206554
  • STM32
    +關注

    關注

    2266

    文章

    10873

    瀏覽量

    354832
  • 舵機
    +關注

    關注

    17

    文章

    265

    瀏覽量

    40955

原文標題:STM32驅動舵機原理和實現

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    舵機技術深度解析,讓機器人更智能!

    的——舵機舵機,這個看似不起眼的裝置,實則蘊含著豐富的技術內涵。它不僅是機器人和無人機等智能設備的“關節”,更是實現精準操控的核心部件。
    的頭像 發表于 11-06 14:19 ?237次閱讀

    “0元購”智元靈犀X1機器人,軟硬件全套圖紙和代碼全公開!資料免費下載!

    ”軟件算法代碼+高性能關節電機,讓“人形機器人人人造”的理想真正成為現實,不管是愛好者還是科技達人,都能夠迅速搭建機器人實現基本的行走功能,還可以通過智元
    發表于 10-25 15:20

    機器人關節模組為何選擇雙編碼器設計?

    關節模組是機器人關節控制系統中的核心組件,決定了機器人的運動控制與動作精準度。在關節模組中,位置反饋和誤差校正是確保精確運動的關鍵,而雙編碼
    的頭像 發表于 09-06 11:55 ?506次閱讀
    <b class='flag-5'>機器人</b><b class='flag-5'>關節</b>模組為何選擇雙編碼器設計?

    專為人形機器人應用打造,助力具身智能行業發展,泰科機器人關節模組持續升級!

    為滿足新老客戶在定制人形機器人一體化關節時的最新需求,泰科機器人在結構設計、材料選擇和定制化開發等方面不斷推出創新方案,產品全系可覆蓋人形機器人
    的頭像 發表于 09-03 08:58 ?702次閱讀
    專為人形<b class='flag-5'>機器人</b>應用打造,助力具身智能行業發展,泰科<b class='flag-5'>機器人</b><b class='flag-5'>關節</b>模組持續升級!

    柔性機器人和剛性機器人有什么區別?

    柔性機器人和剛性機器人都是工業機器人的一種,柔性機器人和剛性機器人的主要區別在于它們的結構和使用方式:結構:柔性
    的頭像 發表于 08-16 10:17 ?453次閱讀
    柔性<b class='flag-5'>機器人</b>和剛性<b class='flag-5'>機器人</b>有什么區別?

    MT6701磁編碼IC在關節噴涂機器人領域中的應用

    ? 在工業自動化與智能制造的浪潮中,高精度、高效率的機器人系統正逐步成為產業升級的核心驅動力。特別是在復雜多變的噴涂作業環境中,關節噴涂機器人憑借其靈活的機械結構、精準的運動控制以及
    的頭像 發表于 07-26 15:54 ?375次閱讀

    Al大模型機器人

    )大模型AI機器人采用中英文雙語應用,目前的知識圖譜包括了金航標和薩科微所有的產品內容、應用場景、產品的家屬參數等,熱賣的型號S8050、TL431、SS8550、FR107、LM321、ZMM5V6
    發表于 07-05 08:52

    機器人舵機:關鍵要素解析與選擇指南

    機器人技術日新月異的今天,舵機作為機器人的核心部件之一,扮演著至關重要的角色。它的性能直接關系到機器人的運動控制、穩定性以及精度等方面。那么,在選擇和使用
    的頭像 發表于 06-06 13:57 ?938次閱讀
    <b class='flag-5'>機器人</b><b class='flag-5'>舵機</b>:關鍵要素解析與選擇指南

    泰科機器人攜新款行星滾柱絲杠線性關節模組和雙臂協作機器人亮相2024年ITES深圳工業展

    作為開年第一大展,ITES深圳工業展于3月28-31日,在深圳寶安國際會展中心成功舉辦,泰科機器人攜人形機器人關節模組新品、智能分揀搬運、雙臂協作試劑開擰瓶蓋、移液、臂展1米8的大負載協作機械臂碼垛
    的頭像 發表于 05-10 16:01 ?1081次閱讀
    泰科<b class='flag-5'>機器人</b>攜新款行星滾柱絲杠線性<b class='flag-5'>關節</b>模組和雙臂協作<b class='flag-5'>機器人</b>亮相2024年ITES深圳工業展

    常見的多關節機器人有哪些?具有什么特點?

    關節機器人是當今工業領域中最常見的工業機器人的形態之一,適合用于諸多工業領域的機械自動化作業。多關節機器
    的頭像 發表于 03-07 08:42 ?1342次閱讀
    常見的多<b class='flag-5'>關節</b><b class='flag-5'>機器人</b>有哪些?具有什么特點?

    無框電機最適合哪種應用?為什么機器人關節要用無框力矩電機?

    機器人關節要求電機體積小、扭矩大、響應快。而無框力矩電機僅由轉子和定子組成,體積小,同時具有較高的功率,低轉速情況下能夠輸出更大扭矩,更符合人形機器人的需求。
    發表于 01-02 13:41 ?3953次閱讀
    無框電機最<b class='flag-5'>適合</b>哪種應用?為什么<b class='flag-5'>機器人</b><b class='flag-5'>關節</b>要用無框力矩電機?

    【開源項目】Emo:基于樹莓派 4B DIY 能笑會動的桌面機器人

    ,我們還使用 M2 號螺母和螺栓將 MG90 舵機固定在機身前部。 我們把 PCA9685 模塊放在同一區域,這樣能有效地平衡重力。 現在我們開始組裝機器人手部。只需把 SG90
    發表于 12-26 15:18

    LabVIEW的六軸工業機器人運動控制系統

    LabVIEW開發六軸工業機器人運動控制系統 本項目開發了一個高效的工業機器人控制系統,重點關注于運動學算法和軌跡規劃算法的實現和測試。LabVIEW作為一個關鍵技術,在項目中扮演了核心角色
    發表于 12-21 20:03

    什么是舵機舵機的種類有哪些?

    舵機可以控制機翼的上下、左右轉動,從而控制飛行方向、高度等。在機器人中,舵機可以控制機器人關節運動,使
    發表于 12-12 09:47

    機器人實現開發自由,探索精密工藝的機器人關節模組

    機器人關節是作為機器人各個部件之間相互連接的節點,提供了必要的運動自由度。關節模組用其精確度和可靠性,確保了機器人在各個領域的高效率和高質量
    的頭像 發表于 12-08 15:35 ?484次閱讀