개요
Stepper Motor의 Holding Current 제어회로 – 2에서는 FET를 이용하여 Holding Current를 제어를 하였으나 아래와 같은 단점이 있습니다.
1. 부품이 많이 들어간다.
2. RREF 핀이 floating 될 위험이 있다.
RREF 핀이 Floating 되면 DRV8886의 기준 전류가 불안정해지며, 예기치 않은 전류 과다 혹은 동작 불능 상태가 발생할 수 있습니다.
따라서 회로 설계 시 RREF는 항상 저항을 통해 안정된 경로를 가져야 합니다.
3. 부품이 많이 들어감으로 인해 PCB에서 공간을 많이 차지 한다.
이러한 단점을 해결하기 위해 Analog Switch의 사용을 검토하였으며 이 IC를 사용하면 IC하나와 저항 하나만 소요 되므로 BOM을 획기적으로 줄일 수 있습니다.
또한 두 개의 GPIO 포트 만으로도 3개의 Path중 하나를 선택 할 수 있습니다.
Analog Switch
Analog Switch는 Texas Instrument 사의 TS5A3359를 검토하였습니다.
TS5A3359는 내부에 세 개의 FET 스위치를 포함하며, 선택된 한 채널만 COM에 연결됩니다. 각 채널은 양방향으로 신호를 통과시킬 수 있습니다.
아래는 TS5A3359의 핀 configuration과 기능입니다.

IN1과 IN2의 상태에 따라 NO0, NO1, NO2중 하나가 선택됩니다. 아래는 Function Table 입니다.

IN1과 IN2가 모두 Low가 되면 모든 경로가 끊어지므로, MCU 초기화 중 GPIO가 High-Z 상태일 때도 RREF가 Floating되지 않도록 Pull-up/Pull-down 설계가 중요합니다.
아래는 TS5A3359를 사용한 통상적인 회로도 입니다.

회로설계
아래 그림과 같이 회로 설계를 하였습니다.

R1, R2, R3는 FET회로와 동일합니다.
IN1과 IN2의 신호에 따라 세가지 저항 중 하나가 선택이 됩니다.
R4로 IN1에 Pull-Up, R5로 IN2에는 Pull-Down저항을 부착 한 것은 GPIO신호가 없을 때에도 항상 IN1=High, IN2=Low가 되도록 하여 R1이 COM과 연결 되도록 하기 위함 입니다.
즉, 전원 인가 후 MCU 초기화 전의 안정 상태를 확보하기 위함 입니다.
위와 같이 Analog Switch를 이용하면 FET 회로보다 훨씬 간결하게 Stepper Motor의 Holding Current를 제어할 수 있습니다.
DRV8886의 기준 전류는 RREF 저항값에 의해 결정되며, 이를 MCU의 두 GPIO로 제어함으로써 모터 동작 시에는 100% 전류, 정지 시에는 50% 혹은 33% 전류로 줄여 모터 발열과 전력 소모를 줄일 수 있습니다.(DRV8886의 기준 전류는 Itrip = VREF / (5 × RREF) 공식으로 결정되므로, RREF 값이 커질수록 모터 전류는 감소합니다.)
TS5A3359는 3:1 SP3T 아날로그 스위치로, IN1과 IN2 신호 조합에 따라 세 가지 저항 중 하나를 선택합니다. MCU 초기화 전에도 RREF 핀이 Floating되지 않도록 Pull-up/Pull-down 저항(R4, R5)을 추가하여 안정적인 동작을 보장하였습니다.
Texas Instrument 사의 Analog Switch인 TS5A3359의 Datasheet는 다음 사이트에서 볼 수 있습니다.
https://www.ti.com/lit/gpn/TS5A3359