stm32f4 pwm 예제

PWM을 사용하려면 전에 타이머를 초기화해야 합니다. STM32F429 디스커버리 보드는 PWM 핀에 LED가 없기 때문에 이 예제에서는 STM32F4 디스커버리를 168MHz 코어 클럭과 함께 사용합니다. LED는 PD15에 핀 PD12에 연결되어, 우리에게 출력 채널 1 ~ 4 타이머 TIM4을 제공합니다. 위의 그림은 PWM 신호를 보여줍니다. 도 면 b)는 MCU 디지털 신호를 나타낸다. 도 면 a) 디지털 출력이 모터와 같은 전원 장치에 연결될 때 대응하는 아날로그 신호를 나타낸다. 예를 들어, 50% 듀티 사이클에서 PWM 출력이 있는 펄스, 10Hz의 주파수 및 3.3V의 높은 레벨은 1.65V 출력 아날로그 신호 결과를 가질 수 있습니다. PWM에는 두 가지 중요한 파라미터가 있으며, 하나는 출력 주파수이고 다른 하나는 듀티 사이클입니다. 듀티 사이클은 출력 아날로그 신호의 전압을 변경하는 데 사용됩니다. 주파수가 높을수록 아날로그 결과가 더 좋아집니다. 그리고 더 큰 듀티 사이클은 더 높은 아날로그 전압을 갖는다. 태그: 168MHzgpiokeilmicrocontrollerswmSTM32F42f429디스커버리m32f42f42f429디스커버리스m32f4f42ftim10tim11tim12tim12tim12tim12tim3tim4tim6tim7tim7tim8tim8tim9tim9tim9timsuvision 첫 번째 예는 우리가 사용하는 첫 번째 예에 대한 우리는 NUCLE00을 사용 큐브-MX와 환전. 예를 들어 HCLK가 48MHz로 설정되어 있는 STM32F030 MCU에서 APB1 버스에 연결된 타이머를 가정하고, 프리스케일러 값은 47999와 같은 프리스케일러 값, 499와 같은 기간 값을 가정합니다.

타이머가 모든 경우 오버플로됩니다: 타임베이스를 정렬하면 PWM 구성에 집중할 수 있습니다. 이것은 표준 주변 장치 라이브러리를 사용할 때 정말 쉽게 밝혀졌습니다. 또한 칩 설계자는 타이머의 많은 레지스터에 대한 기본 값이 기본 작업 구성을 생성하는지 확인했습니다. 내가 정말로해야 할 일은 PWM 모드 1 (간단한 것)을 사용하고 출력 상태를 OCx 핀에 연결하려는 라이브러리 함수를 말하는 것입니다. 내 예에서, 나는 채널 중 하나를 구성했습니다, 블루 LED에 대한 하나, 낮은 극성 및 높은 극성으로 다른 사람. 코드를 실행하면 듀티 사이클에 대해 동일한 값을 가진 코드가 반대밝기를 가지는 것을 볼 수 있습니다. 이는 특히 STM32F4-Discovery의 경우 STM32F407에 대한 간단한 타이머 예제입니다. PWM 채널을 LED로 설정하고 타이머와 함께 LED의 가벼움을 변경합니다. Makefile을 편집하여 STM32F4 DSP 및 표준 주변 장치 라이브러리의 경로로 “STM_DIR”을 수정합니다. 시스템 클럭을 216MHz로 설정합니다. 우리가 마지막 장에서 알려진 바와 같이, 타이머는 APB1에 마운트하고, 클럭 주파수는 108MHz입니다. 따라서 주파수 분할은 1080으로 설정되고 분할된 클럭 주파수는 100000Hz입니다.

PWM 기간이 20ms인 경우 카운터를 2000-1로 설정해야 합니다. 그리고 다른 매개 변수는 기본 설정에 있습니다. PARAMETERPulse는 TIMx_CCRx 레지스터에서 펄스 폭을 설정하는 데 사용할 수 있습니다. 이 매개변수를 수정하면 듀티 사이클 설정을 변경할 수 있습니다. parameterPulse의 값을 설정하여 펄스 폭 설정을 수정할 수 있습니다.

2nd August 2019 Uncategorized