我正在使用Raspberry Pi 3尝试通过QBrain ESC控制无刷直流电机。
为此,我使用RPI闪电驱动器来创建PWM DMA信号。不幸的是,我没有做任何事情都会使电动机转动。
有人可以告诉我应该使用什么频率和占空比输出到ESC吗?谷歌搜索建议使用50Hz的PWM频率,占空比在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的预期占空比可以在校准期间进行调整。20ms窗口是常态,但是高值和低值会有一些差异。理想情况下,您应校准1ms低和2ms高。
QBrain ESC使用Atmel微控制器和SimonK固件。因此,您应该遵循SimonK的校准程序,该程序也可以在网上找到。步骤如下:
确保切勿在满油门的情况下打开电调,否则电调会重新进入校准模式。建议在低油门下开机。
校准后,您应注意,ESC将以1070us的高脉冲开始以20ms的周期转动电动机。(即在1000us和1070us之间有一个死区)
如果不确定输出引脚产生什么周期,则应使用示波器确定其范围并进行测量。ESC只能执行所告知的操作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句