我使用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);
答案 0 :(得分:0)
校准期间可以调整QBrain预期的占空比。 20ms窗口是常态,但高值和低值有一些差异。理想情况下,您应该校准1ms低和2ms高。
QBrain ESC使用Atmel微控制器和SimonK固件。因此,您应该遵循SimonK的校准程序,也可以在线找到。程序如下:
确保您不要在全油门时打开ESC,否则ESC将重新进入校准模式。建议在低油门时接通电源。
校准后,您应该注意到ESC将开始以1070us高脉冲开启电机20ms。 (即在1000us和1070us之间有一个死区)
如果您不确定输出引脚产生的周期,则应使用示波器对其进行测量并进行测量。 ESC只能做它所说的。