Things - 펄스 폭 변조 (PWM) 번역

What's this?



htps : //에서 ゔぇぺぺr. 안 d로이 d. 코 m/테오 gs/sdk/피오/pwm. HTML
번역

PWM



펄스 폭 변조 (PWM)은 디지털 출력 핀을 사용하여 외부 장치에 비례 제어 신호를 적용하는 방법 중 하나입니다. 예를 들어, 서보 모터는 펄스 폭 변조(PWM) 신호를 수신하여 회전 각도를 결정합니다. 또한 LCD 디스플레이는 펄스 폭 변조(PWM) 신호의 평균값에 따라 휘도를 조정합니다.

PWM은 소정의 주파수 및 듀티 사이클에서 발진하는 디지털 신호(구형파 신호)입니다.
  • 주파수 (Hz)는 출력 펄스가 반복되는 빈도를 나타냅니다.
  • 마침표는 각 사이클에 걸리는 시간이며 주파수의 역수입니다.
  • 듀티 사이클 (퍼센트)은 주파수 윈도우 내의 펄스 폭을 나타냅니다.

    예: PWM 신호의 듀티를 50%로 설정하면 각 사이클의 절반이 활성화됩니다.


    듀티 사이클을 조정하여 신호의 평균 "온"시간을 증가 또는 감소시킬 수 있습니다.
    다음 그림은 0%, 25%, 100% 듀티의 펄스열을 보여줍니다.


    주: 많은 PWM 하드는 사이클마다 적어도 한번은 값이 변경될 필요가 있기 때문에, 듀티비가 0%, 100%이어도 각 사이클의 시작에는 값의 변화가 있습니다.

    연결 관리



    PWM 포트와 연결하려면 포트 이름을 알아야 합니다. 개발할 때 PeripheralManagerService.getPwmList()를 호출하여 사용 가능한 포트 이름 목록을 얻을 수 있습니다.
    PeripheralManagerService manager = new PeripheralManagerService();
    List<String> portList = manager.getPwmList();
    if (portList.isEmpty()) {
        Log.i(TAG, "No PWM port available on this device.");
    } else {
        Log.i(TAG, "List of available ports: " + portList);
    }
    

    연결해야 할 포트 이름을 알면 PeripheralManagerService 클래스를 사용하여 연결할 수 있습니다. 포트 사용이 완료되면 연결을 닫고 리소스를 해제합니다. 또한 연결된 연결을 닫을 때까지 동일한 포트에서 새 연결을 시작할 수 없습니다. 연결을 닫으려면 close() 메서드를 사용합니다.
    public class HomeActivity extends Activity {
        // PWM Name
        private static final String PWM_NAME = ...;
    
        private Pwm mPwm;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            // Attempt to access the PWM port
            try {
                mPwm = mPeripheralManager.openPwm(PWM_NAME);
            } catch (IOException e) {
                Log.w(TAG, "Unable to access PWM", e);
            }
        }
    
        @Override
        protected void onDestroy() {
            super.onDestroy();
    
            if (mPwm != null) {
                try {
                    mPwm.close();
                    mPwm = null;
                } catch (IOException e) {
                    Log.w(TAG, "Unable to close PWM", e);
                }
            }
        }
    }
    

    펄스 폭 변조 (PWM) 설정 및 제어



    연결 후 펄스 폭 변조 (PWM)를 먼저 활성화하기 전에 타이밍 파라미터를 설정해야합니다. 펄스 폭 변조(PWM)를 활성화하려면 setEnabled(true)를 실행합니다. 만약 일시적으로 무효로 할 필요가 있는 경우는 setEnabled(false)를 실행하는 것으로 무효화할 수가 있습니다.

    다음 코드는 듀티비 25%(각 사이클에서 2.08ms가 On)로 120Hz(8.33ms주기의 사이클)의 펄스폭 변조(PWM) 신호를 발하도록 설정하고 있습니다
    public void initializePwm(Pwm pwm) throws IOException {
        pwm.setPwmFrequencyHz(120);
        pwm.setPwmDutyCycle(25);
    
        // Enable the PWM signal
        pwm.setEnabled(true);
    }
    
  • 좋은 웹페이지 즐겨찾기