inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

전동킥보드로 배우는 임베디드 실전 프로젝트

전동킥보드 펌웨어 코드 분석 (1)

소형 BLDC 모터 기준 rev, fwd 차이점

해결된 질문

36

whej2886

작성한 질문수 2

0

소형 BLDC 기준으로 보았을때 rev와 fwd 부분 코드를 보면 전류 방향(U/V/W 상의 값)만 반대로 해준 것 같은데, 이렇게 하면 Hall sum의 값이 fwd일때 6 → 4 → 5 → 1 → 3 → 2 였다면 rev일때 6 → 2 → 3 → 1 → 5 → 4 인게 아닌지 질문드립니다.

 

전류의 방향을 바꾸면 각 고정자의 극이 N S 로 바껴서 Hall sum 순서가 거꾸로 되는것 같은데 어떻게 생각해야하는건지 모르겠습니다.

임베디드 stm32 hardware motordriver artwork

답변 1

1

제어쟁이

안녕하세요 제어쟁이입니다.

이 부분은 코드의 case 순서실제로 모터가 돌면서 들어오는 HallSum 순서를 분리해서 보면 이해가 쉽습니다. switch(HallSum) 안에서 case 6, case 4, case 5처럼 적혀 있는 순서는 실제 실행 순서를 의미하지 않습니다. 현재 Hall 센서에서 읽힌 값이 6이면 case 6이 실행되고, 4이면 case 4가 실행되는 구조입니다.

질문하신 것처럼 소형 BLDC가 정방향으로 회전할 때 HallSum이 6 → 4 → 5 → 1 → 3 → 2 순서로 들어온다면, 역방향으로 실제 회전할 때 HallSum 순서는 6 → 2 → 3 → 1 → 5 → 4처럼 반대로 들어오는 것이 맞습니다. 다만 이 순서는 모터가 실제로 역방향으로 움직이기 때문에 Hall 센서에서 그렇게 읽히는 입력 순서입니다. 코드가 그 순서를 만들어내는 것이 아니라, 로터가 어느 방향으로 움직이느냐에 따라 Hall 입력 순서가 결정됩니다.

현재 코드에서 phases_rev()phases_fwd()와 비교했을 때 같은 HallSum 값에 대해 U/V/W 상의 전류 방향을 반대로 걸어주고 있습니다. 예를 들어 fwd에서 HallSum이 6일 때 (0, -1, 1)을 출력한다면, rev에서는 같은 HallSum 6에서 (0, 1, -1)을 출력합니다. 즉 같은 로터 위치에서 고정자 전류 벡터를 반대로 만들어주는 구조입니다. 이렇게 하면 고정자 자속 방향이 반대로 형성되고, 결과적으로 토크 방향이 반대로 생깁니다. 그래서 모터가 역방향으로 움직이기 시작하고, 그 결과 HallSum 입력 순서도 자연스럽게 반대 순서로 들어오게 됩니다.

여기서 중요한 점은 Hall 센서는 기본적으로 고정자 전류 방향을 읽는 것이 아니라 로터 영구자석의 위치를 읽는다는 것입니다. 그래서 전류 방향을 바꾼다고 HallSum 값이 즉시 반대로 바뀌는 것이 아닙니다. 같은 로터 위치에서는 HallSum은 그대로이고, 그 상태에서 전류 방향만 반대로 걸어주면 토크 방향이 바뀝니다. 이후 로터가 실제로 반대 방향으로 회전하면서 HallSum 순서가 거꾸로 들어오게 됩니다.

정리하면, fwd/rev 차이는 “HallSum 순서를 코드에서 반대로 적는 것”이 아니라, 같은 HallSum 위치에서 어떤 방향의 전류 벡터를 걸어줄 것인가의 차이입니다. 현재 코드처럼 phases_rev()에서 phases_fwd()의 상전류 방향을 반대로 걸어주면 역방향 토크가 발생하고, 모터가 역방향으로 회전하면서 HallSum 순서도 자연스럽게 6 → 2 → 3 → 1 → 5 → 4 방향으로 들어오게 됩니다.

션트 저항 전류 측정 방법 궁금증

0

48

2

보드 단품 구매 가능 문의

0

49

2

소형 보드 기준 차동증폭기 (+)단 저항 용량 선정 이유

0

37

2

스위치 입력 - 실습 LED가 환하게 들어오지 않습니다.

0

36

2

벅컨버터 COMP핀 주파수 보상회로 계산 시 R_ESR값

0

36

2

Center Align PWM 설정 코드 질문

0

32

1

주파수 응답 특성 그래프 튜닝 방식

0

39

2

USART 통신 문의

0

43

2

전동 킥보드에 사용되는 f767 고출력 모델 문의

0

43

3

모터 선정 질문

0

54

2

블루투스 핀 배열 질문

0

51

1

PCB 배선 연결 실수로 인한 증상 검토 요청 건.

0

60

2

ABC 상전류 측정

0

49

1

전동킥보드 펌웨어 코드 분석

0

67

3

전류센싱 pwm adc 동기화 관련 질문

0

50

1

BLDC / PMSM 문의

0

58

2

쓰로틀 측정 값

0

54

1

전류 측정

0

54

1

모터 와이어링

0

58

2

키트(고출력)과 BLDC 모터가 도착했습니다.

0

74

2

소형 BLDC 모터 관련

0

71

2

PCB 구매 관련

0

56

2

PCB 레이아웃 질문

0

53

2

수업관련

0

57

2