差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
r_c伺服电机 [2020/07/09 10:24]
zili
r_c伺服电机 [2022/04/26 13:14] (当前版本)
gongyusu
行 1: 行 1:
 ###​R/​C伺服电机 ###​R/​C伺服电机
 +
 +[[RC_servos|R/​C伺服电机]]
 +
 [[https://​www.fpga4fun.com/​RCServos.html|R/​C Servos]]\\ [[https://​www.fpga4fun.com/​RCServos.html|R/​C Servos]]\\
 \\ \\
行 14: 行 17:
  
 有用的信息链接包括: 有用的信息链接包括:
-  * RC伺服控制 +  * [[http://​www.epanorama.net/​documents/​motor/​rcservos.html|RC伺服控制]] 
-  * RC飞机伺服系统使用指南 +  * [[http://​www-cdr.stanford.edu/​dynamic/​servo/​|RC飞机伺服系统使用指南]] 
-  * 遥控伺服器101+  * [[http://​www.cs.wisc.edu/​~bolo/​shipyard/​servos101.html|遥控伺服器101]]
 \\ \\
 R / C Servos用于: R / C Servos用于:
行 23: 行 26:
 \\ \\
  
-\\ 
 ####​电气连接和PWM脉冲 ####​电气连接和PWM脉冲
 伺服系统有3条线: 伺服系统有3条线:
行 35: 行 37:
 即使不需要更改角度位置,也需要定期发送新脉冲(每10到20ms),否则伺服将停止尝试保持该脉冲。\\ 即使不需要更改角度位置,也需要定期发送新脉冲(每10到20ms),否则伺服将停止尝试保持该脉冲。\\
 \\ \\
-\\ 
-####​来自FPGA的PWM脉冲 
-让我们以8位分辨率(256步,从0到255)控制一个伺服器。这意味着我们需要产生一个1ms(0)到2ms(255)的脉冲,分辨率为1ms / 256 = 3.9µs。 
  
 +####​来自FPGA的PWM脉冲
 +让我们以8位分辨率(256步,从0到255)控制一个伺服器。这意味着我们需要产生一个1ms(0)到2ms(255)的脉冲,分辨率为1ms / 256 = 3.9µs。\\
 +\\
 +**分钟**
 \\ \\
-#####分钟 
 使用25MHz时钟(周期为40ns),第一步是对时钟进行分频,以产生周期的“滴答声”,使其尽可能接近3.9µs。\\ 使用25MHz时钟(周期为40ns),第一步是对时钟进行分频,以产生周期的“滴答声”,使其尽可能接近3.9µs。\\
  
行 61: 行 63:
 每个滴答持续3.9µs,因此256个滴答持续1ms,12位计数器“ PulseCount”每16ms翻转一次。正是我们需要定期产生新的脉冲。\\ 每个滴答持续3.9µs,因此256个滴答持续1ms,12位计数器“ PulseCount”每16ms翻转一次。正是我们需要定期产生新的脉冲。\\
 \\ \\
-#####产生PWM脉冲+**产生PWM脉冲** 
 +\\
 当“ PulseCount”等于0时,我们开始每个脉冲。当“ PulseCount”\\ 当“ PulseCount”等于0时,我们开始每个脉冲。当“ PulseCount”\\
 在256和511之间时,我们结束每个脉冲。这将在1ms和2ms之间产生脉冲。\\ 在256和511之间时,我们结束每个脉冲。这将在1ms和2ms之间产生脉冲。\\
行 72: 行 75:
 </​code>​ </​code>​
  
-那就是所有人!完整的代码可以在这里找到。\\+那就是所有人!完整的代码可以在[[https://​www.fpga4fun.com/​files/​RCServo.zip|这里]]找到。\\
 如您所见,控制R / C伺服器所需的硬件很少,因此FPGA可以同时控制多个。\\ 如您所见,控制R / C伺服器所需的硬件很少,因此FPGA可以同时控制多个。\\
 \\ \\