"인사이드 임베디드"라는 유튜브/네이버 블로그를 운영하고 있고 현재 자동차 업계 대기업에서 근무하고 있는 엔지니어입니다.
블로그 : https://blog.naver.com/sw_engineer-
유튜브 : https://www.youtube.com/@Inside_Embedded
현직 대기업 엔지니어
3상 인버터 하드웨어 개발
글로벌 자동차 OEM 납품(H사,B사,G사)
BLDC/PMSM 제어 알고리즘 개발
WFSM 제어 알고리즘 개발
실차 주행 테스트 경험 有
Khóa học
Đánh giá khóa học
- Dự án thực tế nhúng học qua xe scooter điện
- Dự án thực tế nhúng học qua xe scooter điện
- Dự án thực tế nhúng học qua xe scooter điện
- Dự án thực tế nhúng học qua xe scooter điện
- Dự án thực tế nhúng học qua xe scooter điện
Bài viết
Hỏi & Đáp
st link 연결안됨 오류
아래와 같이 한번 해보시고 답변 부탁드립니다.st link USB를 뺏다가 다시 연결하여 시도해도 동일한 증상일까요?장치관리자를 확인하셔서 아래와 같이 STlink 가 확인 되실까요?(사진)Debug Configuration 들어가셔서 아래와 같이 설정되어있는지 확인 부탁드립니다.(사진)(사진)
- 1
- 2
- 15
Hỏi & Đáp
킥보드 관성 주행 시 질문
하단 스위치를 모두 on시키는 Active short circuit을 하게 되면 구동중에 브레이크가 발생하고, 큰전류가 흐를 수 있어서 사용하지 마시길 바랍니다. 흠.. 제가 테스트할때는 그러한 현상이 없었습니다.몇가지 질문이 있습니다..!전류가 크게 튄다는게 몇A 일까요?관성으로 멈추는 내내 전류가 크게 흐른다는 건지, 아니면 멈추는 순간에 확 튀는 걸까요?전류 측정은 어떤 방식으로 하셨을까요?
- 0
- 2
- 50
Hỏi & Đáp
쓰로틀 다항식 계산.
질문 감사합니다. A열은 쓰로틀 전압값(1.1V~2.6V)을 0.1V 단위로 입력한 것이 맞습니다.B열의 CCR 값은 제가 직접 구동 테스트를 하면서, 실제 모터가 자연스럽게 반응하고 주행이 무리 없다고 판단되는 값을 넣은 것입니다. 즉, 이론적으로 계산된 값이라기보다는 실험적으로 “이 정도면 적절하다”는 기준으로 선정한 데이터입니다. 만약 실제 차량이라고 가정한다면, 안전성과 주행감 확보를 위해 더 많은 주행 데이터와 반복 실험을 통해 정밀하게 결정해야 합니다.
- 1
- 2
- 13
Hỏi & Đáp
Set_Phases
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 후 채널 마스크(해당 상 상·하 모두 차단)
- 1
- 2
- 25
Hỏi & Đáp
MOSFET 파트에서 오류
아 넵 맞습니다ㅠㅠ 제가 수정하는 걸 깜빽했네요.. 죄송합니다.
- 1
- 2
- 18
Hỏi & Đáp
상단 스위치 PWM 장단점.
질문 감사합니다.먼저 전류센싱은 단순 제어 품질이 아니라 보호의 문제입니다. 킥보드 주행 중 MOSFET이 소손되어 쇼트가 나면 수백 A급 과전류가 순간적으로 흐를 수 있습니다. 그냥 조금 유리하기 때문에 사용하는 것이 아닙니다.6-step + 상단 PWM에서 부트스트랩 충전은 문제가 되는지? 6-step(트래피조이드)에서 한 섹터(60°) 동안한 상의 상단 MOSFET이 PWM으로 전압을 건다(A상 예),반대 상의 하단 MOSFET은 계속 ON(B상),나머지 상(C상)은 개방.이때 상단(A상)이 PWM-OFF되는 매 사이클마다 전류는 하단(B상) MOSFET/바디다이오드로 자유회로(freewheel)하고, 스위치 노드(HS)가 거의 0V로 떨어집니다. → 부트스트랩 다이오드가 순방향이 되어 HB 캐패시터가 매 사이클 충전됩니다.즉, 상단 PWM을 쓰면 부트스트랩 충전 기회가 매 사이클 보장돼서 안정적입니다.반대로 “하단 PWM, 상단을 계속 ON”으로 구동하면 HS 노드가 대부분 버스+ 근처에 고정되어 부트스트랩이 충전 기회를 잃습니다. 따라서 부트스트랩 방식의 게이트 드라이버를 사용하면 상단 PWM이 오히려 더 안정적입니다.듀티비가 잘못 계산 되는다는 의미를 잘 이해하지 못하겠습니다. 다시 말씀해주시면 설명드리겠습니다!
- 1
- 2
- 16
Hỏi & Đáp
부트스트랩 커패시터.
질문 감사합니다.100nF 커패시터를 사용한 이유는 말씀하신 것처럼 데이터 시트에서 추천 용량을 사용하였습니다. 우선 추천 값으로 커패시터 용량을 선정하고, 현재 스위칭 주파수 20kHz인 상태에서 게이트 On/Off가 이상이 없는지를 확인하여 최종 선정한 값입니다. 부트스트랩 정격 전압은 차동 전압(HB-HS) 기준으로 잡으며, 11.3V보다 마진을 둬서 25V 이상을 추천합니다. 다만, 현재 보드의 경우 JLCPCB에서 수급이 원할한 100V 정격의 커패시터를 사용하였습니다.
- 1
- 2
- 19
Hỏi & Đáp
STM32 사용 관련 문의
원인: Finish를 누를 때 CubeMX/IDE가 STM32F7용 HAL 패키지(“STM32CubeF7”)를 내려받으려 하는데, myST 계정 로그인이 안 돼 있어서 막힌 겁니다(팝업에 적힌 그대로).해결:Help → STM32Cube Updates → Connection to myST에서 myST 계정으로 로그인 → 같은 Updates 메뉴의 Manage Embedded Software Packages에서 STM32CubeF7 설치
- 0
- 2
- 26
Hỏi & Đáp
ADC Conversion mode.
질문 많이 해주시면 좋습니다! 부담 갖지 마시고 언제든지 질문해주세요. 결론부터 말씀드리면, 우선 주석의 6.2us는 T_conv가 아닌 T_sample을 의미합니다. 현재 실습코드에서는 샘플 타임이 56cycle로 설정하였습니다. ADC 클럭은 PCLK2/6 = 9Mhz이고 주기는 1/9Mhz = 111.111ns가 나오죠. ADC 클럭을 이용해서 샘플링 타임을 구하면 111.111ns x 56 = 6.222us입니다. 네 맞습니다. 현재 실습에서는 효율은 고려하지 않고, 기능 구현을 목표로 진행해보았습니다. 다만 추후에 전동킥보드 펌웨어에서는 While문에서 ADC를 하지 않고, 타이머 인터럽트에서 진행합니다. 이 점 참고해주시길 바랍니다.
- 1
- 1
- 25
Hỏi & Đáp
스위치 인터럽트 동작이해.
음.. 현재 LED를 On/Off하는 코드는 스위치 입력이 들어올 때마다 On/Off가 반복되도록 실습 코드가 작성되어있습니다. 현재 스위치 입력 GPIO랑 LED에 연결된 GPIO는 다른 핀입니다.질문해주신 "버튼을 안누르면 하드웨어 적으로 High가 되지만 인터럽트는 발생이 안되서 LED의 상태는 유지 되어야 하는거 아닌가요?" 이 부분이 잘 이해가 가질 않는데, 버튼을 안누르면 스위치 Input Pin이 High인거고 LED에 연결된 GPIO는 다른 핀입니다.! 추가 질문 해주시면 답변 드리겠습니다.
- 1
- 1
- 31