数字舵机如何控制速度?-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 642|回复: 2

[未解决] 数字舵机如何控制速度?

[复制链接]
发表于 2022-5-6 23:20 | 显示全部楼层 |阅读模式
数字舵机如何控制速度?


void setServoPulse(uint8_t n, double pulse) {
   double pulselength;
   pulselength = 1000000;   // 1,000,000 us per second
   pulselength /= 60;   // 50 Hz
   Serial.print(pulselength); Serial.println(" us per period");
   pulselength /= 4096;  // 12 bits of resolution
   Serial.print(pulselength); Serial.println(" us per bit");
   pulse *= 1000;
   pulse /= pulselength;
   Serial.println(pulse);
   pwm.setPWM(n, 0, pulse);  //控制舵机旋转角度
}

发表于 2022-5-7 00:18 | 显示全部楼层
速度? 標準速度是硬體定好的

你能做的只有降速,將角度分幾段來轉、中間加上些延遲
 楼主| 发表于 2022-5-7 07:40 | 显示全部楼层

//设置舵机角度
void servo_9g_write(uint8_t n,int Angle)
{
   double pulse = Angle;
   pulse = pulse/90 + 0.5;
   setServoPulse(n,pulse);//0到180度映射为0.5到2.5ms
}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 07:43 , Processed in 0.172920 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表