안녕하세요, 제어쟁이입니다.
대기업에서 전동화(모터·인버터) 시스템을 개발하고 있는 현업 엔지니어입니다.
양산 프로젝트에서 회로·PCB·펌웨어·제어 알고리즘까지 직접 다뤄온 경험을 바탕으로, 유튜브/네이버 블로그 "인사이드 임베디드" 를 운영하면서 임베디드 개발자분들을 위한 교육 콘텐츠를 만들고 있습니다.
책이나 강의실에서는 잘 다루지 않는, 현장에서 진짜로 쓰이는 부분을 풀어내려고 합니다 :)
글로벌 자동차 OEM 협업
3상 인버터 하드웨어 개발 (회로 / PCB)
BLDC · PMSM · WFSM(권선형 계자 동기전동기) 제어 알고리즘 개발
전동화 시스템 개발 / 검증 프로세스 전반
실차 · 벤치 기반 평가 경험
카페 : https://cafe.naver.com/insideembedded?iframe_url=/MyCafeIntro.nhn%3Fclubid=31273003
블로그 : https://blog.naver.com/sw_engineer-
Courses
Reviews
- Master PMSM Vector Control—From Theory to Matlab and STM32 Practice!
- Master PMSM Vector Control—From Theory to Matlab and STM32 Practice!
- Hands-On Embedded Project with an Electric Kick Scooter
- Hands-On Embedded Project with an Electric Kick Scooter
- Master PMSM Vector Control—From Theory to Matlab and STM32 Practice!
Posts
Q&A
dc bias 고려
안녕하세요! 꼼꼼하게 검토해 주셔서 감사합니다.말씀하신 것처럼 해당 커패시터는 22 µF, 25 V 정격이지만, DC Bias 특성으로 인해 12 V 인가 시 실제 유효 정전용량이 감소하는 것이 맞습니다.다만 여기서 한 가지 구분해서 보셔야 할 부분이 있습니다.강의에서 계산한 15 µF는 출력 부하 전류가 순간적으로 2A만큼 변화하고, 이때 출력 전압 변동을 0.5 V 이내로 제한한다는 조건에서 산출한 값입니다.실제 출력 커패시터의 요구 용량은 부하 전류의 크기뿐 아니라 부하 전류의 변화량, 허용 출력 전압 변동, 출력 리플 등에 따라 달라집니다.현재 교육용 인버터에서 12 V 전원은 주로 게이트 드라이버와 후단 5 V, 3.3 V 전원회로에 사용됩니다. 모터의 구동 전류는 배터리에서 3상 인버터를 통해 공급되므로, 12 V 전원에서 2 A에 해당하는 급격한 부하 변동이 발생하는 구조는 아닙니다.또한 강의에서 별도로 계산한 정상상태 출력 리플 기준의 요구 정전용량은 약 1.2 µF입니다. DC Bias를 반영하더라도 현재 커패시터의 유효 용량은 이보다 큰 수준입니다.현재 설계된 보드 역시 실제 전원회로 및 모터 구동 테스트를 거쳐 정상적으로 동작하는 것을 확인한 구성입니다. 다만 더 큰 부하 변동이 발생하거나 출력 전압 변동을 더욱 엄격하게 제한해야 하는 환경이라면, 유효 정전용량과 보상회로를 해당 조건에 맞춰 다시 검토할 필요는 있습니다.말씀해 주신 부분은 DC Bias에 따른 실제 유효 용량과 설계 계산의 전제 조건이 더욱 명확하게 전달되도록 강의 내용을 보완하겠습니다.좋은 질문 감사합니다!
- Likes
- 0
- Comments
- 1
- Viewcount
- 43
Q&A
안녕하세요. 저전력 B키트 사용해서 DC 모터 구동을 해보려고 합니다.
안녕하세요!말씀해 주신 부분을 반영하여 B키트 조립 및 펌웨어 구동 방법에 대한 강의를 빠른 시일 내에 추가하겠습니다. 좋은 의견 감사합니다.현재 B키트를 사용 중이시라면, 키트의 커넥터에 맞춰 ST-Link와 BLDC 모터를 각각 연결하신 후 Integrated Code V3를 사용하시면 됩니다.모터 선택 및 구동 방법은 기존 실습 강의에서도 설명하고 있으니 참고해 주시면 됩니다.(사진)158,159번 강의에서 좀더 업데이트해서 설명한 강의라 꼭 같이 확인해보시길 바랍니다.추가로 config.h에서 사용하시는 모터에 맞춰 아래 설정을 확인해 주세요.USE_INWHEEL: 인휠 모터 1, 소형 BLDC 모터 0HALL_EDGES_PER_REV: 인휠 모터 90.0f, 소형 BLDC 모터 24.0fMOTOR_DIR: 시계방향 1, 반시계방향 0WHEEL_DIAMETER_M: 바퀴 속도 계산 시 실제 바퀴 지름(m)으로 설정우선 기존 강의와 매뉴얼을 참고하여 진행해 보시고, 실습 중 어려운 부분이 있다면 언제든 질문 남겨주세요.감사합니다!
- Likes
- 0
- Comments
- 2
- Viewcount
- 34
Q&A
uart 실습, 입력 커패시터 선정 식, 프리휠링 다이오드 평균 전류
안녕하세요. 제어쟁이입니다답변이 너무 늦어서 죄송합니다.1. ST-LINK 연결 여부에 따라 UART 통신이 달라지는 현상말씀하신 대로 GND 연결과 관련된 문제입니다. 강의자료의 UART 커넥터에는 GND가 연결되어 있지만, 이후 회로를 수정하는 과정에서 해당 연결이 누락되었습니다.일반적인 비절연형 ST-LINK와 USB-UART 모듈을 같은 PC에 연결하고, ST-LINK의 GND를 보드에 연결하면 PC의 USB GND를 통해 보드와 UART 모듈의 GND가 간접적으로 이어집니다. 이 상태에서는 UART 신호를 판단하는 기준 전위가 맞춰지기 때문에 통신이 가능한 것입니다.ST-LINK를 분리하면 이 연결 경로가 사라집니다. UART는 TX와 RX뿐 아니라 양쪽의 기준이 되는 GND도 연결되어야 하므로, GND가 연결되지 않으면 문자가 깨지거나 통신이 되지 않을 수 있습니다.따라서 ST link와 PC를 분리한 뒤 UART 통신 모듈을 정상 적으로 사용하기 위해선 GND를 점퍼선으로 연결해야 하는데 이 부분 가이드는 정리하여 공지로 오늘내로 안내 드리겠습니다. 이 부분은 제가 수정 과정에서 놓친 사항으로, 실습에 불편을 드려 정말 죄송합니다.2. 입력 커패시터 계산에서 사용한 1 µs와 0.5 V먼저 544 kHz의 스위칭 주기는 약 1.84 µs입니다. 스위치가 켜져 있는 시간은 입력전압과 듀티에 따라 달라지며, 이상적인 조건에서 24 V 입력을 12 V로 낮출 때는 약 0.92 µs, 36 V 입력에서는 약 0.61 µs입니다.자료의 계산에 사용한 1 µs는 커패시터가 전류를 공급하는 시간을 간이 계산에 적용한 값입니다. 또한 식에 들어간 0.5 V는 계산 결과로 예상한 리플이 아니라, 최소 용량을 산정하기 위해 설정한 허용 전압 변동입니다. 즉, “커패시터가 2 A를 1 µs 동안 공급할 때 전압 변동을 0.5 V 이내로 두려면 얼마의 용량이 필요한가?”를 계산한 것이며, 그 결과가 4 µF입니다.질문하신 데이터시트 식에 4 µF를 넣었을 때 약 229 mV가 나오는 것도 맞습니다. 두 계산은 전류를 가정하는 방식에 차이가 있습니다. 데이터시트의 정상상태 리플 계산은 입력전원이 공급하는 평균전류를 반영하지만, 자료의 간이식은 이를 차감하지 않고 2 A 전체를 커패시터가 공급한다고 두었습니다. 말씀하신 전류 차감 여부가 계산 결과에 영향을 주는 것이 맞고, 자료의 조건에서는 필요한 용량이 더 크게 산출됩니다.따라서 실제 회로에는 이 계산값에 여유를 두어 10 µF 두 개, 총 20 µF를 적용했습니다. 공칭 용량 기준으로 계산값의 5배이며, 같은 데이터시트 식에 20 µF를 적용하면 리플은 약 46 mV입니다. 다만 이 값은 이상적인 계산값이고, 실제 리플은 DC 바이어스에 따른 유효용량 감소, ESR, 배선 상태 등의 영향을 받습니다.3. 프리휠링 다이오드의 평균전류와 정격 선정벅 컨버터가 연속 전도 모드로 동작할 때, 다이오드는 스위치가 꺼져 있는 구간에 전류를 흘립니다. 따라서 한 주기 전체를 기준으로 한 다이오드 평균전류는 다음과 같습니다.다이오드 평균전류 ≈ 출력전류 × (1 − 듀티)24 V 입력, 12 V 출력에서는 듀티가 약 0.5이므로, 출력전류가 2 A일 때 다이오드 평균전류는 약 1 A입니다. 질문하신 것처럼 듀티를 반영해서 계산하는 것이 맞습니다.여기서 2 A는 다이오드가 도통하는 구간의 평균전류에 해당하고, 1 A는 전류가 흐르지 않는 구간까지 포함한 한 주기 평균입니다. 데이터시트의 평균 정류 전류 정격과 비교할 때는 한 주기 평균을 기준으로 보시면 됩니다.출력 12 V, 2 A 조건에서 다이오드 평균전류는 입력 36 V일 때 약 1.33 A, 설계 최대 입력인 50 V에서는 약 1.52 A까지 올라갑니다.선정한 B560C-13-F는 평균 정류 전류 정격이 5 A인 소자로, 이러한 입력 범위를 고려해 전류 정격에 여유를 둔 구성입니다. 실제 선정에서는 평균전류와 함께 인덕터 리플에 따른 피크 전류, 역전압, 발열 및 방열 조건도 확인해야 합니다.꼼꼼하게 확인하고 질문해 주셔서 감사합니다. UART GND 연결 방법은 별도 공지로 안내드리겠습니다.
- Likes
- 0
- Comments
- 1
- Viewcount
- 48
Q&A
인버터 사양
안녕하세요. 질문 주신 내용에 답변드립니다.고출력 보드와 소형 키트는 사용 목적과 요구 사양이 다르기 때문에 서로 다른 MOSFET을 선정했습니다.먼저 고출력 보드에 사용된 SQJQ466E는 드레인-소스 전압 정격이 60 V, 연속 드레인 전류 정격이 200 A이며, 온저항은 최대 1.9 mΩ입니다.반면 소형 키트에 사용된 IRF3205PbF는 드레인-소스 전압 정격 55 V, 연속 드레인 전류 정격 110 A, 온저항은 최대 8 mΩ입니다.두 소자를 선정할 때 가장 중요하게 고려했던 부분은 충분한 정격 여유와 부품 가격이었습니다.실제 두 보드 모두 요구되는 전류에 비해 MOSFET의 전류 정격을 상당히 넉넉하게 선정했습니다. 교육용 보드 특성상 실습 과정에서 제어 설정을 잘못하거나 예상보다 큰 전류가 흐르는 경우가 있기 때문에, 이러한 상황까지 고려하여 전류 정격에 충분한 여유를 두었습니다.물론 데이터시트에 명시된 전류 정격을 실제 보드에서 그대로 사용할 수 있다는 의미는 아니며, PCB와 방열 조건 등을 함께 고려해야 합니다.그러한 조건에서 고출력 보드는 낮은 온저항을 가진 SQJQ466E를 선정했고, 소형 키트는 실습에 필요한 정격을 충분히 확보하면서도 가격이 훨씬 저렴한 IRF3205PbF를 선정했습니다.결론적으 각 보드에 필요한 전압 및 전류 정격을 충분히 확보하면서 가격적인 부분까지 고려하여 선정했다고 이해하시면 됩니다.그리고 추가로 남겨주신 UART 실습 관련 질문은 제가 알림을 놓쳐 확인이 늦었습니다. 답변이 너무 늦어져 정말 죄송합니다.해당 질문은 오늘 오후 중으로 확인하여 별도로 답변드리겠습니다.감사합니다!
- Likes
- 0
- Comments
- 1
- Viewcount
- 56
Q&A
Buck Converter design
Hello,Thank you for your question.The TPS54360 is designed to operate with the EN pin left floating.According to the official TI datasheet, the EN pin has an internal pull-up current source of approximately 1.2 µA. This allows the EN pin to remain enabled even without an external connection.When the EN pin voltage exceeds approximately 1.2 V, the device is enabled. Pulling the EN pin below this threshold disables the device.The specified EN pin voltage range represents a voltage limit, not a requirement to apply an external voltage.Therefore, leaving the EN pin unconnected is intentional and does not cause any issues with normal operation, provided the input voltage and other operating conditions are satisfied.You can also find this explanation in Section 7.3.7, "Enable and Adjusting Undervoltage Lockout," on page 15 of the TPS54360 datasheet.Thank you!
- Likes
- 0
- Comments
- 2
- Viewcount
- 81
Q&A
Query Regarding PCB Design and Manufacturing for Firmware Testing
Hello,Thank you for enrolling in my course.You can manufacture the PCB directly using the provided Ebike_Akit_Bkit design files.The PCB design has already been manufactured and tested with actual hardware. The hardware kits I currently sell are also manufactured using the same design and specifications.Therefore, no modifications to the PCB design are necessary.You can use the provided design files to manufacture the PCB and assemble it with the components specified in the BOM. Once properly assembled, the board will be suitable for testing the firmware provided in the course.However, please make sure to check the component orientations, soldering quality, and overall assembly carefully before applying power.Thank you, and I wish you success with your project!
- Likes
- 0
- Comments
- 3
- Viewcount
- 81
Q&A
VM 배선
안녕하세요! 질문 주신 내용에 대해 답변드리겠습니다.1. VM 폴리곤을 3층(Inner 2)에도 배치한 이유VM은 DC 입력 전원으로, 모터 구동 시 비교적 큰 전류가 흐를 수 있는 구간입니다.따라서 Top Layer뿐만 아니라 3층에도 VM 폴리곤을 배치하고 비아로 연결하여 전류가 흐를 수 있는 경로를 추가로 확보했습니다. 이를 통해 전체적인 도통 저항과 전압 강하를 줄이고, 전류에 의한 발열을 분산시키는 효과도 기대할 수 있습니다.반면 2층(Inner 1)은 GND 전용으로 사용하기 위해 별도의 VM 폴리곤을 배치하지 않았습니다. GND 면을 최대한 연속적으로 확보하면 안정적인 전류 리턴 경로를 형성하고 노이즈를 줄이는 데 유리합니다.2. 일반 트레이스로 배선해도 괜찮은지전류가 크지 않은 일반적인 신호선이라면 PCB 제조사에서 지원하는 통상적인 패턴 폭을 사용해도 큰 문제가 없는 경우가 많습니다.하지만 VM과 같은 전원 라인이나 모터 구동 전류가 흐르는 구간은 다릅니다. 예상되는 최대 전류, 동박 두께, 허용 온도 상승 등을 고려하여 패턴 폭을 결정해야 합니다. 필요에 따라 전압 강하도 검토하는 것이 좋습니다.특히 모터 제어 회로에서는 전류가 많이 흐르는 구간에 가급적 넓은 패턴이나 폴리곤을 사용하는 것을 권장합니다.감사합니다!
- Likes
- 0
- Comments
- 2
- Viewcount
- 78
Q&A
듀티 조절 코드 질문
네, 말씀하신 것처럼 PWM Mode 1을 사용하고 VoltageRef 값이 증가할수록 CCR 값을 증가시키는 형태로 만들면 평균 인가전압 자체는 증가하도록 구현할 수 있습니다.다만 현재 강의 코드에서는 그렇게 변경하시면 안 됩니다.현재 PWM Mode 2를 사용해서 듀티 지령을 반전된 형태로 구성한 것은 단순히 코드 작성 방식 때문이 아니라, PWM 주기 중 하단 MOSFET이 ON되어 있는 시점에 상전류를 측정하기 위해서입니다.현재 코드에서는 TIM1의 Update Interrupt 시점에 ADC를 읽어 3상 전류를 측정하고 있는데, PWM Mode 2와 현재 스위칭 극성을 기준으로 이 측정 시점이 맞춰져 있습니다.따라서 PWM Mode 1로 단순히 변경하고 VoltageRef를 CCR에 바로 넣어버리면 스위칭 상태가 반대로 바뀌면서 현재 전류 측정 시점과 맞지 않게 됩니다.즉, 평균전압만 놓고 보면 말씀하신 방식으로 구현할 수 있지만, 이 코드에서는 전류 측정 타이밍까지 함께 설계되어 있기 때문에 현재 PWM Mode 2와 반전된 듀티 구조를 그대로 사용하시는 것을 권장드립니다.
- Likes
- 0
- Comments
- 2
- Viewcount
- 72
Q&A
C46~C48 크기
안녕하세요! 질문 주셔서 감사합니다.C46~C48만 0603 사이즈를 사용한 이유는 해당 커패시터들이 연결되는 위치에서 요구되는 전압 정격이 다른 커패시터보다 높기 때문입니다.MLCC의 경우 동일한 정전용량이라도 전압 정격이 높아지면 일반적으로 더 큰 패키지가 필요합니다. 특히 작은 패키지에서는 정격전압을 높일수록 실제 사용 전압에서 DC Bias 영향으로 유효 정전용량이 많이 감소할 수 있습니다.따라서 C46~C48은 필요한 전압 정격을 만족하면서도 회로에서 요구하는 정전용량을 충분히 확보하기 위해 0603 사이즈의 커패시터를 선정했습니다.즉, 특별한 배치상의 이유라기보다는 전압 정격과 실제 유효 정전용량을 고려한 부품 선정이라고 보시면 됩니다!
- Likes
- 0
- Comments
- 2
- Viewcount
- 65
Q&A
C46~C48 크기
안녕하세요! 질문 주셔서 감사합니다.C46~C48만 0603 사이즈를 사용한 이유는 해당 커패시터들이 연결되는 위치에서 요구되는 전압 정격이 다른 커패시터보다 높기 때문입니다.MLCC의 경우 동일한 정전용량이라도 전압 정격이 높아지면 일반적으로 더 큰 패키지가 필요합니다. 특히 작은 패키지에서는 정격전압을 높일수록 실제 사용 전압에서 DC Bias 영향으로 유효 정전용량이 많이 감소할 수 있습니다.따라서 C46~C48은 필요한 전압 정격을 만족하면서도 회로에서 요구하는 정전용량을 충분히 확보하기 위해 0603 사이즈의 커패시터를 선정했습니다.즉, 특별한 배치상의 이유라기보다는 전압 정격과 실제 유효 정전용량을 고려한 부품 선정이라고 보시면 됩니다!
- Likes
- 0
- Comments
- 2
- Viewcount
- 65





