게시글
질문&답변
전동 킥보드에 사용되는 f767 고출력 모델 문의
안녕하세요, 제어쟁이입니다.J1 배럴잭 규격은 내경 2.1mm입니다.다만 이 부분은 꼭 주의하셔야 합니다.현재 보드의 J1 입력 사양은 24V / 3A 기준이라서, 말씀하신 36V 배터리를 J1 배럴잭에 직접 연결하시면 안 됩니다.36V 배터리를 XT60 → DC잭 케이블로 연결하면 전압 사양을 초과하기 때문에 보드 전원부 손상이나 예기치 않은 고장이 발생할 수 있습니다.고출력 버전에서 36V 배터리를 사용하려면, J1이 아니라 36V 입력을 받을 수 있도록 설계된 전원 입력부/전력부(A-키트 기준 Xt60 케이블) 쪽으로 연결해야 합니다.
- 좋아요수
- 0
- 댓글수
- 3
- 조회수
- 32
질문&답변
USART 통신 문의
안녕하세요, 제어쟁이입니다.코드 기준으로 설명드리면, 현재 코드에서는 Hall Sensor 신호의 Edge를 이용해서 속도를 계산하고 있습니다.네, 거의 맞게 이해하셨습니다.다만 정확히 말하면 “Interrupt 함수가 호출되는 순간” 자체가 펄스라기보다는, 홀센서 신호가 변하는 순간, 즉 Edge가 발생한 순간을 MCU가 EXTI 인터럽트로 감지한다고 보시면 됩니다.그 인터럽트 안에서 Update_Hall_Sequence()로 현재 홀센서 상태를 읽고, SpeedCal()을 호출해서 속도를 계산합니다.맞습니다.이전 홀센서 인터럽트 발생 시점과 다음 홀센서 인터럽트 발생 시점 사이에 TIM2 카운터가 얼마나 증가했는지를 보고 시간 간격을 계산합니다.즉 delta_time은 두 Hall Edge 사이의 시간 간격이고, 이 값을 이용해서 RPM을 계산합니다.calculated_rpm과 motor_speed_rpm은 완전히 동일한 값은 아닙니다.calculated_rpm은 SpeedCal()에서 바로 계산된 순간 RPM 값이고,motor_speed_rpm은 그 값을 LPF, 즉 저역통과필터를 거쳐 부드럽게 만든 필터링된 RPM 값입니다.그래서 화면에 출력되는 RpmFdb는 최종적으로 motor_speed_rpm 값이라고 보시면 됩니다.정리하면,Hall Sensor Edge → EXTI Interrupt → SpeedCal() → calculated_rpm 계산 → LPF 적용 → motor_speed_rpm 출력이 흐름입니다.감사합니다.
- 좋아요수
- 0
- 댓글수
- 2
- 조회수
- 29
질문&답변
모터 선정 질문
안녕하세요, 제어쟁이입니다.제가 권해드린 모터에 맞도록 교육용 키트의 커넥터가 설계되어 있습니다. 그래서 바로 커넥터에 연결만 하면 되는 구조입니다.만일 다른 제품으로 하시면 직접 납땜을 하셔야하고, 홀센서 출력도 제가 권해드린 모터와 다를 수 있어서 실습에서는 제가 권해드린 모터로 따라오시는게 수월하실 것 같습니다.모터 배선에 대한 설명은 회로 및 PCB 설계 강의에서 설명해드립니다..!감사합니다.
- 좋아요수
- 0
- 댓글수
- 2
- 조회수
- 43
질문&답변
Hall 센서 + 센서리스
안녕하세요 제어쟁이입니다.먼저 강의내용에 없는 SMC를 적용하여 센서리스를 구동하시다니 정말 훌륭하십니다. 저도 슬라이딩모드 관련해서 프로젝트를 많이 진행했었는데 반갑네요 ㅎㅎ근데 슬라이딩 모드 제어를 사용해서 관측기로 구현하셨어도 극저속에서는 구동이 힘들텐데, I/F --> SMO(theta 추정이라 관측기가 더 올바른 표현으로 보입니다.) --> 확장역기전력 센서리스 이런식으로 구현하셨을까요? 그리고 현재 Mode_Flg가 채터링이 생기는건 state machine에서 아무래도 코드를 바꾸시다보니 뭔가 잘못된 것 같습니다. 코드를 보지 않고는 제가 말씀드리기가 힘드네요 ㅠ우선 절환되는 부분을 상태머신을 사용하지 않고, 테스트용으로 코드 작성해서 하나씩 테스트 해보시는 걸 추천드립니다.
- 좋아요수
- 0
- 댓글수
- 2
- 조회수
- 48
질문&답변
조언 부탁드립니다.
안녕하세요, 제어쟁이입니다.질문 주신 글에서 진로에 대한 고민이 정말 많이 느껴집니다. 지금은 스트레스도 받고 힘들 수도 있지만 정말 잘 하고 계십니다. 먼저, 3학년 겨울방학부터 방향을 바꿨다고 해서 너무 늦었다고 보지는 않습니다. 학부생 기준에서 DC 모터, BLDC 6-step의 전류·속도·위치 제어를 모델링하고 MCU로 구현해 본 경험이 있고, 지금 FOC 기반 로봇팔 프로젝트까지 하고 있다면 방향성은 확실하고 경험도 많다고 생각됩니다. 다만 취업에서 제어 직무로 설득력을 가지려면 “어떤 plant를 모델링했고, 어떤 제어 목표를 세웠고, 어떻게 검증했는지”를 구체적으로 설명할 수 있어야 합니다. 취업과 대학원 중에서는, 본인이 정말 PMSM FOC, 인버터, 모터 드라이브, 전력전자 쪽을 깊게 하고 싶다면 석사는 충분히 의미가 있다고 봅니다. 연구 능력이 부족하다고 느끼는 건 자연스러운 일입니다. 석사는 원래 그 능력을 훈련하는 과정에 가깝습니다. 연구실 주제, 졸업생 진로, 실험 장비, 실제 연구 내용이 본인이 원하는 직무와 맞는지가 훨씬 중요합니다. 현장실습은 두 직무 중에서만 보면, 단순 MBD SW 정적·동적 검증 직무는 도움이 되긴 하지만 본인이 원하는 제어기 설계와는 거리가 있을 수 있습니다. MIL/SIL/HIL, Simulink 기반 검증 프로세스, 요구사항 기반 테스트를 배운다는 장점은 있지만, 실제 제어 알고리즘을 설계하고 튜닝하는 경험이라고 보기는 어렵습니다.회사에 가면 정적,동적 검증은 보통 따로 시험팀을 하는 부서가 있어서 직접 개발하시기가 힘드실 수 있습니다. 반대로 plant가 명시되어 있고 공조 제어기처럼 무엇을 제어하는지가 분명한 직무는 경쟁률이 높더라도 직무 적합성을 설명하기 좋습니다. 제어 분야에서는 무엇을 제어했는가가 생각보다 중요합니다. 공조 제어가 모터 제어와 완전히 같지는 않지만, 센서, 액추에이터, 제어 로직, 모델링, 검증이 연결되는 경험이라면 MBD 검증만 하는 것보다 이야기할 거리가 더 많을 수 있습니다. 그래서 제 의견은 이렇습니다. 본인이 원하는 방향이 모터 제어와 전력전자라면 1순위는 plant가 분명하고, 제어 로직 개발이나 모델링이 실제 업무에 들어가는 현장실습입니다. 경쟁률이 높더라도 지원해 보는 것을 추천드립니다. 반대로 검증 직무를 하게 된다면, 그 경험만으로 제어기 설계 역량을 보여주기는 부족할 수 있으니 개인 프로젝트로 FOC 구현, 전류 루프·속도 루프 튜닝, 파라미터 추정, MCU 실험 결과 등을 완벽히 본인의 것으로 만들어 보시길 바랍니다. 마지막으로 대학원을 간다면 모터 드라이브나 전력전자 연구실을 신중히 고르시고, 취업을 한다면 실제 업무가 설계, 제어 직무에 가까운지를 확인하셔서 지원해보시길 바랍니다.지금까지의 경험이 부족하다고만 보이진 않습니다. 학부생 기준으로 상당한 수준이라 생각됩니다.앞으로는 경험을 넓히기보다, 제어직무를 원하시면 제어 쪽으로 한두 개 결과물을 깊게 만들어서 모델, 제어기, 코드, 실험 결과까지 이어지게 정리하는 게 훨씬 설득력 있을 것 같습니다. 추가 질문 있으시면 댓글로 부탁드립니다.감사합니다!!
- 좋아요수
- 0
- 댓글수
- 1
- 조회수
- 64
질문&답변
블루투스 핀 배열 질문
안녕하세요, 제어쟁이입니다.확인해본 결과 말씀하신 대로 STATE와 BRK 반대로 표기 되어있습니다.사실 이 핀들을 강의에서 사용하지 않다보니 실수를 한 것 같습니다 ㅠㅠ불편을 드려 죄송하고, 오류를 찾아주셔서 정말 감사합니다.
- 좋아요수
- 0
- 댓글수
- 1
- 조회수
- 44
질문&답변
PCB 배선 연결 실수로 인한 증상 검토 요청 건.
안녕하세요.우선 불꽃이 튀었다고 하셔서 혹시 손이나 주변에 다친 곳은 없으실까요?고출력 배터리를 사용하는 보드라 순간적으로 쇼트가 나면 스파크가 꽤 크게 발생할 수 있어서, 이후에는 배터리를 다시 연결하지 말고 먼저 점검하시는 게 좋습니다.우선 제목에 불량 증상이라고 적어주셨는데, 현재 작성해주신 내용만 기준으로 보면 PCB 자체 초기 불량이라기보다는 결선 또는 납땜 과정에서 W상 쪽 쇼트가 발생한 상황으로 보입니다.BLDC 모터에서 U/V/W 상 순서가 잘못되면 보통 바퀴가 덜덜 떨리거나, 회전하지 않거나, 회전 방향이 이상하게 나오는 증상이 나타납니다. 하지만 단순히 U/V/W 순서가 틀렸다고 해서 배터리를 꽂는 순간 W상 쪽에서 불꽃이 튀는 경우는 일반적이지 않습니다.W상에서 불꽃이 튀었다면 높은 확률로 W상 납땜부에 납이 번졌거나, 전선 가닥이 삐져나와 주변 패드나 다른 라인과 닿으면서 쇼트가 났을 가능성이 높습니다. 고출력 PCB는 배터리에서 순간적으로 큰 전류가 흐를 수 있기 때문에, 이런 쇼트가 발생하면 MOSFET, PCB 패턴, 전원부까지 한 번에 손상될 수 있습니다.처음 배터리를 연결했을 때 LED가 정상적으로 들어왔다고 하신 부분은 배터리 입력 이후 12V 벅컨버터, 5V, 3.3V 전원 회로가 정상적으로 동작했다는 의미입니다. 즉 처음 전원 인가 시점에는 보드 전원부가 살아 있었다고 볼 수 있습니다.그 이후 W상 쪽에서 불꽃이 튀고, 다시 배터리를 연결했을 때 LED가 들어오지 않는다면 쇼트로 인해 큰 전류가 흐르면서 PCB 내부 회로가 손상되었을 가능성이 큽니다.모터의 경우에는 U/V/W 순서를 잘못 연결했다고 해서 쉽게 고장 나는 부품은 아닙니다. 잠깐 덜덜 떨거나 정상 회전하지 않을 수는 있지만, 모터 자체가 바로 망가지는 경우는 거의 드뭅니다. 따라서 모터보다는 PCB 쪽 손상 가능성이 훨씬 높습니다.현재 상태에서는 배터리를 다시 연결하지 마시고, 아래 부분을 먼저 확인해보셔야 합니다.W상 납땜부에 납 브릿지가 있는지W상 전선 가닥이 삐져나와 주변 패드와 닿았는지W상 주변 패드나 패턴에 탄 흔적이 있는지PCB의 배터리 +/− 사이가 쇼트되어 있는지U/V/W 각 상과 배터리 +, 배터리 − 사이가 쇼트되어 있는지모터 U-V, V-W, W-U 권선 저항이 서로 비슷한지정리하면, 현재 증상은 PCB 자체 불량이라기보다는 W상 납땜 또는 결선 과정에서 쇼트가 발생했고, 그 과정에서 PCB가 손상된 상황으로 보입니다. 모터는 살아 있을 가능성이 높지만, PCB는 쇼트 전류로 인해 이미 손상되었을 가능성이 커서 그대로 사용하기는 어려울 것 같습니다. 우선 배터리는 연결하지 마시고, 멀티미터가 있으시면 위의 사항들을 쇼트 테스트 해보시고, 육안으로 검사 한번 해보시고 댓글 부탁드립니다.
- 좋아요수
- 0
- 댓글수
- 2
- 조회수
- 55
질문&답변
ABC 상전류 측정
(사진)안녕하세요, 제어쟁이입니다.핀맵 PA0, PA1, PA2는 홀센서 입력이 아니라 ABC 상전류 측정용 ADC 입력입니다.강의 코드에서 BLDC 구동 자체는 PD0, PD1, PD2로 들어오는 홀센서 신호를 기준으로 동작합니다.즉, 홀센서의 상태 변화(라이징/폴링 엣지)를 감지해서 현재 로터 위치 섹터를 판단하고, 그에 맞게 6-step 구동을 수행하는 구조입니다.반면에 PA0, PA1, PA2에서 측정하는 상전류는 모터 제어를 하기 위한 용도라기보다는, 션트 저항을 통해 전류를 측정하고 과전류 상태를 감지하거나 Fault 처리를 하기 위한 용도로 보시면 됩니다.
- 좋아요수
- 0
- 댓글수
- 1
- 조회수
- 44
질문&답변
전동킥보드 펌웨어 코드 분석
안녕하세요, 제어쟁이입니다.강의 녹화 후 추가로 코드를 업데이트 해서 배포를 하여 조금 다릅니다만, 전체 구조는 동일하고 좀더 깔끔하게 작성된 코드입니다.혹시 코드 보시면서 이해 안되시는 부분 있으실까요? 말씀해주시면 설명해드리겠습니다.
- 좋아요수
- 0
- 댓글수
- 3
- 조회수
- 55
질문&답변
전류센싱 pwm adc 동기화 관련 질문
안녕하세요, 제어쟁이입니다.전류 센싱을 제대로 하려면 PWM과 ADC 샘플링 타이밍을 맞추는 것이 중요합니다.다만 강의에서는 이걸 STM32F767의 타이머/ADC 레지스터 설정을 통해 직접 타이밍을 잡는 방식으로 진행하고 있습니다.Center Align PWM에서는 전류를 아무 시점에나 읽으면 전류의 중간 값을 읽을 수 없습니다. 그래서 강의에서 설명한 것처럼 Center align PWM을 사용해서 중앙의 위치에서 타이머 인터럽트를 발생시키고, 그 시점에 ADC를 수행해서 전류를 센싱합니다.추가 질문 있으시면 댓글 남겨주세요.감사합니다.
- 좋아요수
- 0
- 댓글수
- 1
- 조회수
- 42




