<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于STC89C52單片機的體操機器人系統設計

基于STC89C52單片機的體操機器人系統設計

作者: 時(shí)間:2012-12-12 來(lái)源:網(wǎng)絡(luò ) 收藏

3 體操機器人的機械結構設計
體操機器人的機械結構設計主要考慮機器人完成各種體操動(dòng)作的可行性,例如:完成雙手俯臥撐、單手俯臥撐、側滾翻、前滾翻等動(dòng)作。由于本機器人不做行走動(dòng)作,因此在腿部的設計中沒(méi)有增加更多自由度。在本體操機器人的結構設計中采用Siemens公司的UG結構模型設計軟件,設計了機器人的全部結構零件。如圖3所示:

基于STC89C52單片機的體操機器人系統設計

仿人型機器人制作完畢后的實(shí)物圖如圖4所示:

基于STC89C52單片機的體操機器人系統設計

4 仿人型機器人的控制程序設計
4.1 脈寬差控制算法
多路舵機控制的基本方法是順序輸出各路脈沖給不同舵機,利用高速的處理速度來(lái)實(shí)現多路控制。但是這一類(lèi)控制算法對于控制舵機的數目有限制,因為控制舵機所需的PWM波的典型周期是20ms,而每一路舵機所需的最大正脈寬長(cháng)度為2.5ms,因此最多只能控制8路舵機。本系統中需要控制的舵機有10個(gè),所以選擇了改進(jìn)的控制算法——脈寬差法。
脈寬差法控制分為以下幾個(gè)步驟:
(1) 分組排序。將多路舵機控制數據每8路分為一組,對于每一組數據(控制脈沖長(cháng)短),按照從小到大的順序排序。
(2) 計算差值。計算舵機控制數據的差值并保存計算每組內相鄰的兩個(gè)數據的差值(數值大的數與數值小的數的差)并保存于差值數組中。該差值數組共有8 個(gè)存儲單元,第一個(gè)單元存放的是該組舵機控制數據的最小值,從第二個(gè)單元開(kāi)始存放舵機控制數據的差值。
(3) 數據轉換。把差值數組中的數據轉換為定時(shí)時(shí)間(即控制脈沖寬度差值),再繼續轉換為定時(shí)初值并保存于脈寬差數組中。
(4) 舵機控制??刂颇骋唤M舵機時(shí),先向該組內所有舵機置高電平(啟動(dòng)舵機),然后把脈寬差數組中的第一個(gè)數據賦值給定時(shí)寄存器。定時(shí)中斷發(fā)生時(shí),先關(guān)斷脈寬差數組中第一個(gè)數據所對應的舵機,再向定時(shí)寄存器中填入脈寬差數組中的第二個(gè)數據。依此類(lèi)推,就可以完成該組所有舵機的控制。在一個(gè)控制周期(20ms)內,依次用定時(shí)器定時(shí)輸出脈沖控制每組舵機。在第三組舵機控制畢后,繼續定時(shí)用低電平補足其余時(shí)間以完成20ms。脈寬差法原理如圖5所示。

基于STC89C52單片機的體操機器人系統設計

4.2 脈寬差法的程序實(shí)現
這里介紹的實(shí)現方法是基于的C語(yǔ)言編寫(xiě)的。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>