<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è) > 嵌入式系統 > 設計應用 > R/C伺服電機FPGA

R/C伺服電機FPGA

作者: 時(shí)間:2023-12-22 來(lái)源:電子森林 收藏

適用于控制R / C。 

本文引用地址:http://dyxdggzs.com/article/202312/454182.htm

R / C伺服(“遙控”)由一個(gè)電機,一些電子設備和一組裝在一個(gè)小盒子中的齒輪組成。單軸從伺服器出來(lái)。您可以通過(guò)向伺服器發(fā)送脈沖來(lái)精確控制軸的旋轉角度。軸旋轉角度限制為大約270度(它不能旋轉一整圈,而只能旋轉3/4圈)。

這是一個(gè)伺服器的圖片(已被咬住,但已說(shuō)明了我們的目的)。

有用的信息鏈接包括:

  • RC伺服控制
  • RC飛機伺服系統使用指南
  • 遙控伺服器101

R / C Servos用于:

  • 在遙控模型中(汽車(chē),飛機…)。
  • 在機器人技術(shù)中。

伺服系統有3條線(xiàn):

  • 黑色:地面。
  • 紅色:電源(+ 5V)。
  • 白色:旋轉控制(使用PWM)。

白線(xiàn)上的PWM控制脈沖長(cháng)度需要在1ms到2ms之間。
1.5ms的脈沖使軸在其旋轉范圍的中間旋轉。
即使不需要更改角度位置,也需要定期發(fā)送新脈沖(每10到20ms),否則伺服將停止嘗試保持該脈沖。

讓我們以8位分辨率(256步,從0到255)控制一個(gè)伺服器。這意味著(zhù)我們需要產(chǎn)生一個(gè)1ms(0)到2ms(255)的脈沖,分辨率為1ms / 256 = 3.9μs。
分鐘
使用25MHz時(shí)鐘(周期為40ns),第一步是對時(shí)鐘進(jìn)行分頻,以產(chǎn)生周期的“滴答聲”,使其盡可能接近3.9μs。

parameter ClkDiv = 98;    // 25000000/1000/256 = 97.56 
reg [6:0] ClkCount;reg ClkTick;
always @(posedge clk) ClkTick <= (ClkCount==ClkDiv-2);
always @(posedge clk) if(ClkTick) ClkCount <= 0; 
else ClkCount <= ClkCount + 1;

使用“ ClkTick”,我們實(shí)例化一個(gè)12位計數器,該計數器在每個(gè)滴答處遞增。

reg [11:0] PulseCount;
always @(posedge clk) if(ClkTick) PulseCount <= PulseCount + 1;

每個(gè)滴答持續3.9μs,因此256個(gè)滴答持續1ms,12位計數器“ PulseCount”每16ms翻轉一次。正是我們需要定期產(chǎn)生新的脈沖。

產(chǎn)生PWM脈沖
當“ PulseCount”等于0時(shí),我們開(kāi)始每個(gè)脈沖。當“ PulseCount”
在256和511之間時(shí),我們結束每個(gè)脈沖。這將在1ms和2ms之間產(chǎn)生脈沖。

假設“ RCServo_position”是8位位置值(從0到255),我們在其前面連接一個(gè)“ 0001”以創(chuàng )建一個(gè)范圍為256 ot 511的12位值。最后,我們將這12位與“ PulseCount”進(jìn)行比較以產(chǎn)生脈沖。

reg RCServo_pulse;
always @(posedge clk) RCServo_pulse = (PulseCount < {4'b0001, RCServo_position});


關(guān)鍵詞: FPGA 伺服電機

評論


相關(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>