insid2embedded
@insid2embedded
Học viên
582
Đánh giá khóa học
74
Đánh giá khóa học
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-
Khóa học
Đánh giá khóa học
jh1004zzang996422
·
Chinh phục hoàn toàn điều khiển vector PMSM - Từ lý thuyết, Matlab đến thực hành STM32!Chinh phục hoàn toàn điều khiển vector PMSM - Từ lý thuyết, Matlab đến thực hành STM32!- Dự án thực hành nhúng học qua xe điện cân bằng (e-scooter)
- Dự án thực hành nhúng học qua xe điện cân bằng (e-scooter)
- Chinh phục hoàn toàn điều khiển vector PMSM - Từ lý thuyết, Matlab đến thực hành STM32!
- Chinh phục hoàn toàn điều khiển vector PMSM - Từ lý thuyết, Matlab đến thực hành STM32!
Bài viết
Hỏi & Đáp
a,b,c상 전류와 센서리스전환부의 소음
안녕하세요, 제어쟁이입니다.우선 두가지 상황 모두 강의에서 사용한 코드로 실습하신거죠?일단 첫번째 파형에서 I/F로 300RPM을 지령을 줬을 때 실제 회전을 하지 않는걸까요? 파형으로만 보면 정지된 상태에서 전류만 직류로 들어가고 있는 것으로 보이는데, 확인 부탁드립니다.그리고 두번째 파형에서는 제어기 오차가 누적되면서 발산하는 현상으로 보이는데 제가 강의에서 사용한 모터와 동일한 모터를 사용하셨을까요? 그리고 간헐적으로 발생하는 현상인지 말씀 부탁드립니다.
- Lượt thích
- 0
- Số bình luận
- 2
- Lượt xem
- 20
Hỏi & Đáp
소형 보드 기준 차동증폭기 (+)단 저항 용량 선정 이유
(사진)안녕하세요, 제어쟁이입니다.소형 보드 기준으로 +-10A의 전류를 측정하기 위해서 위와 같이 설계하였습니다.A키트와 증폭비의 차이가 있어서 이 부분 참고 부탁드립니다:)
- Lượt thích
- 0
- Số bình luận
- 2
- Lượt xem
- 20
Hỏi & Đáp
SPWM 문의
안녕하세요.문의 1번은 조금 반대로 이해하신 부분이 있는 것 같습니다.그림에 있는 삼각파와 사인파는 실제 인버터 출력단에 그대로 존재하는 파형이라기보다는, PWM을 만들기 위한 비교 개념으로 보시면 됩니다.아날로그 회로라면 실제 삼각파 전압을 만들어서 사인파와 비교할 수 있지만, MCU에서는 타이머 카운터가 0부터 최댓값까지 올라갔다가 다시 내려오는 동작을 사용합니다. 이 카운터의 증가/감소가 삼각파 역할을 합니다.즉, 교재에서는 삼각파를 -Vdc/2 ~ +Vdc/2 전압 기준으로 표현했지만, MCU 내부에서는 이것을 그대로 전압으로 만드는 것이 아니라 0~타이머 최댓값 같은 숫자 범위로 바꿔서 처리합니다. 그리고 사인파 지령도 그 숫자 범위에 맞게 스케일링해서 비교합니다.정리하면,교재의 삼각파 = 설명을 위한 전압 기준의 반송파MCU의 삼각파 = 타이머 카운터 값이라고 보시면 됩니다.문의 2번은 이해하신 내용이 맞습니다.MCU에서 3상 사인파 지령을 만들고, 이 지령을 앞에서 설명한 삼각파 역할의 타이머 카운터와 비교해서 PWM 파형을 생성합니다. 그리고 이 PWM 신호로 3상 인버터의 6개 스위치를 On/Off 제어합니다.다만 인버터가 실제로 매 순간 부드러운 사인파 전압을 출력하는 것은 아닙니다. 실제 출력은 빠르게 On/Off 되는 PWM 펄스입니다. 대신 PWM의 한 주기 평균값을 보면 사인파 지령을 따라가게 됩니다.예를 들어 지령이 큰 구간에서는 스위치가 켜져 있는 시간이 길어지고, 지령이 작은 구간에서는 켜져 있는 시간이 짧아집니다. 이 듀티 변화에 의해 평균 전압이 변하고, 그 평균 전압이 사인파처럼 만들어지는 것입니다.그리고 모터 권선은 인덕턴스가 있기 때문에 PWM처럼 빠르게 변하는 전압이 걸려도 전류는 비교적 부드럽게 흐릅니다. 그래서 최종적으로 모터에는 3상 사인파에 가까운 전류가 흐르게 되고, 이 전류로 회전자계가 만들어져 모터가 회전하게 됩니다.
- Lượt thích
- 0
- Số bình luận
- 2
- Lượt xem
- 12
Hỏi & Đáp
STM32CubeIDE 버전 정보 문의
안녕하세요, 제어쟁이입니다.버전은 1.17.0 사용하시면 되고, 아마 프로젝트 생성하실 때 아래와 같은 팝업 창이 나오셨을 겁니다.만약 안나오셨더라도 아래와 myST에 연결을 해주셔야 패키지가 설치가 되서 프로젝트가 제대로 생성이 됩니다. 다시 한번 해보시고 문제 생기시면 댓글 부탁드려요. 감사합니다.(사진)(사진)
- Lượt thích
- 0
- Số bình luận
- 2
- Lượt xem
- 13
Hỏi & Đáp
스위치 입력 - 실습 LED가 환하게 들어오지 않습니다.
안녕하세요, 제어쟁이입니다.회로도와 코드를 같이 확인해보니, 현재 작성하신 코드 자체는 큰 문제 없어 보입니다. FLT_LED는 PC6에 연결되어 있고, LED 회로 구조상 PC6이 LOW가 되었을 때 LED가 켜지는 Active-Low 방식입니다. 또한 SWITCH 신호는 PD4에 연결되어 있고, 회로상 R11 1kΩ으로 3.3V에 풀업되어 있다가 스위치를 누르면 GND로 떨어지는 구조입니다. 따라서 코드에서 PD4가 HIGH이면 스위치를 누르지 않은 상태로 보고 PC6을 HIGH로 만들어 LED를 끄고, PD4가 LOW이면 스위치를 누른 상태로 보고 PC6을 LOW로 만들어 LED를 켜는 흐름은 회로와 맞습니다.다만 한 가지 확인해보셔야 할 부분이 있습니다. 보드에 스위치가 두 개가 있는데, 하나는 리셋 스위치이고 하나는 실습용 스위치입니다. 혹시 실습용 스위치가 아니라 리셋 스위치를 누르고 계신 것은 아닌지 먼저 확인해보시면 좋을 것 같습니다. 리셋 스위치를 누르면 MCU가 리셋되기 때문에 LED가 순간적으로 깜빡이거나 예상과 다르게 동작하는 것처럼 보일 수 있습니다.그리고 전원 공급 방식도 확인이 필요합니다. ST-LINK의 3.3V만 연결한 상태에서 테스트하면 보드 전체 전원이 안정적으로 공급되지 않을 수 있습니다. 이 보드는 원래 24V 전원을 인가한 뒤 보드 내부 전원회로를 통해 3.3V가 만들어지는 구조이기 때문에, 가능하면 24V 전원을 정상적으로 인가한 상태에서 다시 테스트해보시는 것을 권장드립니다. ST-LINK는 다운로드와 디버깅용으로 연결하고, 보드 전원은 보드가 의도한 입력 전원으로 공급하는 방식이 더 안전합니다.정리하면, 현재 코드의 핀맵이나 if문 논리 자체는 회로도 기준으로 맞습니다. 우선 실습용 스위치를 누르고 있는지, 그리고 ST-LINK 전원만 사용한 상태가 아니라 24V 입력 전원을 인가해서 보드 내부에서 3.3V가 정상적으로 생성된 상태인지 확인해보시면 좋겠습니다. 제가 지금 외부 출장 중이라 같은 보드 환경에서 바로 대신 테스트해드리기는 어려운 상황이라, 위 두 가지를 먼저 확인해보시고 결과를 알려주시면 추가로 같이 원인을 좁혀보겠습니다.
- Lượt thích
- 0
- Số bình luận
- 2
- Lượt xem
- 24
Hỏi & Đáp
I/F 제어 d축정렬 질문
안녕하세요, 제어쟁이입니다.전류 피드백은 어떻게 나오고 있을까요?지령으로 준 시뮬링크 블록 보여주시면 감사하겠습니다.
- Lượt thích
- 0
- Số bình luận
- 2
- Lượt xem
- 20
Hỏi & Đáp
SPMSM 문의
안녕하세요, 제어쟁이입니다.이 부분은 운전 단계와 d–q축의 기준이 달라서 생긴 혼동입니다.먼저 일반적인 회전자 자속 기준 FOC에서는 d축을 영구자석 자속 방향, q축을 그와 전기각 90°인 방향으로 정의합니다. SPMSM의 토크식은(사진)이며, SPMSM은 L_d = Lq이므로(사진)가 됩니다. 따라서 정상적인 토크 제어 구간에서는 보통 d축 전류는 0A, q축에 전류를 인가하여 제어합니다.강의에서 d축 전류를 조절한다고 한 것은 초기 d축 정렬이나 I/F 시동 구간을 설명한 것으로 보입니다.초기 d축 정렬에서는 아직 회전자 위치를 정확히 알 수 없기 때문에, 제어기가 임의로 정한 d축 방향에 일정한 전류를 인가합니다. 그러면 고정된 방향의 고정자 자계가 만들어지고, 회전자 영구자석은 그 자계 방향으로 정렬되려는 토크를 받습니다. 처음에는 제어기가 정한 d축과 실제 회전자 d축 사이에 각도 차이가 있으므로 회전 토크가 발생하고, 회전자가 해당 방향으로 이동합니다. 정렬이 완료되어 두 축이 일치하면 각도 차이가 0이 되므로 토크도 0이 되고, 회전자는 그 위치에 고정됩니다.즉, 정렬 시 회전하는 이유는 실제 회전자 d축에 전류가 정확히 일치해서가 아니라, 처음에는 인가한 전류 벡터와 회전자 자속 사이에 각도 차이가 있기 때문입니다. 실제 회전자 d축과 전류가 완전히 일치한 상태에서는 SPMSM의 지속적인 회전 토크가 발생하지 않습니다.I/F 제어도 비슷한 원리입니다. I/F 제어에서는 지령 주파수를 적분해 가상의 회전각을 만들고, 그 가상 좌표계의 d축에 일정한 전류를 인가하는 방식을 사용할 수 있습니다. 이 가상의 d축을 서서히 회전시키면 고정자 자계도 회전하고, 회전자 영구자석이 그 회전자계를 따라가면서 회전합니다.이때 회전자는 가상의 전류축을 완전히 같은 각도로 따라가는 것이 아니라 일정한 부하각을 두고 따라갑니다. 따라서 인가 전류를 실제 회전자 좌표계에서 보면 q축 성분이 생기며 토크가 발생합니다. 정리하면 다음과 같습니다.정상적인 회전자 자속 기준 SPMSM FOC: d축전류 : 0A, q축 전류로 토크 제어초기 d축 정렬: 일정한 d축 전류를 인가하여 회전자를 특정 위치로 정렬I/F 시동: 일정한 전류 벡터를 회전시켜 회전자가 동기적으로 따라오도록 구동추가 질문 사항 있으시면 댓글 부탁드립니다. 감사합니다.
- Lượt thích
- 0
- Số bình luận
- 3
- Lượt xem
- 19
Hỏi & Đáp
벅컨버터 COMP핀 주파수 보상회로 계산 시 R_ESR값
안녕하세요, 제어쟁이입니다.좋은 질문 감사합니다.먼저 단위부터 정리하면, 강의자료에 사용된 값은 0.5mΩ가 아니라 5mΩ입니다.그리고 여기서 말하는 R_ESR은 입력단에 있는 1200uF 벌크 커패시터의 ESR이 아니라, 인덕터 뒤쪽에 있는 출력 커패시터의 등가 ESR입니다.즉, TPS54360의 COMP 핀 보상회로를 계산할 때 들어가는 R_ESR은 출력 커패시터가 가지는 ESR 때문에 생기는 zero 위치를 반영하기 위한 값입니다.이번 회로에서는 출력단에 22uF 세라믹 커패시터 2개와 100nF 바이패스 커패시터를 사용했습니다. 100nF는 고주파 노이즈 대응용이고, 보상 계산에서 주로 보는 출력 커패시터는 22uF 두 개 병렬 구성입니다.질문에서 말씀하신 0.5V / 0.58A로 계산한 값은 아닙니다.여기서 0.5V는 부하 전류가 변할 때 허용하는 과도응답 전압 변동량입니다.반면 0.58A는 인덕터에 흐르는 스위칭 리플 전류입니다.두 값은 서로 다른 조건에서 나온 값이기 때문에 단순히 나누어서 ESR을 구하면 안 됩니다.데이터시트에 나오는 “출력 리플 전압을 인덕터 리플 전류로 나누는 방식”은 실제 커패시터의 ESR을 구하는 식이라기보다는, 출력 리플 조건을 만족하기 위해 ESR이 어느 정도 이하이면 되는지를 확인하는 상한 검토식입니다.예를 들어 출력 리플 요구조건을 0.12V로 보고, 인덕터 리플 전류를 0.58A로 보면 대략 0.207Ω, 즉 207mΩ 정도가 나옵니다.이 말은 실제 ESR이 207mΩ이라는 뜻이 아니라, 출력 리플 관점에서 ESR이 이 값보다 충분히 작으면 된다는 의미입니다.실제 사용한 세라믹 커패시터는 전해 커패시터와 다르게 ESR이 매우 낮습니다. 일반적으로 이런 MLCC는 고주파 영역에서 mΩ 단위의 낮은 ESR을 가지므로, 출력 리플 조건에서는 충분히 여유가 있습니다.그래서 강의에서는 보상회로의 1차 계산을 위해 저 ESR 세라믹 커패시터의 대표값으로 5mΩ를 사용했습니다.여기서 중요한 것은 “이 커패시터의 ESR이 정확히 5mΩ이다”라는 의미가 아니라, “저 ESR 세라믹 출력 커패시터를 사용했을 때 보상 계산에 반영하기 위한 대표 모델값”으로 이해하시면 됩니다.TPS54360 같은 전류모드 벅 컨버터에서 출력 커패시터 ESR은 ESR zero라는 주파수 위치를 만듭니다. 쉽게 말하면, 출력 커패시터의 용량과 ESR 조합에 의해 제어 특성이 바뀌는 지점이 생긴다고 보면 됩니다.강의 계산에서는 출력 커패시터를 약 37uF 수준으로 보고, ESR을 5mΩ로 두었습니다. 이 경우 ESR zero는 약 861kHz 부근에 생깁니다.반면 실제 보상회로에서 목표로 잡은 크로스오버 주파수는 약 14kHz 수준입니다.즉, ESR zero가 우리가 제어하려는 대역폭보다 훨씬 높은 곳에 있습니다. 그래서 실제 ESR이 5mΩ보다 조금 작거나 커지더라도, 이 설계에서 COMP 보상값이 크게 바뀌지는 않습니다.예를 들어 실제 병렬 세라믹 커패시터의 등가 ESR이 5mΩ보다 더 낮다고 보면, ESR zero는 더 높은 주파수로 이동합니다. 하지만 이미 목표 크로스오버 주파수보다 충분히 높은 영역이기 때문에, 전체 보상 설계 결과에는 큰 영향을 주지 않습니다.정리하면 다음과 같습니다.이 R_ESR은 입력 벌크 커패시터가 아니라 출력 커패시터 뱅크의 ESR입니다.5mΩ는 0.5V / 0.58A로 계산한 값이 아닙니다.0.5V는 과도응답 전압 변동 조건이고, 0.58A는 인덕터 리플 전류이므로 서로 나누면 안 됩니다.실제 사용한 22uF 세라믹 커패시터 2개 병렬 구성은 ESR이 매우 낮기 때문에 출력 리플 조건에서는 충분히 여유가 있습니다.보상회로 계산에서는 저 ESR MLCC의 대표 모델값으로 5mΩ를 사용했고, ESR zero가 목표 제어 대역보다 훨씬 높은 곳에 있기 때문에 설계 결과가 이 값에 크게 민감하지 않습니다.따라서 강의에서 사용한 R_ESR = 5mΩ는 실제 부품 ESR을 전압/전류로 역산한 값이 아니라, TPS54360 보상회로 계산에서 저 ESR 세라믹 출력 커패시터의 특성을 반영하기 위해 사용한 대표값이라고 이해하시면 됩니다.감사합니다.
- Lượt thích
- 0
- Số bình luận
- 2
- Lượt xem
- 29
Hỏi & Đáp
자화 인덕턴스 변동분 문의
안녕하세요, 제어쟁이입니다.좋은 질문입니다. 이 부분은 충분히 헷갈릴 수 있습니다.결론부터 말씀드리면, 여기서 나오는 cos 형태는 영구자석의 실제 외형이 원형이라서 나오는 식은 아닙니다.즉, 자석이 둥글다거나 자석 끝단이 정확히 90도라서 cos 식으로 표현되는 것은 아닙니다.자료에서 설명한 a상 자기 인덕턴스 식은 다음 의미입니다.평균적인 자화 인덕턴스회전자 위치에 따라 변하는 인덕턴스 변동분여기서 중요한 것은 회전자 위치에 따라 고정자 권선에서 바라보는 자기저항이 달라진다는 점입니다.IPMSM은 회전자 내부에 영구자석이 매입되어 있고, d축과 q축의 자기저항이 서로 다릅니다. 그래서 a상 권선 입장에서 보면 회전자가 어디에 위치하느냐에 따라 인덕턴스가 커졌다 작아졌다 합니다.이때 인덕턴스는 회전자를 180도 전기각만큼 돌리면 다시 같은 자기회로 상태가 반복됩니다. 그래서 일반적인 cosθ가 아니라, 주기가 180도인 cos2θ 형태로 표현됩니다.반대로 영구자석에 의한 쇄교자속은 조금 다르게 봐야 합니다.영구자석 자속이 a상 권선축 방향으로 얼마나 투영되는지를 보는 것이기 때문에 이 경우에는 cosθ 형태로 표현됩니다.정리하면 다음과 같습니다.영구자석 자속은 권선축에 대한 투영 성분이므로 cosθ 형태로 표현됩니다.자화 인덕턴스 변동분은 d축과 q축의 자기저항 차이 때문에 180도마다 반복되므로 cos2θ 형태로 표현됩니다.따라서 질문 주신 것처럼 “내장된 영구자석이 둥근 형태이고 한쪽 끝에서 끝까지 90도라서 가능한 것인가?”라고 이해하기보다는, 실제 자석 형상을 그대로 수식화한 것이 아니라, 회전자 위치에 따라 반복되는 자기적 특성을 기본파 성분으로 근사한 것이라고 보시면 됩니다.실제 IPMSM은 자석 형상, 자속 장벽, 슬롯 구조, 포화 등에 의해 완벽한 cos 파형이 나오지는 않습니다. 그래서 정밀 해석에서는 FEM 해석이나 인덕턴스 맵을 사용합니다.다만 제어 이론과 기본 모델링에서는 가장 지배적인 기본 성분만 사용해서 cos 형태로 근사하고, 이 근사를 통해 IPMSM의 d축/q축 인덕턴스 차이와 릴럭턴스 토크까지 설명할 수 있습니다.감사합니다.
- Lượt thích
- 0
- Số bình luận
- 1
- Lượt xem
- 25
Hỏi & Đáp
PMSM 블락파라미터 미지원
안녕하세요, 제어쟁이입니다.현재 2026a버전 부터는 Permanent Magnet Synchronous Machine이 포함된 Specialized Power Systems를 지원하지 않고 있습니다.. 현업에서 정말 많이 사용되는 라이브러리인데 갑자기 지원을 멈춘다고 하네요. 그래서 강의 수강 전 참고 사항에 2024b 버전을 권장 드렸습니다.(사진)현재 2025b 버전까지는 아래처럼 matlab에서 sps_lib를 사용하면 Permanent Magnet Synchronous Machine을 사용할 수 있습니다. 혹시 matlalb 버전을 낮은 버전으로 다운로드 해주실 수 있을까요? Matlab 홈페이지에서 프로그램 다운 받으실 때 버전 낮춰서 다운로드 가능합니다.(사진)
- Lượt thích
- 0
- Số bình luận
- 2
- Lượt xem
- 30





