stm32f103 pwm 예제

이 첫 번째 예제에서는 NUCLEO-F030R8, CUBE-MX 및 환전을 사용합니다. 예를 들어 HCLK가 48MHz로 설정되어 있는 STM32F030 MCU에서 APB1 버스에 연결된 타이머를 가정하고, 프리스케일러 값은 47999와 같은 프리스케일러 값, 499와 같은 기간 값을 가정합니다. 우리는 타이머가 모든 오버플로됩니다 : 예는 Keil 평가 보드 MCBSTM32와 함께 tesed됩니다. 타임베이스를 정리하면 PWM 구성에 집중할 수 있습니다. 이것은 표준 주변 장치 라이브러리를 사용할 때 정말 쉽게 밝혀졌습니다. 또한 칩 설계자는 타이머의 많은 레지스터에 대한 기본 값이 기본 작업 구성을 생성하는지 확인했습니다. 내가 정말로해야 할 일은 PWM 모드 1 (간단한 것)을 사용하고 출력 상태를 OCx 핀에 연결하려는 라이브러리 함수를 말하는 것입니다. 내 예에서, 나는 채널 중 하나를 구성했습니다, 블루 LED에 대한 하나, 낮은 극성 및 높은 극성으로 다른 사람. 코드를 실행하면 듀티 사이클에 대해 동일한 값을 가진 코드가 반대밝기를 가지는 것을 볼 수 있습니다. 위의 그림은 PWM 신호를 보여줍니다. 도 면 b)는 MCU 디지털 신호를 나타낸다. 도 면 a) 디지털 출력이 모터와 같은 전원 장치에 연결될 때 대응하는 아날로그 신호를 나타낸다.

예를 들어, 50% 듀티 사이클에서 PWM 출력이 있는 펄스, 10Hz의 주파수 및 3.3V의 높은 레벨은 1.65V 출력 아날로그 신호 결과를 가질 수 있습니다. PWM에는 두 가지 중요한 파라미터가 있으며, 하나는 출력 주파수이고 다른 하나는 듀티 사이클입니다. 듀티 사이클은 출력 아날로그 신호의 전압을 변경하는 데 사용됩니다. 주파수가 높을수록 아날로그 결과가 더 좋아집니다. 그리고 더 큰 듀티 사이클은 더 높은 아날로그 전압을 갖는다. 다음은 다른 마이크로 컨트롤러와 몇 가지 PWM 예제입니다: STM32 PWM_1 예제 프로그램은 펄스 폭 변조를 생성하기 위해 STMicroelectronics STM32F103xx 마이크로 컨트롤러의 타이머 TIM4를 구성하고 사용하는 방법을 보여줍니다. TIM4는 매초 틱하도록 구성됩니다. 채널 3, PB8에 연결, 50 %의 의무 cicle을 가지고 채널 4, 연결 TP PB9, 25 %의 의무 cicle을 가지고있다. LED PB8, PB9은 채널의 의무 cicle 동안 점등됩니다. 시계와 타이머 TIM4의 구성은 파일 STM32_Init.c의 구성 마법사를 사용하여 수행됩니다.

두 개의 Ã`ÂμVision 타겟을 사용할 수 있습니다: 데모 비디오가 포함된 전체 코드는 아래에 제공됩니다. 먼저 마지막 코드 목록에 문이 누락되었습니다. STM32F103C8에는 15개의 PWM 핀과 10개의 ADC 핀이 있습니다. 7개의 타이머가 있으며 각 PWM 출력은 4타이머에 연결된 채널에 의해 제공됩니다. 16비트 PWM 해상도(216)를 가지며, 카운터이며 변수는 65535만큼 클 수 있습니다. 72MHz 클럭 레이트에서 PWM 출력은 최대 1밀리초의 최대 기간을 가질 수 있습니다. 이제 설치() 내부, 우리는 몇 초 후 몇 가지 메시지를 표시하고 이를 취소하고 입력 핀과 PWM 출력 핀을 지정한 다음 우리는 pwmWrite (led, 결과) 및 PWM 출력을 사용하여 팬에 PWM 출력을 사용하여 LED에 PWM 출력을 작성합니다 (팬 , 결과) 기능.