Я использую малину Pi 3, чтобы попытаться управлять бесщеточным двигателем постоянного тока через ESC QBrain.Частота PWM и рабочий цикл на малине pi для ESC
Для этого я использую драйверы молнии RPI для создания сигналов PWM DMA. К сожалению, ничего, что я делаю, не заставит моторов вращаться.
Может кто-нибудь сообщить, какую частоту и рабочий цикл я должен использовать для вывода на ESC? Googling предложит частоту PWM 50 Гц с рабочим циклом между 0,05% и 0,1% (чтобы дать импульс между 1 мс и 2 мс), но это, похоже, не работает для меня.
пример кода здесь (C# окна 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);
Пожалуйста, разместите соответствующий код в своем вопросе. Трудно сказать, что в противном случае. – Munir
Это просто догадки, но я предполагаю, что вы имеете в виду _metween 1ms и 2ms_, а не _m между 1000ms и 2000ms_. Если это так, то ваш код должен читать 'ScaleBetween (userInputThrust, 0.05, 0.1);', предполагая, что 'ScaleBetween' делает то, что он говорит. Чтобы отлаживать подобные вещи, вы, вероятно, сбережете себе много головной боли, подключив область к выводу 12 и увидев, какой сигнал он выводит. Испытание и ошибка только добираются до вас. –
Вы правы, от 1 мс до 2 мс, там есть опечатка. Я бы очень хотел, чтобы у вас была настройка, но, к сожалению, у вас ее нет. – Slicc