본문 바로가기
정보&팁/전기 & 전자

Motor Board Firmware 개발에 필요한 내용 - 1

by 가능성의 꾸꾸 2025. 3. 18.
반응형

 

BLDC 모터를 구동하기 위해서는 모터 드라이버 보드에서 처리해야 할 필수적인 데이터들이 있다. 모터의 상태를 정확히 파악하고 제어하기 위해 다음과 같은 데이터를 고려해야 한다.


1. 홀 센서 데이터 수집

  • 홀 센서 상태 (Hall Sensor States): 3개의 홀 센서(A, B, C)의 상태 값을 읽어 현재 로터의 위치를 파악.
  • 전환 타이밍 (Commutation Timing): 홀 센서 신호를 기반으로 한 다음 상태 전환 타이밍.

2. 기본 제어 입력 데이터

  • 목표 속도 (Target Speed, RPM)
  • 목표 전류 (Target Current, A)
  • 목표 위치 (Target Position, Encoder 기반, 필요 시)
  • 가속도 / 감속도 (Acceleration / Deceleration)
  • 운전 모드 (Control Mode)
    • 속도 제어 (Speed Control)
    • 전류 제어 (Current Control)
    • 위치 제어 (Position Control, 인코더 필요)

3. 실시간 상태 데이터

  • 현재 속도 (Current Speed, RPM)
  • 현재 전류 (Current Current, A)
  • 현재 전압 (Current Voltage, V)
  • 현재 온도 (Temperature, °C)
  • 인코더 데이터 (Encoder Position, 필요 시)
  • 홀 센서 상태 (현재 홀 상태 값, 3비트 데이터)

4. PWM / FOC 관련 데이터

  • 위상 전류 (Phase Current, A)
  • 위상 전압 (Phase Voltage, V)
  • 전류 피드백 (Current Feedback from shunt resistor)
  • 백 EMF (Back EMF sensing, 센서리스일 경우)

5. 보드 통신 및 보호 기능

  • 과전류 보호 (Overcurrent Protection)
  • 과전압 보호 (Overvoltage Protection)
  • 과열 보호 (Overtemperature Protection)
  • 통신 프로토콜 (CAN, UART, SPI, I2C)
  • 에러 상태 (Error Codes, Fault Flags)

6. 제어 방식 (Field-Oriented Control or Six-Step Commutation)

  • FOC(Field-Oriented Control) 방식이라면 추가적으로 d/q축 전류(Id, Iq), 전압(Vd, Vq), 전류 벡터 방향(θ, 전자기각) 등의 데이터를 계산해야 함.
  • 일반적인 Trapezoidal 6-step Commutation 방식이라면 홀 센서 기반으로 위상 전환만 처리하면 됨.

이제 프로그래밍할 때 중요한 것은:

  1. 홀 센서 데이터를 정확히 읽고 현재 위치를 파악하는 코드 구현.
  2. PID 제어를 통한 속도 또는 전류 제어 알고리즘 구현.
  3. CAN 통신을 사용하여 메인보드와 명령/피드백 데이터 송수신.
  4. 보호 기능을 고려하여 비정상적인 상태(예: 과전류, 과열 등)를 감지하고 대응.

 

 

반응형