-
6스텝 BLDC 제어를 위한 PWM 발생모터 제어/BLDC 모터 제어 with STM32G4 2021. 11. 15. 12:00반응형
- LED blinking
- Scheduler using 1ms system tick
- 20kHz PWM generation
- Hall sensor sensing
- Speed sensing
- Uart
- Current sensing
- Current control
- Speed control
- Motor Parameter measuring
- Motor angle and speed estimation by Sensorless tech
- SVPWM
각 상별 스위치 제어 신호와 홀 센서 출력은 아래 그림과 같다. High side FET를 PWM 제어하고 Low side FET는 ON/Off 제어하여 deadtime 제어의 영향이 없다.
deadtime 제어는 향후에 구현한다.
STM32에서 advanced motor control을 지원하는 Timer1이 20kHz PWM 신호 발생을 위해서 사용되었다.
첫번째로, High side와 low side의 Pinout & Configuration은 아래와 같이 설정되었다. .
① Channel 1,2,3 of TIM1은 PWM Generation CH1,2,3으로 설정High side setting ② PA12, PC13, PB15은 GPIO_output으로 설정
Low side setting 두번째로, STM32G431 보드는 외부 8MHz의 크리스탈을 사용한다. Clock Configuration에서 Timer1과 관련된 APB2 타이머 클럭을 160MHz로 설정하면, 내부 값들은 자동으로 설정된다.
세번째로, 20kHz를 생성하기 위해서 TIM1의 parameter 값들을 설정한다.
– set Counter settings – Prescaler to 7 (8-1), then 160MHz / 8 = 20MHz
– set Counter Period to 1000, then 20MHz / 1000 = 20kHz
– Break And Dead Time management – Dead Time setting (Dead time control is not needed because PWM signal is applied to high side FET)
– if Pulse value in PWM Generation Channel 1 and 1N is 500, 50% duty will be generated in the high side of Channel 1.이와 같이 설정하면, 아래 파형과 같이 50% 듀티의 20kHz PWM 파형이 생성된다.
반응형'모터 제어 > BLDC 모터 제어 with STM32G4' 카테고리의 다른 글
상태 LED ON/Off (0) 2021.11.15