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);
질문에 관련 코드를 게시하십시오. 그렇지 않으면 무엇이 잘못되었는지를 말하기 어렵습니다. – Munir
이것은 추측 일뿐입니다. 그러나 나는 1000ms와 2000ms_ 사이가 아닌 1ms와 2ms_를 의미한다고 가정합니다. 그렇다면 코드는'ScaleBetween (userInputThrust, 0.05, 0.1);'를 읽어야하는데,'ScaleBetween'은 그것이하는 일을한다고 가정합니다. 이런 종류의 것을 디버깅하려면, 핀 12에 스코프를 연결하고 어떤 종류의 신호가 출력되는지 보면서 많은 두통을 피할 수 있습니다. 시행 착오 만이 지금까지만 가능합니다. –
정확합니다. 1ms ~ 2ms입니다. 오타가 있습니다. 범위를 설정하고 싶지만 불행하게도 설정하지 마십시오. – Slicc