Skip to content
RFrftools.io
Motor2026년 2월 27일11분 읽기

DC 모터 제어: PWM, 드라이버 및 인코더 설명

PWM으로 DC 모터를 제어하기 위한 완벽한 가이드: 적합한 H-브리지 드라이버 선택, MOSFET 크기 조정, 인코더로 루프 닫기

목차

소개

DC 모터 속도를 변경하기 위한 다양한 전압은 종이에서 간단하게 들립니다.실제로는 명판 등급보다 10배 이상 급증할 수 있는 돌입 전류, 공급 전압에 맞서는 역기전력, 부하가 지속되는 동안 잠입하게 되는 열 제한, 피드백 루프가 필요한 위치 정확도 요구 사항 등을 모두 다루고 있습니다.이 가이드는 제어 스택의 각 부분을 자세히 설명하므로 내부에서 어떤 일이 벌어지고 있는지 실제로 이해할 수 있습니다.


DC 모터 모델

브러시드 DC 모터는 단순한 저항이 아닙니다. 전기자 저항, 인덕턴스 및 전압원 (백EMF) 이 모두 함께 작동합니다.회로 모델은 다음과 같습니다.

Vsupply=IaRa+LadIadt+VemfV_{supply} = I_a R_a + L_a \frac{dI_a}{dt} + V_{emf}
역기전력은 샤프트 속도에 비례합니다:Vemf=KeωV_{emf} = K_e \cdot \omega.토크는 전류 (T=KtIaT = K_t \cdot I_a) 에서 비롯됩니다.이러한 상수KeK_eKtK_t상수는 보통 데이터시트의 어딘가에 숨겨져 있는데, 종종 혼용된 형태로 되어 있어 소리를 지르고 싶어집니다.

모터가 정상 상태에 도달하고 인덕터가 더 이상 작동하지 않으면 방정식이 단순해집니다.

ω=VsupplyIaRaKe\omega = \frac{V_{supply} - I_a R_a}{K_e}
이렇게 하면 부하가 걸린 모터의 속도가 느려지는 이유를 알 수 있습니다.IaRaI_a R_a용어는 유효 전압에 영향을 미칩니다.5A부터 0.5Ω까지 끌어올리는 모터는 바로 그 자리에서 2.5V를 잃게 되는데, 이는 곧 속도 손실로 이어집니다.

DC 모터 속도 계산기 를 사용하여 이러한 관계를 분석하여 전기자 저항과 부하 전류가 최종 RPM에 어떤 영향을 미치는지 확인해 보세요.

PWM 기초

PWM (펄스폭 변조) 은 1985년처럼 직렬 저항기에서 전력을 소모하지 않고 모터 전압을 제어하는 방법입니다.전원 공급 장치를 빠르게 켜고 끌 수 있습니다. 모터의 인덕턴스가 펄스를 평활화하여 유효 DC 전압으로 전환합니다.

Veff=D×VsupplyV_{eff} = D \times V_{supply}
여기서DD은 0부터 1까지의 듀티 사이클입니다.12V에서 75% 의 방전율을 가동하면 9V 효과를 얻을 수 있습니다.계산은 간단하지만 주파수 선택은 대부분의 사람들이 생각하는 것보다 더 중요합니다.

빈도장점단점
1—5 kHz스위칭 손실이 적고 구현이 쉬움신호음이 당신을 미치게 만듭니다
20—50kHz조용한 작동, 우수한 효율성적당한 스위칭 손실
> 100kHz번개처럼 빠른 과도 응답악몽이 된 EMI, 스위칭 손실 증가
경험상: 일반적인 브러시드 DC 모터의 경우 20—25kHz를 사용하는 것이 좋습니다.가청 범위보다 높고 (짜증나는 징징거리는 소리 없음), 스위칭 손실은 적당히 유지되며, 대부분의 마이크로컨트롤러 타이머는 이를 쉽게 처리할 수 있습니다.엔지니어들은 속도가 빠를수록 좋다고 생각하며 100kHz로 전환한 다음 방사형 EMI를 디버깅하고 게이트 드라이버 링잉을 처리하는 데 몇 주를 허비하는 것을 본 적이 있습니다. PWM 듀티 사이클 계산기 를 사용하면 유효 전압을 계산하고 드라이버가 고장나기 전에 스톨 전류가 어떻게 보일지 추정할 수 있습니다.

H-브리지 드라이버

양방향 제어에는 모터 단자의 극성을 바꿀 수 있도록 4개의 스위치가 배열된 H-브리지가 필요합니다.이름은 문자 그대로 H처럼 보이는 회로 토폴로지에서 유래했습니다.

디스크리트 vs. 인티그레이티드

특별한 이유가 없는 한 DRV8833, TB6612 또는 L298N 같은통합 드라이버를 사용하는 것이 좋습니다.데드 타임 삽입 (하이사이드 및 로우사이드 MOSFET을 통해 전원 공급이 단락되지 않음), 과열 시 전원 차단 및 과전류 보호를 처리합니다.L298N 모델은 오래되어 비효율적이지만 사실상 파괴가 불가능합니다. 학습용으로는 좋지만 배터리로 구동되는 프로젝트에는 적합하지 않습니다.

디스크리트 MOSFET은 심각한 전류를 공급해야 하거나 최대 효율을 원할 때 적합합니다.게이트 드라이버 (하이사이드 부트스트랩 회로는 디버그하기 재미있음), 슈트 스루를 방지하기 위한 신중한 PCB 레이아웃, 제어 코드의 적절한 데드 타임 관리가 필요합니다.하지만 효율성이 향상되는 것은 사실입니다. 개별 설계는 95% 이상에 달할 수 있지만 L298N 모델은 70% 이상을 돌파하는 데 어려움을 겪을 수 있습니다.

MOSFET 선택

H-브리지용 MOSFET을 선택할 때는 네 가지 사양이 중요합니다.

  1. VDSV_{DS} — 여유를 두고 공급 전압을 초과해야 합니다.VDS1.5×VsupplyV_{DS} \geq 1.5 \times V_{supply}를 시작점으로 사용하십시오.과도현상과 유도성 스파이크는 그렇지 않을 수 있습니다.
  1. IDI_D — 정격 전류뿐만 아니라 최대 돌입 전류도 처리해야 합니다.ID1.5×IinrushI_D \geq 1.5 \times I_{inrush}이상을 적용하십시오.이 돌입 전류는 정상 상태 값의 10배일 수 있습니다.
  1. RDS(on)R_{DS(on)} — 낮을수록 좋습니다.이에 따라 전도 손실이 결정됩니다.10mΩ 대 50mΩ의 MOSFET은 고전류에서 큰 차이를 만듭니다.
  1. QgQ_g — 게이트 충전은 스위칭할 수 있는 속도와 게이트 드라이버가 소비하는 전력량을 결정합니다.고주파 PWM의 경우 낮을수록 좋습니다.
MOSFET당 전도 손실은 다음과 같이 계산됩니다.
Pcond=I2×RDS(on)×DP_{cond} = I^2 \times R_{DS(on)} \times D
여기서DD은 특정 스위치가 켜져 있는 듀티 사이클입니다.하이사이드 손실과 로우사이드 손실은 상호 보완적인 듀티 사이클에서 전도되기 때문에 다릅니다. H-브리지 선택 계산기 를 사용하면 피크 전류 요구 사항과 최소 MOSFET 정격을 계산할 수 있습니다.모터 드라이버 전력 계산기 를 사용하여 총 전력 손실을 추정하고 히트싱크가 필요한지 확인하십시오.

돌입 전류 및 시동 전류

사람들을 사로잡는 것은 고정식 모터에 처음 전압을 가할 때 역기전력이 0이라는 것입니다.작은 전기자 저항을 제외하고는 인가 전압에 반대되는 것은 없습니다.초기 전류는 다음과 같습니다.

Iinrush=VsupplyRaI_{inrush} = \frac{V_{supply}}{R_a}
전기자 저항이 0.5Ω 인 모터가 12V에서 작동한다고 가정해 봅시다.돌입 전류는 24A입니다. 모터의 명판에는 2A 연속이라고 적혀 있지만 말입니다.이는 12배의 배율입니다.운전자는 마법의 연기가 나지 않도록 이 문제를 해결해야 합니다.

실제로 효과가 있는 완화 전략:
  • PWM 듀티 사이클을 소프트 스타트 — 0% 에서 100~500ms 이상 목표값으로 전환합니다.간단하고 효율적이며 코드 몇 줄만 투자하면 됩니다.
  • 전류 제한 컨트롤러 사용 — DRV8434 같은 부품에는 피크 전류를 자동으로 제한하는 전류 차단 기능이 내장되어 있습니다.
  • H-브리지 크기를 정격 전류가 아닌 돌입 전류에 맞게 조정하십시오 — 이는 타협할 수 없습니다.신뢰성을 원한다면 2A 모터의 경우 20-30A 지원 드라이버가 필요합니다.
대부분의 엔지니어는 소프트 스타트를 건너뛰고 왜 드라이버가 계속 죽는지 궁금해합니다.그런 엔지니어가 되지 마세요.

폐루프 제어용 인코더

개방형 루프 PWM 제어는 정확한 속도나 위치에 신경 쓰지 않는 팬, 펌프 및 기타 애플리케이션에 적합합니다.로보틱스, CNC 등 위치 제어 등 정밀도가 필요한 순간에는 엔코더의 피드백이 필요합니다.

인코더 유형

옵티컬 인크리멘탈 엔코더는 슬롯형 디스크와 포토 인터럽터를 사용하여 AB 직교 펄스를 생성합니다.회전당 100~10,000펄스 (PPR) 를 사용할 수 있는 가장 일반적인 유형입니다.신호는 깨끗하고 해상도는 좋지만 먼지나 진동을 싫어합니다. 마그네틱 엔코더는 홀 효과 센서와 자화 링을 사용합니다.오염과 충격에 훨씬 더 강합니다.산업용 모터 및 자동차 애플리케이션에서 이러한 제품을 찾을 수 있습니다.해상도는 일반적으로 광학보다 낮지만 광학 인코더가 즉시 작동하지 않을 수 있는 환경에서는 견딜 수 있습니다. 앱솔루트 엔코더는 실제 샤프트 위치를 디지털 워드로 출력하므로 카운팅할 필요가 없으며 전원을 켠 후 원점 복귀 시퀀스가 필요하지 않습니다.비용이 많이 들고 대부분의 프로젝트에서는 무리가 따르지만 망원경 마운트나 산업용 로봇과 같은 다회전 위치 추적에는 필수적입니다.

쿼드러처 디코딩

두 채널 A와 B는 90° 위상 차이가 납니다.두 채널 모두에서 상승 및 하강 에지를 모두 관찰하면 기본 PPR의 4배 해상도를 얻을 수 있습니다.

CPR=4×PPR\text{CPR} = 4 \times \text{PPR}
1000 PPR 엔코더는 회전당 4000 카운트를 제공하며, 이는 0.09°의 각도 분해능에 해당합니다.회전 방향은 채널이 어느 채널로 이어지는지에 따라 결정됩니다. A가 B를 이끌면 앞으로 가고, B가 A를 이끌면 뒤로 갑니다.

대부분의 마이크로컨트롤러에는 이를 자동으로 처리하는 하드웨어 쿼드러처 디코더 주변 장치가 있습니다.인터럽트가 있는 소프트웨어에서 이 작업을 시도하면 수천 RPM 이상에서는 카운트가 누락되기 시작합니다.

인코더 해상도 계산기 를 사용하여 카운터가 처리해야 하는 실제 CPR, 각도 해상도 및 최대 펄스 주파수를 알아낼 수 있습니다.

PID 속도 제어

실제 샤프트 속도를 알려주는 인코더 피드백이 있으면 PID 컨트롤러로 루프를 닫을 수 있습니다.전형적인 PID 방정식:

u(t)=Kpe(t)+Kie(t)dt+Kdde(t)dtu(t) = K_p e(t) + K_i \int e(t)\,dt + K_d \frac{de(t)}{dt}
여기서e(t)=ωsetpointωmeasurede(t) = \omega_{setpoint} - \omega_{measured}은 속도 오류입니다.

비례 항인KpK_p항은 오류에 비례하여 즉각적인 응답을 제공합니다.적분항KiK_i항은 시간이 지남에 따라 오차가 누적되어 정상 상태 오차를 제거합니다.도함수 항KdK_d항은 변화율에 반응하여 진동을 약화시킵니다.이 세 가지가 서로 잘 어울리게 만드는 것은 과학이라기보다는 예술에 가깝습니다.

지글러-니콜스 튜닝

지글러-니콜스는 오픈 루프 스텝 응답을 기반으로 한 실용적인 출발점을 제공합니다.완벽하진 않겠지만 무작정 추측하는 것보다는 낫습니다.

1.스텝 입력 (예: 0% 에서 50% PWM으로 점프) 을 적용하고 모터의 속도 응답을 측정합니다. 2.공정 이득KK, 데드 타임LL, 시간 상수τ\tau등 세 가지 파라미터를 추출합니다. 3.초기 PID 게인 계산: -Kp=1.2τ/(KL)K_p = 1.2\tau / (K \cdot L)-Ki=Kp/(2L)K_i = K_p / (2L)-Kd=Kp×0.5LK_d = K_p \times 0.5L이것들이 최적은 아니지만 야구장에서 당신을 데려다 줄 것입니다.거기서부터 경험적으로 튜닝하세요. 진동이 생길 때까지KpK_p증가시키다가 50% 로 되돌아간 다음KiK_iKdK_d을 취향에 맞게 조정하세요.

PID 튜닝 계산기 는 측정된 스텝 응답 파라미터로부터 초기 게인을 계산합니다.이렇게 하면 손으로 계산을 하거나 오전 2시에 산술 오류를 범하지 않아도 됩니다.

열 관리

모터는 저항 손실로 인해 권선에서 열을 발생시킵니다:P=I2RaP = I^2 R_a.드라이버는 MOSFET의 전도 손실로 인해 열을 발생시킵니다:P=I2RDS(on)P = I^2 R_{DS(on)}.너무 뜨겁게 오래 달리면 열 감소 또는 완전한 고장이 발생할 수 있습니다.

작동 온도는 다음과 같습니다.

Tmotor=Tambient+Ploss×RθT_{motor} = T_{ambient} + P_{loss} \times R_{\theta}
여기서RθR_{\theta}은 모터 케이스에서 주변 환경까지의 열 저항입니다.데이터시트에는 일반적으로 이 수치가 나와 있습니다. 또는 알려진 전력으로 모터를 작동시키고 열전쌍으로 온도 상승을 확인하여 경험적으로 측정할 수 있습니다.

사람을 괴롭히는 것은 다음과 같습니다. 구리 권선 저항은 °C당 약 0.39% 의 온도에 따라 증가합니다. 주변 온도보다 50°C 더 뜨거운 모터는 권선 저항이 약 20% 더 높습니다.즉, 동일한 전류에서 토크가 줄어들기 때문에 토크를 유지하기 위해 더 많은 전류가 필요하므로 더 많은 열이 발생합니다.온도 한계에 가까워지면 악순환이 일어납니다.

데이터시트에서 모터의 열 경감 곡선을 확인하세요.대부분의 모터는 케이스 온도가 100°C 전후로 떨어지기 시작하여 완전히 150°C 낮아집니다. 고부하에서 연속 운전을 하려면 강제 공랭식이나 더 큰 모터가 필요합니다.


요약

DC 모터 제어를 올바르게 하려면 전체 시스템을 이해해야 합니다.

1.모터를 올바르게 모델링하십시오V=IR+KeωV = IR + K_e\omega을 사용하여 무부하 사양뿐만 아니라 부하 시 속도와 전류를 예측할 수 있습니다. 2.현실에 맞게 드라이버 크기 조정 — 명판 정격이 아닌 돌입 전류 (정격 전류 5~10배) 에 맞게 설계 3.PWM 주파수를 신중하게 선택하십시오 — 20—25kHz는 대부분의 애플리케이션에서 정숙성과 효율성을 위한 최적의 지점에 도달합니다. 4.정밀도가 필요한 경우 피드백 추가 — 쿼드러처 엔코더는 4배 해상도와 방향 감지 기능을 제공합니다. 5.PID 컨트롤러 튜닝 — 지글러-니콜스로 시작한 다음 실제 시스템 응답을 기반으로 미세 조정하세요. 6.열 한계를 무시하지 마십시오 — 최대 부하가 아닌 최대 연속 부하에서의 모터 및 드라이버 온도 계산

작동하는 모터 제어 시스템과 안정적으로 작동하는 모터 제어 시스템의 차이는 이러한 세부 사항을 적절하게 처리하는 데 달려 있습니다.최악의 상황에 대비하여 모든 제품의 크기를 조정하고, 마진을 추가하고, 생산에 착수하기 전에 극한 온도에서 테스트하십시오.

관련 기사