Hall 센서 + 센서리스
48
작성한 질문수 10
안녕하세요-!. 이전에 임베디드 강의에서 올려주신 UART 코드,Hall 센서 코드랑 PMSM 센서리스 코드를 결합해서, 저속에서는 SMC를 해보고 있는데요.
실제 제가 저속에서 SMC를 할 떄는 센서 피드백(BLDC 홀 센서)를 받아서 제어를 할려고 시도중이었습니다.

지금 그림에서 보시면 아시겠지만, 작성해주신 센서리스 코드는 건드리지 않고 저속 관련 코드만 제가 만져서 사용중이거든요. 그런데 이상하게 센서리스 전환 부분에서(지금 제가 480rpm+히스테리시스 50rpm 해놓은 상태입니다) Mode_Flg 부분이 왔다갔다 하는 부분이 생기더라고요.
RPM_EEMF 부분도 보시면 아시겠지만 rpm을 바꾸든 말든 고정값으로 나오다가 전환 부분에서 잠깐 변화한거 말고는 딱히 특이점을 못찾았습니다.
이게 제가 Hall 센서 코드랑 센서리스 코드를 억지로 결합해서 생긴 문제인걸까요??조언 해주시면 감사하겠습니다!!
답변 2
0
안녕하세요 제어쟁이입니다.
먼저 강의내용에 없는 SMC를 적용하여 센서리스를 구동하시다니 정말 훌륭하십니다. 저도 슬라이딩모드 관련해서 프로젝트를 많이 진행했었는데 반갑네요 ㅎㅎ
근데 슬라이딩 모드 제어를 사용해서 관측기로 구현하셨어도 극저속에서는 구동이 힘들텐데, I/F --> SMO(theta 추정이라 관측기가 더 올바른 표현으로 보입니다.) --> 확장역기전력 센서리스 이런식으로 구현하셨을까요?
그리고 현재 Mode_Flg가 채터링이 생기는건 state machine에서 아무래도 코드를 바꾸시다보니 뭔가 잘못된 것 같습니다. 코드를 보지 않고는 제가 말씀드리기가 힘드네요 ㅠ
우선 절환되는 부분을 상태머신을 사용하지 않고, 테스트용으로 코드 작성해서 하나씩 테스트 해보시는 걸 추천드립니다.
0
감사합니다.
제가 저속 6-step+센서리스(FOC)로 코드를 합쳤다보니까 각 변환이 안맞아 문제가 되었던걸로 추측을 하고 있는데요. 지금은 저속에서도 FOC로 운용을 하니까 나름 알맞게 추종을 하는 거 같습니다.
다만 여기서 아주 미세한 문제가 100,300,400,500 RPM에서는 RPM_Hall_Est(여기도 LPF를 달아서 구동시켰습니다)가 잘 되는데 딱 200RPM 구간에서만 RPM_Hall_Est가 한 50rpm 정도 꾸준히 높게 나오더라구요(이미지 첨부가 안되서...)
흠 이부분만 해결하면 될 꺼 같은데, 딱 이 구간만 안되게 나올 수 있는게 가능한지, 왜 이러는지 가늠이 안되고 있습니다. 혹시 의견 한번 더 내주실 수 있으실까요???
0
안녕하세요, 인프런 AI 인턴입니다.
잠든꿀벌님, Hall 센서와 센서리스 코드를 결합하여 저속에서는 센서를 사용하고 고속에서는 센서리스 방식으로 전환하는 부분에서 문제가 발생한 것 같습니다. 특히 전환 시점에서의 불안정성과 RPM 관련 데이터의 이상 증상이 나타나는 것으로 보입니다.
전환 시점의 불안정성:
- 센서를 사용할 때와 센서리스 모드로 전환할 때 제어 시스템이 서로 다른 데이터를 사용하므로 전환 시점에서 데이터 불일치로 인해 불안정성이 발생할 수 있습니다.
- 전환을 매끄럽게 하기 위해서는
Mode_Flg와 관련된 로직을 신중히 설계하여 전환 시 갑작스런 변화가 없도록 해야 합니다.
- 센서를 사용할 때와 센서리스 모드로 전환할 때 제어 시스템이 서로 다른 데이터를 사용하므로 전환 시점에서 데이터 불일치로 인해 불안정성이 발생할 수 있습니다.
RPM 데이터의 일관성 문제:
RPM_EMF가 고정값으로 나오는 것은 센서리스 알고리즘의 오동작 가능성을 의미할 수 있습니다. 센서리스 모드에서의 컬렉션 및 계산 부분을 점검해 보세요.
- 특히 센서리스 알고리즘에서 사용하는 입력 신호가 정확히 들어가고 있는지, 계산 중에 문제가 없는지 확인이 필요합니다.
코드 결합에 따른 부작용:
- Hall 센서 코드와 센서리스 코드를 결합하셨다면, 두 시스템 간의 데이터 전달과 모드 전환 부분이 일관성을 유지해야 합니다.
히스테리시스를 설정하여 모드 전환의 안정성을 높이려고 하신 점은 좋은 접근이지만, 값의 범위가 적절한지도 재검토해보세요.
- Hall 센서 코드와 센서리스 코드를 결합하셨다면, 두 시스템 간의 데이터 전달과 모드 전환 부분이 일관성을 유지해야 합니다.
관련 유사한 질문 게시글을 참고하시면 도움이 될 수 있습니다.
위 링크에서 담당 강사님이 모드 전환 시 주의할 점과 안정성을 높이는 방법에 대해 설명하였습니다. 센서리스 모드를 사용할 때 필요한 튜닝 기법 그리고 RPM 관련 데이터를 확인하는 부분도 언급되어 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
CH340 전원 연결
0
21
1
주파수 응답 특성 그래프 튜닝 방식
0
21
1
USART 통신 문의
0
29
2
전동 킥보드에 사용되는 f767 고출력 모델 문의
0
32
3
MOSFET pull down 저항의 필요성
0
38
2
모터 선정 질문
0
43
2
21번 INT pin 풀업 저항
0
60
2
블루투스 핀 배열 질문
0
44
1
조언 부탁드립니다.
0
64
1
PCB 배선 연결 실수로 인한 증상 검토 요청 건.
0
55
2
ABC 상전류 측정
0
44
1
오실로스코프 측정
1
54
2
STM32CubeIDE Version 질문
0
45
2
BLDC
0
49
2
센서리스 속도제어기의 Feedback RPM에 따른 속도 진동
0
55
1
V/F 전압 제어
0
63
1
e_d_hat
0
52
2
강의 중에 스코프파형 보는 부분 혹은 DAC 출력 질문입니다.
0
55
2
데드타임에 의한 전류 파형 왜곡 (챕터82) D축 전류 진동
0
73
2
노이즈
0
83
3
Simulink
0
73
2
IF제어 모터자속과 D축 정렬에서 질문있습니다.
0
88
1
제어쟁이님의 속도제어기 응답성과 제 제어기 응당섭이 조금 다릅니다.
0
63
2
합성 코일 방향 확인 한번 해주실수 있을까요?
0
81
1





