제어쟁이
@insid2embedded
수강생
514
수강평
66
강의 평점
4.9
안녕하세요, 제어쟁이입니다.
대기업에서 전동화(모터·인버터) 시스템을 개발하고 있는 현업 엔지니어입니다.
양산 프로젝트에서 회로·PCB·펌웨어·제어 알고리즘까지 직접 다뤄온 경험을 바탕으로, 유튜브/네이버 블로그 "인사이드 임베디드" 를 운영하면서 임베디드 개발자분들을 위한 교육 콘텐츠를 만들고 있습니다.
책이나 강의실에서는 잘 다루지 않는, 현장에서 진짜로 쓰이는 부분을 풀어내려고 합니다 :)
글로벌 자동차 OEM 협업
3상 인버터 하드웨어 개발 (회로 / PCB)
BLDC · PMSM · WFSM(권선형 계자 동기전동기) 제어 알고리즘 개발
전동화 시스템 개발 / 검증 프로세스 전반
실차 · 벤치 기반 평가 경험
카페 : https://cafe.naver.com/insideembedded?iframe_url=/MyCafeIntro.nhn%3Fclubid=31273003
블로그 : https://blog.naver.com/sw_engineer-
강의
로드맵
전체 1수강평
- PMSM 벡터제어 완전정복 - 이론, Matlab, STM32 실습까지!
- PMSM 벡터제어 완전정복 - 이론, Matlab, STM32 실습까지!
- PMSM 벡터제어 완전정복 - 이론, Matlab, STM32 실습까지!
- PMSM 벡터제어 완전정복 - 이론, Matlab, STM32 실습까지!
게시글
질문&답변
키트(고출력)과 BLDC 모터가 도착했습니다.
안녕하세요, 제어쟁이입니다.먼저 강의 수강해주셔서 정말 감사합니다.모터제어 펌웨어에 관한 설명은 섹션8,9에서 설명드리고 있습니다. 또한 이번달에 펌웨어 관련 내용을 추가 보완하여 업데이트 해드릴 예정입니다!지금 당장 급하신게 펌웨어 부분이시면 당장 pcb 강의쪽은 스킵하셔도 실습하시는데 어려움은 없습니다. 먼저 실습하시고 추후에 시간 여유 생기실때 들으셔도 괜찮을 것 같습니다.추가 문의사항 있으시면 댓글로 남겨주시면 답변드리겠습니다:) 감사합니다.(사진)
- 좋아요수
- 0
- 댓글수
- 2
- 조회수
- 7
질문&답변
소형 BLDC 모터 관련
안녕하세요, 제어쟁이입니다.소형모터는 제공해드린 코드에서 아래의 config.h를 수정해서 바로 사용하실 수 있습니다.강의 뒷부분의 내용들에서 BLDC제어 관련 펌웨어를 다루고 있습니다. 이해 안되시는 부분 댓글로 달아주시면 답변 드리겠습니다~!(사진)(사진)
- 좋아요수
- 0
- 댓글수
- 2
- 조회수
- 14
질문&답변
PCB 구매 관련
안녕하세요, 제어쟁이입니다.현재 A-키트는 다음 주 금요일부터 정상 판매 가능할 예정입니다.빠르면 다음 주 수요일 부터 판매가 가능할 수 있어서 관련 공지 곧 해드리겠습니다.불편을 드려 죄송합니다.ㅜㅜ
- 좋아요수
- 0
- 댓글수
- 2
- 조회수
- 11
질문&답변
PCB 레이아웃 질문
안녕하세요, 제어쟁이입니다.흠.. 혹시 Via를 삭제하셨다가 다시 생성하여 3.3V와 연결해보시겠어요?해보시고 안되시면 댓글 부탁드립니다.
- 좋아요수
- 0
- 댓글수
- 2
- 조회수
- 22
질문&답변
벅 컨버터 스위치 off 상태일 때 흐름
안녕하세요, 제어쟁이입니다.1.벅 컨버터에서 스위치가 off일 때의 핵심은 스위치가 꺼졌는데 왜 전류가 계속 흐르느냐가 아니라, “인덕터 전류는 순간적으로 끊길 수 없다”는 점입니다. 스위치가 on일 때는 입력 전원이 스위치와 인덕터를 거쳐 부하로 전류를 공급합니다. 이때 스위치 노드 전압은 거의 입력 전압 Vin까지 올라가고, 인덕터 양단에는 Vin - Vout 정도의 양의 전압이 걸립니다. 그래서 인덕터 전류는 증가하고, 인덕터에는 에너지가 저장됩니다.그런데 스위치가 off되면 입력 전원과 인덕터 사이의 직접 경로는 끊깁니다. 이 순간에도 인덕터에 흐르던 전류는 바로 0이 될 수 없기 때문에, 인덕터는 기존 전류 방향을 유지하려고 합니다. 즉 인덕터는 자기 자신이 전원처럼 동작하면서 계속 부하 쪽으로 전류가 흐르게 됩니다. 이때 인덕터 양단의 전압 극성이 on 상태와 반대로 바뀝니다. 출력 쪽 전압은 출력 커패시터와 부하 때문에 어느 정도 Vout 근처로 유지되고 있는데, 인덕터 전류를 같은 방향으로 계속 흐르게 하려면 스위치 노드 쪽 전압은 출력 쪽보다 낮아져야 합니다. 그래서 스위치가 off되는 순간 스위치 노드 전압이 아래로 떨어지고, 결국 GND보다 약간 낮은 전압까지 내려가면서 프리휠 다이오드가 순방향 바이어스됩니다.다이오드가 켜지면 전류는 인덕터 → 부하 → GND → 다이오드 → 다시 인덕터 쪽으로 순환하게 됩니다. 즉 off 상태에서 전류를 계속 흘려주는 주체는 입력 전원이 아니라, on 구간 동안 에너지를 저장해 둔 인덕터입니다. 여기서 “왜 벅 컨버터의 출력 전압이 입력 전압보다 낮아지는가”도 같이 이해할 수 있습니다. 벅 컨버터는 입력 전압을 계속 그대로 출력에 연결하는 회로가 아니라, 스위치를 빠르게 on/off 하면서 인덕터와 커패시터가 그 스위칭 파형을 평균화하는 회로입니다. on 구간에는 스위치 노드가 거의 Vin이 되고, off 구간에는 스위치 노드가 다이오드에 의해 거의 0V 또는 약간 음의 전압 근처로 내려갑니다. 출력단의 인덕터와 커패시터는 이 스위칭 노드 전압을 그대로 내보내는 것이 아니라 평균값에 가까운 DC 전압으로 만들어 줍니다. 이상적인 경우에는 출력 전압이 대략 Vout = D × Vin이 됩니다. 여기서 D는 듀티비입니다. 예를 들어 입력이 24V이고 듀티비가 50%라면 출력은 대략 12V가 됩니다. 듀티비가 30%라면 출력은 대략 7.2V가 됩니다. 즉 출력 전압이 낮아지는 이유는 인덕터가 전압을 그냥 소모해서가 아니라, 스위치가 켜져 있는 시간 비율만큼만 입력 에너지가 전달되고, 인덕터와 커패시터가 그 값을 평균화하기 때문입니다.또한 인덕터 관점에서 보면, 정상상태에서는 인덕터 양단 전압의 평균이 0이 되어야 합니다. on 구간에서는 인덕터에 Vin - Vout의 양의 전압이 걸려 전류가 증가하고, off 구간에서는 인덕터에 대략 -Vout의 음의 전압이 걸려 전류가 감소합니다. 이 증가량과 감소량이 한 주기 동안 같아지는 지점에서 일정한 출력 전압이 만들어집니다. 그래서 듀티비를 조절하면 on 구간과 off 구간의 비율이 바뀌고, 그 결과 출력 전압도 바뀌게 됩니다. 2.인버터의 데드타임도 비슷한 관점으로 보면 이해가 쉽습니다. 인버터에서 상측 스위치와 하측 스위치를 동시에 켜면 DC 링크가 바로 단락되는 shoot-through가 발생할 수 있기 때문에, 스위치를 전환할 때 아주 짧은 시간 동안 위아래 스위치를 모두 off시키는 데드타임을 넣습니다. 그런데 모터 같은 부하는 인덕턴스 성분이 크기 때문에, 데드타임 동안 스위치가 둘 다 꺼져도 부하 전류가 순간적으로 사라지지 않습니다. 전류는 계속 흐르려고 하고, 그 전류 방향에 따라 인버터의 스위치 노드 전압이 위쪽 또는 아래쪽으로 밀리게 됩니다. 그러다가 상측 또는 하측 MOSFET의 바디 다이오드가 순방향이 되는 순간, 그 다이오드를 통해 전류가 흐르게 됩니다.정리하면, 데드타임 때 어떤 다이오드로 전류가 흐르는지는 "부하 전류가 어느 방향으로 흐르고 있는가"에 의해 결정됩니다. 한 상의 전류를 인버터에서 모터 쪽으로 나가는 방향을 양의 전류라고 정의하면, 데드타임 동안 그 전류를 유지하기 위해 보통 하측 바디 다이오드 쪽으로 프리휠 전류 경로가 만들어집니다. 반대로 모터에서 인버터 쪽으로 전류가 들어오는 방향이면 상측 바디 다이오드가 도통하면서 전류가 흐릅니다. 즉 부하 전류의 방향이 바뀌면 데드타임 동안 도통하는 다이오드도 바뀝니다.결국 벅 컨버터와 인버터 모두 공통적으로 봐야 할 점은 인덕터 전류는 순간적으로 끊길 수 없다는 것입니다. 스위치를 off한다고 해서 전류가 바로 멈추는 것이 아니라, 인덕턴스가 기존 전류 방향을 유지하려고 하면서 필요한 전압을 스스로 만들어 냅니다. 그 결과 다이오드가 순방향으로 켜질 수 있는 조건이 만들어지고, 다이오드를 통해 전류가 계속 흐르게 됩니다. 벅 컨버터에서는 이 역할을 프리휠 다이오드가 하고, 인버터에서는 데드타임 동안 상측 또는 하측 스위치의 바디 다이오드가 그 역할을 한다고 이해하시면 됩니다.추가 질문사항 있으시면 언제든지 문의주세요.감사합니다 ㅎㅎ
- 좋아요수
- 0
- 댓글수
- 2
- 조회수
- 36
질문&답변
PCB 발주
안녕하세요, 제어쟁이입니다.직접 설계까지 하시다니 대단하십니다!insid2.embedded@gmail.com으로 프로젝트 파일 보내주시면 3일내에 확인해서 답변드리겠습니다.감사합니다:)
- 좋아요수
- 0
- 댓글수
- 1
- 조회수
- 38
질문&답변
32. MOSFET의 특성과 동작 영역 강의 내용 중 P=I^2R질문
안녕하세요, 제어쟁이입니다.아 넵 900W가 맞습니다.. 제가 실수로 잘못 설명을 하였네요. 짚어주셔서 감사합니다..!
- 좋아요수
- 0
- 댓글수
- 2
- 조회수
- 26
질문&답변
LDO 선정 이유
안녕하세요. 수업 잘 듣고 계시다니 감사합니다. 결론부터 말씀드리면, 이 보드에서 5V는 MCU 직접 구동용이라기보다 외부 센서와 주변 회로를 위한 중간 전원 레일입니다. 특히 현재 구성에서는 BLDC 모터의 홀센서 전원으로 5V가 필요하고, 그 5V를 다시 LDO로 낮춰 MCU용 3.3V를 안정적으로 만드는 구조입니다. BLDC 홀센서는 모터 내부에 들어있는 위치 검출 센서이고, 많은 홀센서 모듈이나 모터 케이블 사양은 5V 전원을 기준으로 동작합니다. 물론 3.3V에서도 동작 가능한 홀센서가 있을 수 있지만, 모터에 이미 들어있는 홀센서의 전원 사양이 5V 기준인 경우가 많기 때문에 보드에서 5V 전원을 제공해주는 것이 호환성 측면에서 유리합니다. 전동킥보드용 인휠모터나 24V 소형 BLDC 모터를 연결할 때도 구동 원리는 동일하고, 홀센서 전원/신호를 안정적으로 받아야 6-step 제어가 가능합니다. 또 하나의 이유는 전원 구조를 단계적으로 나누기 위해서입니다. 배터리나 12V 계열 전원에서 바로 3.3V만 만들면 MCU는 동작할 수 있지만, 홀센서처럼 5V가 필요한 외부 회로를 따로 구동하기 어렵습니다. 그래서 먼저 5V 레일을 만들고, 이 5V를 홀센서 전원으로 사용하면서 동시에 LDO 입력으로 넣어 3.3V를 만듭니다. 이렇게 하면 “외부 센서용 5V”와 “MCU용 3.3V”를 한 보드 안에서 자연스럽게 구성할 수 있습니다. 여기서 스위칭 노이즈 관점도 중요합니다. 보드의 5V가 벅 컨버터로 만들어지는 경우, 효율은 좋지만 스위칭 동작 때문에 리플과 고주파 노이즈가 포함될 수 있습니다. 특히 인버터 보드에서는 MOSFET 스위칭, 게이트 드라이버, 모터 상전류, 긴 홀센서 케이블이 같이 존재하기 때문에 전원 라인과 GND에 노이즈가 쉽게 실릴 수 있습니다. 만약 이 5V를 그대로 MCU 전원으로 사용하면 ADC 측정값이 흔들리거나, 홀센서 입력 엣지가 불안정해지거나, 심하면 MCU 리셋과 통신 오류로 이어질 수 있습니다. 그래서 5V를 한 번 만든 뒤, MCU에는 LDO를 거쳐 상대적으로 깨끗한 3.3V를 공급하는 구조가 안정성 측면에서 유리합니다. 효율 관점에서도 5V를 만든 뒤 3.3V LDO를 쓰는 구조는 현실적인 선택입니다. 12V에서 3.3V를 LDO로 바로 만들면 전압 차이가 커서 발열이 심하지만, 5V에서 3.3V로 낮추면 전압 차이가 1.7V뿐이라 MCU 전류 수준에서는 발열 부담이 훨씬 작습니다. 즉 5V는 홀센서 전원으로 필요하고, 동시에 3.3V LDO의 입력 전원으로도 적당한 중간 전압입니다. 여기에 LDO가 벅 컨버터의 잔류 리플과 고주파 노이즈를 일부 줄여주는 역할도 하기 때문에, MCU·ADC·통신 같은 제어 회로에는 더 적합합니다. 정리하면, 이 회로에서 5V를 쓰는 주된 이유는 홀센서 전원 공급 때문입니다. 그리고 그 5V를 활용해서 LDO로 MCU용 3.3V를 만들면 회로가 단순해지고, 12V에서 바로 3.3V를 만드는 것보다 발열도 줄일 수 있습니다. 또한 벅 컨버터나 인버터 스위칭에서 발생하는 노이즈가 MCU 전원으로 직접 들어가는 것을 완화할 수 있어, ADC 측정과 홀센서 기반 6-step 제어 안정성에도 도움이 됩니다. 따라서 5V는 불필요하게 추가한 전원이 아니라, BLDC 모터의 홀센서 인터페이스와 MCU 전원 생성을 연결해주는 중요한 중간 전원이라고 보시면 됩니다.추가 질문 있으시면 언제든지 문의주세요~! 감사합니다.
- 좋아요수
- 0
- 댓글수
- 1
- 조회수
- 27
질문&답변
BLDC
안녕하세요, 제어쟁이입니다.파형만 봤을 때 정확히 단정하기는 어렵지만, 현재 50A 지령을 줬을 때는 전류제어 자체가 안정적으로 되고 있지 않아 보입니다. 5A 정도에서는 PI전류제어와 전향보상이 잘되는 걸로 보이지만, 50A에서는 d축 전류가 정상적으로 억제되지 않는다면 PI 게인 문제뿐 아니라 전압 제한, 전류 센싱 스케일/오프셋, 모터 파라미터, dq 변환 각도 등 여러 요인을 같이 확인해야 합니다.그리고 강의 내용은 PMSM 기준으로 모델링, dq 변환, 전류제어, SVPWM 흐름을 설명하고 있기 때문에, 강의와 동일하게 따라가면서 실습하시려면 BLDC 모델보다는 PMSM 모델로 진행하시는 것을 권장드립니다. BLDC는 역기전력 파형이나 구동 방식 특성이 달라서 강의의 PMSM FOC 구조를 그대로 적용했을 때 결과가 다르게 나올 수 있습니다.따라서 우선은 PMSM 모델로 동일 조건에서 전류제어가 정상적으로 되는지 확인하신 뒤, 이후 BLDC 모델에 맞게 별도로 파라미터나 제어 구조를 조정하는 방향이 좋을 것 같습니다.
- 좋아요수
- 0
- 댓글수
- 2
- 조회수
- 34
질문&답변
벅컨버터 사용 및 그라운드 분리
안녕하세요, 제어쟁이입니다.먼저 강의 수강해주셔서 정말 감사합니다. ㅎㅎ1번 답변강의자료를 바탕으로 설명드리면, 이번 교육용 인버터 키트에서 절연형 DC/DC 컨버터가 아니라 Buck 컨버터를 사용한 가장 큰 이유는 교육용 키트라는 목적, 전압대, 원가, 회로 복잡도를 함께 고려했기 때문입니다. 현재 키트는 24V / 36V 정도의 비교적 저전압 배터리 시스템을 대상으로 하고 있어서, 산업용 고전압 인버터처럼 반드시 절연 전원을 써야 하는 구조는 아닙니다.물론 절연형 DC/DC를 사용하면 고전압 영역과 저전압 제어 영역을 전기적으로 분리할 수 있어서 안전성이나 공통모드 노이즈 측면에서 유리한 점이 있습니다. 그래서 실제 산업 현장에서도 전압이 높아지거나 안전 규격 요구가 큰 경우에는 절연형을 많이 사용합니다. 다만 절연형을 제대로 적용하려면 전원만 절연한다고 끝나는 것이 아니라 PWM 신호, 전류센싱, Fault 신호, 통신 신호까지 전체 시스템 절연 구조를 함께 잡아야 해서 회로가 훨씬 복잡해지고 비용도 올라갑니다. 그리고 한 가지 중요한 점은 절연형을 쓴다고 해서 노이즈가 자동으로 완벽하게 해결되는 것은 아니라는 것입니다. 실제 노이즈 성능은 PCB 레이아웃, 리턴패스, 디커플링, 접지 구조, 게이트 저항, 스너버 같은 요소의 영향도 매우 큽니다. 그래서 이번 키트는 학습 목적에 맞게 비절연 구조로 설계했고, 대신 PGND와 GND를 분리해서 고전류 스위칭 리턴 전류가 MCU나 ADC 쪽으로 최대한 영향을 주지 않도록 설계한 것입니다. 즉 “절연을 안 해서 대충 만든 것”이 아니라, 현재 전압대와 교육 목적에 맞는 현실적인 선택이라고 이해하시면 좋겠습니다. 실제 산업에서는 고전압인 경우에는 게이트드라이버나 컨버터는 거의 필수적으로 절연형을 사용하고 있습니다.2번 답변이 부분은 처음 공부하실 때 많이 헷갈릴 수 있는데,결론은 스위칭 주파수와 모터 회전 속도는 같은 개념이 아니다라고 보시면 됩니다. 강의자료 기준으로 현재 3상 PWM은 TIM1 하나로 생성하고 있기 때문에 U상, V상, W상의 기본 PWM 캐리어 주파수는 동일합니다. 예를 들어 20kHz로 설정하면 세 상 모두 20kHz 기준으로 PWM이 만들어집니다. 다만 BLDC 6step 제어에서는 홀센서 위치에 따라 항상 세 상이 동시에 같은 방식으로 동작하는 것이 아니라, 두 상은 통전하고 한 상은 off(floating) 되는 형태로 구동됩니다. 그리고 RPM은 PWM 주파수로 직접 결정되는 것이 아니라, 모터에 인가되는 평균 전압과 전류, 부하 상태, 전기적 주파수에 의해 결정됩니다. 쉽게 말하면 PWM 주파수는 MOSFET을 얼마나 빠르게 켰다 껐다 할지를 정하는 값이고, 속도는 쓰로틀에 따라 duty를 조절하면서 평균 전압이 바뀌고, 그 결과 모터 토크와 속도가 변하는 구조입니다. 그래서 duty를 올리면 평균 전압이 증가하고, 그에 따라 모터가 더 가속되어 RPM이 올라갑니다. 반대로 스위칭 주파수는 너무 낮으면 전류 리플, 소음, 토크 리플이 커질 수 있고, 너무 높이면 MOSFET 스위칭 손실과 발열이 증가합니다. 즉PWM 주파수는 효율, 발열, 소음, EMI를 보고 정하는 값이고, RPM은 평균적으로 모터에 얼마만큼의 전압/전류를 넣어주느냐에 더 직접적으로 관련된 값이라고 이해하시면 가장 정확합니다.3번 답변이 질문도 실무에서 정말 많이 고민하는 부분입니다. 결론부터 말씀드리면,PGND와 GND를 연결할 때 0Ω 저항 대신 Ferrite Bead를 쓰는 것이 무조건 더 좋다고 보기는 어렵습니다. 0Ω 저항은 사실상 short처럼 동작하면서도, 설계자 입장에서는 “이 지점에서 ground를 한 번 묶는다”는 의미를 명확하게 줄 수 있고, 나중에 부품을 바꿔가며 튜닝하기도 좋습니다.반면 Ferrite Bead는 DC에서는 거의 연결처럼 보이지만, 고주파에서는 임피던스가 커져서 특정 주파수 대역의 노이즈를 줄이는 데 도움을 줄 수 있습니다. 그래서 겉으로 보면 bead가 더 좋아 보일 수 있습니다. 하지만 인버터처럼 스위칭 전류가 크고 di/dt, dv/dt가 큰 회로에서는 bead 양단에 전위차가 생기면서 오히려 그라운드 기준점이 흔들리는 문제가 발생할 수 있습니다. 그러면 ADC 측정값이 흔들리거나 MCU 기준 전위가 불안정해지고, 심하면 통신 오류나 오동작으로 이어질 수도 있습니다. 그래서 실제로 중요한 것은 0Ω이냐 bead냐 자체보다, 고전류 리턴패스와 민감한 신호 리턴패스를 최대한 분리하고, 루프 면적을 줄이고, ground를 어디서 어떻게 만나게 할 것인지를 잘 잡는 것입니다. 실무에서도 처음부터 무조건 bead가 정답이라고 결정하기보다는, 0Ω 자리를 넣어두고 시제품에서 오실로스코프 측정, EMI, 실제 부하 테스트를 하면서 bead로 바꿔보거나 다른 방식으로 튜닝하는 경우가 많습니다. 즉 이 부분은 이론만으로 100% 정답이 정해지는 영역이라기보다는, 초기 설계를 잘 하고 실제 측정 결과를 바탕으로 최적점을 찾는 과정이라고 보시면 됩니다.
- 좋아요수
- 0
- 댓글수
- 2
- 조회수
- 57





