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
NuGet 团队不提供对此客户端的支持。请联系其 维护者 以获取支持。
#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
NuGet 团队不提供对此客户端的支持。请联系其 维护者 以获取支持。
伺服电机
这是一个通用的绑定,用于通过硬件或软件 PwmChannel
控制许多伺服电机。伺服电机通常基于 50Hz 的信号频率。它们还要求一个最小/最大脉冲宽度,以确定位置。脉冲宽度通常在 1 到 2 毫秒之间,其中 1ms 大约是 0 度,1.5ms 是中间位置,2ms 是 180 度。这些信息可以在每个伺服电机的数据表中找到。
需要注意的一点是接线,因为伺服电机连接器通常是 3 引脚连接器。下面的图示显示了引脚分配,颜色可能会有所不同。
引脚编号 | 信号 | 颜色 |
---|---|---|
1 | 地 | 黑色或棕色 |
2 | 电源 | 棕色或红色 |
3 | 控制信号 | 橙色、白色或黄色 |
文档
市面上有各种尺寸的伺服电机,既提供标准旋转,也提供连续旋转。以下是一些购买伺服电机的链接。
板
使用方法
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 兼容。 |
-
- nanoFramework.CoreLibrary (>= 1.15.5)
- nanoFramework.System.Device.Pwm (>= 1.1.10)
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 |