2016-08-17 12 views
1

Я использую малину 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); 
+0

Пожалуйста, разместите соответствующий код в своем вопросе. Трудно сказать, что в противном случае. – Munir

+0

Это просто догадки, но я предполагаю, что вы имеете в виду _metween 1ms и 2ms_, а не _m между 1000ms и 2000ms_. Если это так, то ваш код должен читать 'ScaleBetween (userInputThrust, 0.05, 0.1);', предполагая, что 'ScaleBetween' делает то, что он говорит. Чтобы отлаживать подобные вещи, вы, вероятно, сбережете себе много головной боли, подключив область к выводу 12 и увидев, какой сигнал он выводит. Испытание и ошибка только добираются до вас. –

+0

Вы правы, от 1 мс до 2 мс, там есть опечатка. Я бы очень хотел, чтобы у вас была настройка, но, к сожалению, у вас ее нет. – Slicc

ответ

0

Скважность ожидается на QBrain можно регулировать во время калибровки. Окно 20 мс является нормой, но высокие и низкие значения имеют некоторую дисперсию. В идеале вы должны откалибровать за 1 мс минимум и максимум 2 мс.

QBrain ESC использует микроконтроллер Atmel и прошивку SimonK. Поэтому вы должны следовать процедуре калибровки для SimonK, которую также можно найти в Интернете. Процедура заключается в следующем:

  1. Отправьте импульс длительностью 2 мс с периодом 20 мс на ESC; Затем включите его.
  2. Ждите, когда будет звуковой сигнал.
  3. Отправьте импульс длительностью 1 мс с окном 20 мс в ESC.
  4. Ждите, когда будет звуковой сигнал.
  5. Отключите ESC.

Убедитесь, что вы никогда не включаете ESC на полном газу, или ESC перейдет в режим калибровки. Рекомендуется включить питание с низким уровнем дроссельной заслонки.

После калибровки вы должны заметить, что ESC начнет поворачивать двигатель с импульсом 1070us в течение 20 мс. (т. е. существует мертвая зона между 1000us и 1070us)

Если вы не уверены в том, в какой период выдается выходной штырь, вы должны сфокусировать его на осциллографе и измерить его. ESC может делать только то, что сказано.

+0

Спасибо за информацию, это во многом то, что я ожидал, но это, похоже, не работает. Я посмотрю, смогу ли я найти область где-то. – Slicc

 Смежные вопросы

  • Нет связанных вопросов^_^