티스토리 뷰

STM32Fxx

STM32F429- TIM PWM 제어 (CUBE MX)

라이다 2018. 9. 10. 23:12
반응형

4. TIM(timer) PWM(Pulse Width Modulation)

           -이번장은 timer를 이용하여 펄스 폭 변조를 배운다.

           -PWM파형은 모터속도제어, LED 밝기 제어 등에 사용 된다.

           -아래 예제는 1초 주기의 PWM 파형 duty rate 30% 의 예제이다.


CUBE MX 설정

TIM10 PWM CH1을 설정하면 PF6핀이 설정된다 이 핀을 통해 PWM 파형이 나온다.



현재 Clock Configuration 상태는 위와 같을 것이다 기본 셋팅으로 예제를 돌릴 것이므로 빨간부분(APB2 timer clocks)가 위와 같다면 건드릴 필요 없다.



TIM10PWM 모드를 선택했더니 위와 같이 PWM Generation Channel 1이라는 설정이 생겼다

Mode: PWM mode 1,2가 있다 간단히 300 카운터까지의 출력을 High, Low 설정이다 (RM0090 데이터시트의 OC1M 레지스터 참고)

 

Pulse(16 bits value): 위의 Counter Period가 전체 주기라면 Pulse값은 그 주기의 비율을 설정한다고 보면 된다 현재 300이므로 듀티비 300/1000 * 100 = 30%의 듀티비가 생성 된다

 

Fast Mode: PF6의 논리값 변화 속도에 대한 설정이다 현재는 느려도 상관이 없으니 Disable 설정을 한다(더욱 자세한 설명은 RM0090 OC1FE레지스터를 참고)

 

CH Polarity: TIMx_CCERCC1P레지스터 참고

 

Sorce Code

/* USER CODE BEGIN 2 */

  HAL_TIM_PWM_Start(&htim10,TIM_CHANNEL_1);

/* USER CODE END 2 */

실행 결과



반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함