로봇 드론 반도체, 센서에서 모터까지 이어지는 제어 루프

로봇 드론 반도체, 센서에서 모터까지 이어지는 제어 루프

카약을 타고 물살이 센 구간에 들어서면 몸이 먼저 배의 기울기를 느끼고, 곧바로 어느 쪽 노를 얼마나 세게 저을지 정합니다. 이 감지와 판단과 동작이 눈 깜짝할 사이에 되풀이되어야 배가 뒤집히지 않죠.

로봇과 드론도 같은 방식으로 균형을 잡습니다. 이 글에서 다룰 로봇 드론 반도체는 기울기를 느끼는 IMU, 계산하는 MCU, 노를 대신 젓는 모터 드라이버, 체력을 관리하는 배터리 관리 칩이 하나의 루프로 이어진 구성을 가리킵니다.

카약과 다른 점은 속도와 정밀도입니다. 사람은 초당 몇 번 반응하지만 드론의 자세 제어는 대체로 초당 수백 번 이상 돌아가고, 체력에 해당하는 배터리는 회복되지 않는 데다 전류가 몰리면 순간적으로 전압까지 떨어집니다.

로봇 드론 반도체를 하나의 제어 루프로 읽기

로봇 관절이나 드론의 프로펠러는 센서가 현재 상태를 재고, 제어기가 목표와의 차이를 계산해, 구동부가 그 차이를 줄이는 방향으로 힘을 내는 순환으로 움직입니다. 이런 순환을 되먹임(피드백) 제어라고 부릅니다.

제어 루프 한 바퀴

  1. IMU가 현재 기울기와 회전 속도를 측정합니다.
  2. MCU가 목표 자세와 비교해 오차를 계산합니다.
  3. 제어 연산 결과가 모터를 얼마나 세게 돌릴지를 정하는 PWM 신호로 바뀝니다.
  4. 모터 드라이버가 PWM에 맞춰 큰 전류를 스위칭해 모터를 돌립니다.
  5. 자세가 바뀌면 IMU가 다시 측정하며 루프가 이어지고, 배터리 관리 칩은 이 모든 전력을 공급하고 보호합니다.

이 루프가 느려지면 보정이 늦어져 기체가 흔들리거나 불안정해집니다. 그래서 한 바퀴를 정해진 시간 안에 반드시 끝내는 것이 로봇 드론 반도체 설계의 가장 기본적인 요구입니다.

가상 계산 예시, 제어 주기와 시간 예산제어 주기가 1 kHz라면 한 바퀴에 쓸 수 있는 시간은 1 ms입니다. 센서 읽기에 0.2 ms, 제어 연산에 0.3 ms, 출력 갱신에 0.1 ms가 든다면 합은 0.6 ms입니다.

남는 0.4 ms가 여유 시간입니다. 연산이 가끔 이 여유를 넘기면 그 순간 보정이 늦어지므로, 평균이 아니라 최악의 경우에도 1 ms 안에 끝나는지가 설계의 기준이 됩니다.

IMU 센서, 기울기를 느끼고 오차가 쌓이는 방식

IMU(Inertial Measurement Unit, 관성 측정 장치)는 가속도계와 자이로스코프를 한 패키지에 담은 센서이고, 지자기 센서가 함께 들어가기도 합니다. 대부분 MEMS(Micro Electro Mechanical Systems), 곧 실리콘 위에 만든 미세한 기계 구조로 만들어집니다.

가속도계는 아주 작은 질량이 스프링에 매달린 구조에서 질량이 움직인 만큼을 정전용량 변화로 읽습니다. 자이로스코프는 진동하는 질량이 회전할 때 생기는 코리올리 힘을 읽어 회전 속도를 구합니다. 두 센서는 서로 다른 약점을 가지고 있습니다.

회전 속도를 시간에 대해 쌓으면 기울어진 각도가 되는데, 이때 센서에 조금이라도 치우친 값이 있으면 오차도 함께 쌓여 시간이 갈수록 벌어집니다. 반대로 가속도계는 중력 방향을 알려 주어 장기적인 기준이 되지만 진동과 이동 가속도에 쉽게 흔들립니다.

가상 계산 예시, 자이로 치우침이 쌓이는 속도자이로 출력이 실제보다 0.1도/초만큼 치우쳐 있다고 가정합니다.

이 값을 그대로 쌓으면 60초 뒤 각도 오차는 0.1 × 60 = 6도입니다. 드론이 6도 기운 줄 모르고 있다면 한 방향으로 계속 밀려나므로, 가속도계 같은 다른 정보로 이 오차를 바로잡아야 합니다.

이렇게 두 센서의 장점을 섞어 오차를 줄이는 일을 센서 융합이라고 하며, 상보 필터나 칼만 필터 같은 계산이 흔히 쓰입니다. IMU 칩이 이 계산을 일부 대신하는 경우도 있지만, 어디까지를 센서 안에서 처리할지는 제품마다 다릅니다.

실시간 제어 MCU가 약속을 지키는 방법

실시간(Real-time) 제어란 계산 결과가 정해진 시간 안에 반드시 나와야 한다는 약속입니다. 평균이 빠른 것보다 한 번도 늦지 않는 것이 중요하다는 점에서 일반 응용 프로세서와 목표가 다릅니다.

모터 제어용 MCU에는 이 약속을 돕는 주변장치가 들어 있습니다. PWM 타이머는 소프트웨어가 개입하지 않아도 정해진 파형을 정확히 만들어 내고, ADC는 PWM 파형의 정해진 시점에 맞춰 전류를 샘플링해서 스위칭 잡음을 피합니다.

과전류 보호도 하드웨어가 맡습니다. 전류가 한계를 넘으면 소프트웨어를 거치지 않고 PWM 출력을 즉시 차단하는 회로가 있어서, 프로그램이 잠시 늦더라도 전력 소자가 타지 않게 막죠.

전류를 정밀하게 제어하는 벡터 제어(FOC, Field-Oriented Control)는 이런 하드웨어 위에서 매 주기마다 좌표 변환과 필터 계산을 반복합니다. 그래서 부동소수점 연산 유닛이나 DSP 명령을 갖춘 MCU가 흔히 쓰입니다.

모터 드라이버와 전력 소자, 전류를 켜고 끄는 일

드론의 프로펠러 모터와 로봇 관절에는 브러시 없는 BLDC 모터(Brushless DC Motor)가 널리 쓰입니다. BLDC 모터는 세 개의 상에 시간차를 두고 전류를 흘려 회전 자기장을 만드는데, 이를 위해 MOSFET 여섯 개를 짝지은 인버터 브리지가 필요합니다.

MCU의 낮은 전압 신호만으로는 큰 MOSFET의 게이트를 빠르게 충전하고 방전할 수 없습니다. 그래서 게이트 드라이버(Gate Driver)가 그 사이를 이어 주고, 같은 상의 위아래 스위치가 동시에 켜져 전원이 단락되는 일을 막으려고 두 스위치가 모두 꺼져 있는 짧은 시간, 곧 데드타임을 둡니다.

스위치를 빠르게 켜고 꺼서 평균 전압을 조절하는 방식이 PWM입니다. 예를 들어 배터리가 24 V이고 한 상의 듀티비가 50%이면 평균 전압은 약 12 V로 볼 수 있습니다(단순화한 가상 예시).

전력 소자의 손실은 크게 두 가지입니다. 켜져 있는 동안 온저항 때문에 생기는 도통 손실과, 켜고 끄는 순간 전압과 전류가 겹쳐 생기는 스위칭 손실입니다.

가상 계산 예시, 도통 손실MOSFET의 온저항이 5 mΩ이고 20 A가 흐른다고 가정합니다.

손실 전력은 전류의 제곱에 저항을 곱한 값이므로 20 × 20 × 0.005 = 2 W입니다. 드론은 방열판을 크게 달 수 없어서, 온저항이 낮은 소자를 고르거나 스위칭 주파수를 조절하는 일이 곧 비행 시간과 직결됩니다.

비전 처리와 제어를 다른 칩에 나누는 이유

카메라로 장애물을 알아보고 경로를 짜는 일은 연산량이 큰 대신 갱신 속도가 초당 수십 번 정도로 느려도 됩니다. 반면 자세와 전류를 제어하는 안쪽 루프는 훨씬 빠르게, 그리고 한 번도 늦지 않게 돌아야 하죠.

두 일은 요구하는 칩이 정반대입니다. 비전 처리는 NPU나 GPU가 들어간 SoC와 큰 메모리가 맞고, 빠른 제어 루프는 결정적인 타이밍을 보장하는 MCU가 맞습니다.

그래서 비전 SoC가 느리게 목표를 알려 주고 MCU가 그 목표를 향해 빠르게 제어하는 계층 구조가 흔히 쓰입니다. 비전 결과가 수십 ms 늦게 도착하더라도 안쪽 루프가 기체를 안정적으로 유지해 주기 때문입니다.

다만 한 칩 안에 실시간 코어와 응용 코어를 함께 넣는 이종 구성도 있어서, 칩을 나누는 것이 유일한 방법은 아닙니다. 무게와 전력이 직접 비행 시간에 영향을 주는 드론에서는 칩 수를 줄이려는 압력이 특히 큽니다.

배터리 관리 시스템, 체력을 재고 지키는 칩

배터리 관리 시스템(BMS, Battery Management System)은 셀 전압과 전류, 온도를 측정해 배터리를 보호하고 남은 양을 추정하는 장치입니다. 핵심은 전압 측정용 아날로그 프런트엔드와 전류 센서, 보호용 스위치, 이를 묶는 MCU입니다.

리튬 이온 셀은 정해진 전압 범위 안에서만 안전하게 쓸 수 있습니다. 그래서 과충전과 과방전, 과전류, 고온을 감시하고, 직렬로 이은 셀들의 전압이 벌어지지 않도록 셀마다 충전량을 맞추는 균형 회로도 BMS가 맡습니다.

남은 양을 정확히 아는 일이 생각보다 어렵습니다. 전류가 흐르면 배터리 내부 저항 때문에 전압이 내려가므로, 전압만 보고 잔량을 판단하면 부하에 따라 값이 크게 달라집니다.

가상 계산 예시, 부하 때문에 내려가는 전압셀 하나의 무부하 전압이 3.7 V이고 내부 저항이 20 mΩ인데, 드론이 급가속하며 30 A를 끌어 간다고 가정합니다.

내부 저항에서 30 × 0.02 = 0.6 V가 떨어져 단자 전압은 3.7 − 0.6 = 3.1 V가 됩니다. 전압만 보면 거의 방전된 것처럼 보이므로, 전류를 시간에 대해 쌓아 쓴 양을 세는 방식과 전압 기반 보정을 섞어 잔량을 추정합니다.

로봇 드론 반도체 블록별 비교 표

구분하는 일중요한 요구대표 반도체놓치면 생기는 문제
감지기울기와 회전 속도 측정낮은 잡음, 낮은 치우침MEMS IMU오차가 쌓여 자세 추정이 틀어짐
제어오차 계산과 PWM 생성최악의 경우에도 늦지 않는 시간실시간 제어 MCU보정이 늦어 기체가 흔들림
구동모터에 흐르는 전류 스위칭낮은 손실, 빠른 보호게이트 드라이버, 전력 MOSFET과열과 효율 저하, 소자 파손
인식카메라 영상으로 환경 파악높은 연산 효율, 낮은 무게비전 SoC, NPU느린 인식으로 회피 실패
전원배터리 측정, 보호, 잔량 추정정밀한 측정, 안전한 차단BMS용 아날로그 칩과 MCU급전류 때 갑작스러운 전원 차단

핵심 정리

로봇 드론 반도체는 센서가 재고, MCU가 계산하고, 드라이버가 전류를 스위칭하고, BMS가 전력을 지키는 하나의 되먹임 루프로 이해할 수 있습니다. 빠른 안쪽 루프는 시간을 지키는 MCU와 전력 소자가, 느리고 무거운 인식은 비전 SoC가 맡는 계층 구조가 설계의 기본 줄기입니다.

카약 비유로 돌아가면 기울기를 느끼는 감각, 노를 젓는 팔, 체력 배분이 한 몸처럼 맞아야 한다는 이야기입니다. 비유와 달리 칩에서는 평균이 아닌 최악의 응답 시간을 보장해야 하고, 배터리는 부하에 따라 전압이 흔들리는 상태에서 정확히 재야 합니다.

면접 대비 질문

면접 대비 질문드론이나 로봇 관절의 모터 구동부에 쓸 전력 소자를 고를 때 어떤 항목을 따져 보는지 설명해 보세요.

[답변 포인트] 먼저 배터리 전압과 최대 전류에 맞는 전압과 전류 정격을 정하고, 손실을 도통 손실과 스위칭 손실로 나눠 봅니다. 도통 손실은 온저항이, 스위칭 손실은 게이트 전하와 스위칭 주파수가 좌우하므로 두 값이 서로 맞바꿔지는 관계라는 점을 짚습니다. 패키지의 열 방출 능력과 기체 무게, 상하 스위치의 단락을 막는 데드타임, 과전류와 저전압 보호 기능까지 연결하면 좋고, 최종 선택은 효율과 방열, 크기와 무게 사이의 절충이라고 마무리합니다.