ESC raspberry pi 上的 PWM 频率和占空比
PWM frequency and duty cycle on raspberry pi for ESC
我正在使用 Raspberry Pi 3 尝试通过 QBrain ESC 控制无刷直流电机。
为此,我使用 RPI 闪电驱动器创建 PWM DMA 信号。不幸的是,我做任何事情都不会让电机转动。
谁能告诉我应该使用什么频率和占空比输出到 ESC?谷歌搜索建议 PWM 频率为 50Hz,占空比在 0.05% 到 0.1% 之间(给出 1ms 到 2ms 之间的脉冲),但这似乎对我不起作用。
此处为示例代码(C# windows IoT):
var controllers = await PwmController.GetControllersAsync(LightningPwmProvider.GetPwmProvider());
var pwmController = controllers[1];
pwmController.SetDesiredFrequency(50);
int pin = 12;
var motor = pwmController.OpenPin(pin);
motor.Start();
do
{
double userInputThrust = ...value between 0 and 100 provided by user...
// scale user input from 0 to 100 to between 0.05 and 0.1
double thrust = ScaleBetween(userInputThrust, 0.05, 0.1);
motor.SetActiveDutyCyclePercentage(thrust);
} while (true);
可以在校准期间调整 QBrain 的预期占空比。 20 毫秒 window 是标准,但高值和低值有一些差异。理想情况下,您应该校准低 1 毫秒和高 2 毫秒。
QBrain ESC 使用 Atmel 微控制器和 SimonK 固件。因此,您应该遵循也可以在网上找到的 SimonK 校准程序。程序如下:
- 向电调发送一个2ms周期为20ms的高电平脉冲;然后,开机。
- 等待发出哔哔声。
- 发送 1ms 高脉冲和 20ms window 到 ESC。
- 等待发出哔哔声。
- 关闭电调
切勿开启电调全油门,否则电调会重新进入校准模式。建议以低油门启动。
校准后,您应该注意到 ESC 将开始以 1070us 的高脉冲启动电机,持续 20ms。 (即1000us和1070us之间有死区)
如果您不确定输出引脚产生的周期是多少,那么您应该使用示波器对其进行范围测量并进行测量。 ESC 只能做它被告知的事情。
我正在使用 Raspberry Pi 3 尝试通过 QBrain ESC 控制无刷直流电机。
为此,我使用 RPI 闪电驱动器创建 PWM DMA 信号。不幸的是,我做任何事情都不会让电机转动。
谁能告诉我应该使用什么频率和占空比输出到 ESC?谷歌搜索建议 PWM 频率为 50Hz,占空比在 0.05% 到 0.1% 之间(给出 1ms 到 2ms 之间的脉冲),但这似乎对我不起作用。
此处为示例代码(C# windows IoT):
var controllers = await PwmController.GetControllersAsync(LightningPwmProvider.GetPwmProvider());
var pwmController = controllers[1];
pwmController.SetDesiredFrequency(50);
int pin = 12;
var motor = pwmController.OpenPin(pin);
motor.Start();
do
{
double userInputThrust = ...value between 0 and 100 provided by user...
// scale user input from 0 to 100 to between 0.05 and 0.1
double thrust = ScaleBetween(userInputThrust, 0.05, 0.1);
motor.SetActiveDutyCyclePercentage(thrust);
} while (true);
可以在校准期间调整 QBrain 的预期占空比。 20 毫秒 window 是标准,但高值和低值有一些差异。理想情况下,您应该校准低 1 毫秒和高 2 毫秒。
QBrain ESC 使用 Atmel 微控制器和 SimonK 固件。因此,您应该遵循也可以在网上找到的 SimonK 校准程序。程序如下:
- 向电调发送一个2ms周期为20ms的高电平脉冲;然后,开机。
- 等待发出哔哔声。
- 发送 1ms 高脉冲和 20ms window 到 ESC。
- 等待发出哔哔声。
- 关闭电调
切勿开启电调全油门,否则电调会重新进入校准模式。建议以低油门启动。
校准后,您应该注意到 ESC 将开始以 1070us 的高脉冲启动电机,持续 20ms。 (即1000us和1070us之间有死区)
如果您不确定输出引脚产生的周期是多少,那么您应该使用示波器对其进行范围测量并进行测量。 ESC 只能做它被告知的事情。