Set_Phases
U(A)상,V(B)상,W(C)상 제어를 위한 코드에서
TIM1을 이용해서 3상에 20KHz의 PWM을 신호를 발생 시키는데. 여기서 2가지 질문이 있습니다.
20KHz의 PWM 선정 조건이 있는지 궁금합니다. 단순 실험적 조건인건지, 아니면 하이사이드의 충전 시간 등 어떠한 고려 사항을 토대로 선정을 하셨는지 궁금합니다.
20KHz의 상보 동작의 구동방식에서 어떤식의 코드에서 상단만 PWM이 들어가고 하단은 상보동작의 ON/OFF 시스템이 되는지 궁금합니다.
아마, Set_Phases 함수인거 같은데 해당 부분에 부연 설명 좀 부탁드리겠습니다.
답변 2
0
20kHz로 선정한 이유는 다음과 같습니다. 먼저 가청대역을 회피하기 위해서 20kHz로 스위칭 주파수를 선정하였습니다.
MOSFET 스위칭 손실과 발열을 고려하였습니다.

DC전압 36V, 상전류 15A에서 스위칭 주파수가 20kHz라면 대략적으로 0.22~0.32W 수준의 스위칭 손실이 발생합니다. 이는 스위칭 손실로 발생하는 발열량을 무시할 수 있는 수준입니다.
Set_Phases 함수는 다음과 같이 동작합니다.
핵심은
Set_Phases(phaseA, phaseB, phaseC)에 넘기는 상태와 CCR 값입니다.인자 의미
+1: 그 상의 상단 PWM (반대 하단은 보완 동작)-1: 그 상의 하단 고정 ON0: 그 상 오프(부동)
매 60°(홀 상태 변경)마다 패턴 예시
소형 BLDC 순방향의 한 예:HallSum==6→Set_Phases(0, -1, 1)
즉 A상 오프, B상 하단 ON, C상 상단 PWM. 이 형태가 6스텝 동안 번갈아 반복됩니다.타이머/CCR 동작 요점
Set_Phases()내부에서+1(상단 PWM):TIM1->CCRn = CNT_MAX - VoltageRef;로 듀티 부여 + 채널 언마스크-1(하단 ON):TIM1->CCRn = CNT_MAX;로 보완 출력이 항상 ON이 되도록 설정 + 채널 언마스크0(오프):CCRn = 0후 채널 마스크(해당 상 상·하 모두 차단)
0
안녕하세요, 인프런 AI 인턴입니다. dhanbi1님.
귀하께서 질문하신 내용은 임베디드 시스템에서 PWM(Pulse Width Modulation) 방식을 활용한 모터 제어에 관한 심화된 주제입니다. 이러한 주제와 관련된 기존 답변은 다음과 같습니다:
PWM 주파수 선정:
20kHz의 PWM 주파수는 주로 모터의 소음 감소, 효율성, 스위치 변환 손실 등을 고려하여 선택됩니다. 20kHz는 사람의 가청 주파수보다 높아 모터에서 발생하는 소음을 줄일 수 있고, 효율적인 스위칭을 통해 시스템의 성능을 높일 수 있는 주파수 대역입니다. 하이사이드의 충전 시간이나 부품의 허용 전류에 따라 주파수 선택에 영향을 미칠 수 있습니다.상보 동작의 구동 방식:
상보 동작에서는 상부 스위치에 PWM 신호를 인가하고 하부 스위치는 상보로 작동하여 동기 정류를 수행하게 됩니다. 이는 손실을 줄이고 시스템의 효율성을 높이기 위한 기법입니다.Set_Phases함수에서는 타이머 설정을 통해 이러한 상보 동작이 구현될 수 있습니다. 상단만 PWM 신호가 인가되고 하단은 ON/OFF로 상보되도록 하는 방식은 일반적으로 각 타이머의 출력 비교 모드를 설정하여 구현하게 됩니다.
강의에서 이미 실습내용을 다루고 있을 가능성이 높습니다. 추가적으로 강의 내 관련 예제를 살펴보시거나, 제공된 예제 코드에서 타이머 설정 부분과 PWM 관련 설정을 면밀히 검토하시면 코드 작동 방식을 명확히 이해하실 수 있을 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
P6KE47CA 이 부품에 대해서 궁금합니다.
0
31
1
교육용 보드 쓰로틀 질문입니다.
0
38
3
모스펫 기생 커패시터에 대한 내용 누락
0
36
1
강의 자료 어디 있을까요?
0
37
2
STM32 보드 연결 방법 없이 바로 코딩으로 넘어가서 당황스러운데
0
46
3
대역폭 강의 없어요.
0
41
2
섹션 3,4. 6,7강의듣고 섹션5나중에 들어도 괜찮은건가요?
0
41
2
아직 stm32F767 보드 없는데.. 펌웨어...
0
47
2
BOM 이 혹시 제공되나요?
0
50
2
36V 배터리가 아닌 24V 전원
0
50
2
타이머 실습
0
57
2
bldc모터에서의 홀센서 위치
0
63
2
션트저항 전류센싱 시 음의 전류 발생 원인이 궁금합니다
0
70
2
홀센서, UVW 관계
0
67
2
강의 내용
0
68
2
디버그 문제
0
124
2
소형 BLDC 모터 기준 rev, fwd 차이점
0
79
1
션트 저항 전류 측정 방법 궁금증
0
87
2
보드 단품 구매 가능 문의
0
70
2
소형 보드 기준 차동증폭기 (+)단 저항 용량 선정 이유
0
63
2
스위치 입력 - 실습 LED가 환하게 들어오지 않습니다.
0
58
2
벅컨버터 COMP핀 주파수 보상회로 계산 시 R_ESR값
0
62
2
Center Align PWM 설정 코드 질문
0
60
1
주파수 응답 특성 그래프 튜닝 방식
0
68
2





