2016-08-17 8 views
1

QBrain ESC를 통해 브러시리스 DC 모터를 시도하고 제어하기 위해 Raspberry Pi 3을 사용하고 있습니다.ESC 용 라즈베리 파이의 PWM 주파수 및 듀티 사이클

이렇게하려면 RPI 번개 드라이버를 사용하여 PWM DMA 신호를 만듭니다. 불행히도 내가하는 일은 모터를 돌리는 것입니다.

ESC에 출력 할 주파수와 듀티 사이클을 알려줄 수 있습니까? 인터넷 검색은 듀티 사이클이 0.05 %에서 0.1 % 사이 인 50Hz의 PWM 주파수를 제안합니다 (1ms에서 2ms 사이의 펄스를 제공함). 그러나 이것은 저에게 효과적이지 않습니다. 여기

예 코드 (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

이것은 추측 일뿐입니다. 그러나 나는 1000ms와 2000ms_ 사이가 아닌 1ms와 2ms_를 의미한다고 가정합니다. 그렇다면 코드는'ScaleBetween (userInputThrust, 0.05, 0.1);'를 읽어야하는데,'ScaleBetween'은 그것이하는 일을한다고 가정합니다. 이런 종류의 것을 디버깅하려면, 핀 12에 스코프를 연결하고 어떤 종류의 신호가 출력되는지 보면서 많은 두통을 피할 수 있습니다. 시행 착오 만이 지금까지만 가능합니다. –

+0

정확합니다. 1ms ~ 2ms입니다. 오타가 있습니다. 범위를 설정하고 싶지만 불행하게도 설정하지 마십시오. – Slicc

답변

0

QBrain 예상 듀티 사이클 보정 동안에 조정될 수있다. 20ms 창은 표준이지만 높고 낮은 값은 약간의 차이가 있습니다. 이상적으로는 1ms의 낮은 시간과 2ms의 높은 시간 동안 교정해야합니다.

QBrain ESC는 Atmel 마이크로 컨트롤러와 SimonK 펌웨어를 사용합니다. 따라서 온라인에서도 찾을 수있는 SimonK의 교정 절차를 따라야합니다. 절차는 다음과 같습니다 :

  1. ESC에 20ms 주기로 2ms의 높은 펄스를 보냅니다. 그런 다음 전원을 켭니다.
  2. 경고음 발생 시퀀스가 ​​발생할 때까지 기다립니다.
  3. ESC에 20ms 간격으로 1ms의 높은 펄스를 보냅니다.
  4. 경고음 발생 시퀀스가 ​​발생할 때까지 기다립니다.
  5. ESC의 전원을 끕니다.

풀 스로틀에서 ESC의 전원을 켜지 말아야합니다. 그렇지 않으면 ESC가 교정 모드로 다시 돌아갑니다. 낮은 스로틀에서 전원을 공급하는 것이 좋습니다.

교정 후 ESC는 20ms 동안 1070us의 높은 펄스로 모터를 돌리기 시작합니다. (즉, 1000us에서 1070us 사이의 데드 존이 있음)

출력 핀이 생성되는 기간이 확실하지 않은 경우 오실로스코프로 스코프를 측정하고 측정해야합니다. ESC는 말한대로 할 수 있습니다.

+0

정보 주셔서 감사합니다. 이것은 크게 기대했던 것이지만 작동하지 않는 것 같습니다. 어딘가에서 범위를 찾을 수 있는지 보겠습니다. – Slicc

관련 문제