nanoFramework.Iot.Device.ServoMotor 1.2.570

前缀已保留
dotnet add package nanoFramework.Iot.Device.ServoMotor --version 1.2.570                
NuGet\Install-Package nanoFramework.Iot.Device.ServoMotor -Version 1.2.570                
此命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用 NuGet 模块的 Install-Package 版本。
<PackageReference Include="nanoFramework.Iot.Device.ServoMotor" Version="1.2.570" />                
对于支持 PackageReference 的项目,将此 XML 节点复制到项目文件中以引用该包。
paket add nanoFramework.Iot.Device.ServoMotor --version 1.2.570                
#r "nuget: nanoFramework.Iot.Device.ServoMotor, 1.2.570"                
#r 指令可以用于 F# Interactive 和多语言笔记本。将其复制到交互工具或脚本源代码中以引用该包。
// Install nanoFramework.Iot.Device.ServoMotor as a Cake Addin
#addin nuget:?package=nanoFramework.Iot.Device.ServoMotor&version=1.2.570

// Install nanoFramework.Iot.Device.ServoMotor as a Cake Tool
#tool nuget:?package=nanoFramework.Iot.Device.ServoMotor&version=1.2.570                

伺服电机

这是一个通用的绑定,用于通过硬件或软件 PwmChannel 控制许多伺服电机。伺服电机通常基于 50Hz 的信号频率。它们还要求一个最小/最大脉冲宽度,以确定位置。脉冲宽度通常在 1 到 2 毫秒之间,其中 1ms 大约是 0 度,1.5ms 是中间位置,2ms 是 180 度。这些信息可以在每个伺服电机的数据表中找到。

需要注意的一点是接线,因为伺服电机连接器通常是 3 引脚连接器。下面的图示显示了引脚分配,颜色可能会有所不同。

引脚编号 信号 颜色
1 黑色或棕色
2 电源 棕色或红色
3 控制信号 橙色、白色或黄色

文档

市面上有各种尺寸的伺服电机,既提供标准旋转,也提供连续旋转。以下是一些购买伺服电机的链接。

image

使用方法

ServoMotor 绑定提供了一种轻松控制伺服电机的入门方式。最快的方法是为 ServoMotor 对象提供一个 PwmChannel,并使用其他可选参数的默认值。

// Example of hardware PWM using chip 0 and channel 0 on a dev board.
ServoMotor servoMotor = new ServoMotor(PwmChannel.Create(0, 0, 50));
servoMotor.Start();  // Enable control signal.

// Move position.  Pulse width argument is in microseconds.
servoMotor.WritePulseWidth(1000); // 1ms; Approximately 0 degrees.
servoMotor.WritePulseWidth(1500); // 1.5ms; Approximately 90 degrees.
servoMotor.WritePulseWidth(2000); // 2ms; Approximately 180 degrees.

servoMotor.Stop(); // Disable control signal.

伺服电机的位置也可以通过角度进行调整。必须根据设备的规格设置 ServoMotor 构造函数的可选参数。注意:这些通常只是近似值,因此您可能需要手动调整以确定精确值。

例如,以下Hitec HS-300BB 伺服电机的规格如下:

  • 最大角度 = 180
  • 最小脉冲宽度微秒 = 900
  • 最大脉冲宽度微秒 = 2100
  • 频率 50Hz;周期 20000uS

// When using an ESP32, you have to setup the pin function then create the PWM channel
Configuration.SetPinFunction(21, DeviceFunction.PWM1);

using PwmChannel pwmChannel = PwmChannel.CreateFromPin(21, 50);
ServoMotor servoMotor = new ServoMotor(
    PwmChannel,
    180,
    900,
    2100);

servoMotor.Start();  // Enable control signal.

// Move position.
servoMotor.WriteAngle(0); // ~0.9ms; Approximately 0 degrees.
servoMotor.WritePulseWidth(90); // ~1.5ms; Approximately 90 degrees.
servoMotor.WritePulseWidth(180); // ~2.1ms; Approximately 180 degrees.

servoMotor.Stop(); // Disable control signal.

校准

校准或查找最小和最大脉冲宽度和角度范围应该使用 WritePulseWidth 方法。要使编写允许校准方法的应用程序更简单,可以使用 Calibrate 来更改校准参数。

产品 兼容和额外的计算目标框架版本。
.NET 框架 net 兼容。
兼容目标框架
包含的目标框架(在包中)
了解更多关于 目标框架.NET Standard 的信息。

NuGet 包 (1)

显示依赖 nanoFramework.Iot.Device.ServoMotor 的顶级 1 个 NuGet 包

下载
nanoFramework.MagicBit

此包包含 nanoFramework.MagicBit,它是 .NET nanoFramework C# 项目的 MagicBit 板包库。

GitHub 仓库

此包未用于任何流行的 GitHub 仓库。

版本 下载 最后更新
1.2.570 337 6/14/2024
1.2.436 726 11/10/2023
1.2.329 1,082 5/26/2023
1.2.313 347 5/12/2023
1.2.297 299 5/3/2023
1.2.203 1,953 12/28/2022
1.2.158 1,060 11/13/2022
1.2.141 1,914 10/25/2022
1.2.82 3,525 9/14/2022
1.1.113.2032 7,205 6/23/2022
1.1.58.10097 1,723 5/23/2022
1.1.1 574 4/14/2022
1.0.288-preview.113 129 3/25/2022
1.0.288-preview.20 258 1/27/2022
1.0.272 543 1/10/2022
1.0.263 344 12/24/2021
1.0.259 168 12/9/2021
1.0.218 225 10/18/2021
1.0.207 187 10/11/2021
1.0.191 166 9/29/2021
1.0.185 158 9/22/2021
1.0.181 172 9/22/2021