얼마전에 IF 전기집진기 컨트롤러에 대해 언급한 적이 있는데 단상과 3상 SPWM 구동시간을 꼼꼼히 분석하여 STM32F103 프로세서에 SPWM 코드 작성을 완료하고 오실로스코프로 신호와 파형을 테스트하고 로직 분석기.
STM32F103의 TIMER1과 TIMER2는 보완적인 PWM 출력을 지원하며 A,B,C 3상 구동에는 TIMER1의 CH1,CH2,CH3을 선택했습니다.
프로세서의 클록 주파수는 72MHz이고, 보완적 PWM 출력의 데드 타임은 다음 코드에 의해 4us로 설정됩니다.
SPWM_PWM_TIMER->BDTR = 0x80C4.
반주기 정현파 데이터 테이블이 생성되고, 정현파 신호의 주파수와 PWM의 주파수 값을 기반으로 정현파 신호의 주기를 나누어야 하는 간격이 계산되며, 각 정현파 신호 데이터의 평균값을 계산하고, 최대 정현파 데이터와 PWM 신호의 최대 듀티 사이클 값을 기준으로 각 구간의 듀티 사이클 값을 계산합니다.
SPWM의 주파수가 10kHz이고 사인 신호의 주파수가 50Hz일 때 출력 SPWM 신호는 1kΩ 저항 0.1uF 커패시터가 있는 2단의 저역 통과 필터링 저항을 통과하며 매우 완벽한 사인 신호.
처음에는 SPWM에서 계산한 듀티 사이클 값을 DMA를 통해 TIMER의 CCR 레지스터에 자동으로 설정하고 반완료 인터럽트와 완료 인터럽트에서 DMA 캐시의 업데이트를 구현하고 싶었지만 도중에도 주파수가 바뀔 수 있기 때문입니다. 이는 DMA의 데이터 수를 동적으로 변경하여 SPWM 출력의 정현파 신호 출력을 일관성 없게 만들고 고주파 성분을 생성합니다.
마지막으로 TIMER의 업데이트 인터럽트를 통해 PWM 신호의 각 주기마다 3상 CCR 레지스터 값이 업데이트됩니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3