[ADI = 알레산드로 레오나르디(Alessandro Leonardi)] 인더스트리 4.0으로 인해 먼 거리에 있는 에지에도 인텔리전스를 추가할 수 있게 됐고 10BASET1L 이더넷은 PoDL(Power over Data Line) 기능 및 높은 데이터 전송 속도, 이더넷 기반 프로토콜들과의 호환성을 앞세워 산업용 분야를 위한 길을 열어가고 있다.

이 글에서는 컨트롤러와 사용자 인터페이스를 여러 센서와 액추에이터 같은 엔드포인트들과 연결하기 위해 새로운 10BASE-T1L 이더넷 물리층 표준이 자동화 및 산업용 애플리케이션에 어떻게 통합될 수 있는지 설명한다. 이 모든 작업은 양방향 통신을 위한 표준 이더넷 인터페이스를 사용해서 할 수 있다.

10BASE-T1L은 산업용 커넥티비티를 위한 물리층 표준이다. 이는 표준 연선을 사용해 최대 1000m까지 최대 10Mbps의 데이터 전송과 전원 공급이 가능하다. 낮은 지연시간과 PoDL 기능을 통해 센서나 액추에이터 같은 디바이스들을 원격으로 제어할 수 있다. 이 글에서는 두 개 이상의 스테퍼 모터를 동기적으로 제어하는 원격 호스트로 구성된 시스템을 구현하는 방법을 설명함으로써 원거리에 대한 실시간 통신 기능을 시연해 보인다.

 

시스템 개요
<그림 1>은 이 시스템의 개략도를 보여준다. 호스트 측에서는 ADIN1100 및 ADIN1200 이더넷 PHY가 표준 링크와 10BASE-T1L 링크 사이의 변환을 담당하고 원격 측에서는 컨트롤러가 ADIN1110 이더넷 MACPHY를 사용해 이 링크와 인터페이스 한다. 이때 데이터와 명령을 교환하기 위해 오직 SPI만을 필요로 한다.

그림 1. 시스템 개요 [자료=ADI]
그림 1. 시스템 개요 [자료=ADI]

ADI의 Trinamic TMC5160 스테퍼 모터 컨트롤러 및 드라이버는 이 컨트롤러 상에서 어떤 계산도 할 필요 없이 포지셔닝을 위한 6포인트 램프(six-point ramp)를 생성할 수 있어 이를 활용해 정밀 및 동기화한 모션 제어를 달성할 수 있다.

또한 이들 디바이스들을 사용하면 마이크로컨트롤러(MCU)가 필요로 하는 주변장치, 컴퓨팅 성능, 코드 크기를 최소화할 수 있어 시장에서 판매되고 있는 다양한 MCU 제품을 사용할 수 있다. 아울러 주어진 전력 소모 범위 이내에서 전체 원격 서브시스템을 구동하는 데 필요한 전력을 데이터 라인으로부터 직접 공급받을 수 있기 때문에 오직 미디어 컨버터 보드에만 로컬 전원을 공급하면 된다.

 

시스템 하드웨어
· EVAL-ADIN1100 보드

ADIN1100 10BASE-T1L PHY와 ADIN1200 10BASE-T/100BASE-T PHY를 함께 사용해 한 물리층 표준에서 다른 물리층 표준으로 메시지를 변환한다. 이 보드는 다양한 동작 모드로 구성할 수 있다. 이 프로젝트에서는 스탠더드 모드 15(Standard Mode 15 : 미디어 컨버터)를 사용했다. 또한 EVAL-ADIN1100 보드는 미디어 변환에 필요한 기본 구성을 수행하고 진단 정보를 읽기 위한 MCU를 통합하고 있다는 점이 특징이다. 하지만 이 보드는 전송 및 수신 메시지들과 상호작용은 하지 않으며 통신에 대해 전적으로 투명하게 작동한다.

· EVAL-ADIN1110 보드
원격 디바이스에서 컨트롤러의 핵심을 이룬다. ADIN1110 10BASE-T1L MAC-PHY는 10BASE-T1L 링크를 통해 데이터를 수신하고 이것을 SPI 인터페이스를 통해 온보드 Cortex-M4 마이크로컨트롤러로 전송해 처리토록 한다. 또한 이 보드는 보드에 기능을 추가할 수 있도록 쉴드를 설치하는 데 사용될 수 있는 아두이노우노 호환 헤더를 갖고 있다.

· TMC5160 쉴드 보드
아두이노 쉴드 폼팩터를 기반으로 개발된 맞춤형 보드다. 하나의 쉴드 보드는 최대 2개의 TMC5160 SilentStepStick 보드를 지원하며 여러 개의 쉴드 보드를 적층해 제어 가능한 모터의 최대 수를 늘릴 수 있다.

그림 2. EVAL-ADIN1110, EVAL-ADIN11X0EBZ, TMC5160 쉴드 보드를 조립한 모습 [사진=ADI]
그림 2. EVAL-ADIN1110, EVAL-ADIN11X0EBZ, TMC5160 쉴드 보드를 조립한 모습 [사진=ADI]

모든 드라이버가 동일한 SPI 클럭 및 데이터 신호를 공유하지만 칩 선택 라인은 독립적으로 유지된다. 이런 구성을 통해 다음과 같은 두 가지 통신 모드가 가능하다. 먼저 칩 선택 라인들이 개별적으로 어서트되면 MCU는 예컨대 모션 파라미터를 구성하기 위해 단일 컨트롤러들과 통신할 수 있다. 그러지 않고 많은 칩 선택 라인들이 동시에 어서트되면 선택된 모든 드라이버들은 동일한 명령을 동시에 수신한다.

후자의 모드는 주로 모션 동기화 용도로 사용된다. 이 보드는 또한 StepStick 보드에 약간의 추가적인 입력 커패시턴스를 제공함으로써 모터 기동 시 전류 피크를 낮추고 정상 동작 시 전류 프로파일을 매끄럽게 한다.

이에 PoDL을 사용해 최대 2개의 NEMA17 모터로 이뤄진 전체 시스템에 전원을 공급할 수 있다(디폴트 셋업일 경우 최대 전송 전력은 24V, 12W). 또한 이 보드는 컨트롤러로부터의 위상 출력을 좀더 접근하기 쉽게 하는 스크류 단자를 사용함으로써 스테퍼 모터와의 연결을 수월하게 하는 데 사용될 수도 있다.

· 2개의 EVAL-ADIN11X0EBZ 보드
하나는 미디어 컨버터를 위한 것이고 또 하나는 EVAL-ADIN1110EBZ를 위한 것으로 시스템에 PoDL 기능을 추가하는 데 사용된다. 이 보드는 플러그인 모듈로서 평가 보드들의 MDI 프로토타이핑 헤더에 탑재할 수 있으며 데이터 라인으로부터 전원을 공급 또는 수신하도록 구성할 수 있다.

 

소프트웨어
소프트웨어 코드는 다운로드해 사용할 수 있다 : “10Base-T1L 이더넷을 활용한 원격 모션 제어” 코드를 경량화하고 통신 오버헤드를 최소화하기 위해 데이터링크 층 위쪽으로는 표준 통신 프로토콜들을 구현하지 않았다. 모든 메시지는 이더넷 프레임의 페이로드 필드를 사용해 사전에 지정된 고정 포맷으로 교환된다.

그림 3. 통신 프로토콜 포맷 [자료=ADI]
그림 3. 통신 프로토콜 포맷 [자료=ADI]

데이터는 46바이트 세그먼트들로 이뤄지는데 2바이트의 고정형 헤더와 44바이트의 데이터 필드로 구성된다. 이 헤더에는 수신한 데이터를 어떻게 처리할지 결정하는 8비트 디바이스 유형 필드와 동일한 유형의 디바이스가 여러 개 있는 경우 개별 물리 장치를 선택할 수 있는 8비트 디바이스 ID 필드가 포함돼 있다.

호스트 인터페이스는 파이썬(Python)으로 작성돼 있어 윈도우 및 리눅스 호스트와 호환이 가능하다. 이더넷 통신은 Scapy 모듈을 사용해 관리되기 때문에 이더넷 데이터 링크를 포함한 스택의 각 층에서 패킷을 생성, 전송, 수신, 조작할 수 있다.

이 프로토콜에서 정의하고 있는 각각의 디바이스 유형은 클래스가 지정돼 있다. 여기에는 교환하고자 하는 변수들을 직접 수정하는 것이 아닌 데이터를 저장할 수 있는 속성과 이러한 속성들을 수정하는데 사용할 수 있는 일련의 메소드들을 포함한다.

예를 들어 이 모션 컨트롤러의 스피드 모드에서 모션 방향을 변경하기 위해서는 방향 플래그에 0 또는 1 값을 수작업적으로 지정하는 것이 아니라 “setDirectionCW()”와 “setDirectionCCW()” 메소드를 정의하면 된다.

또한 각각의 클래스는 “packSegment()” 메소드를 포함하는데 이 메소드는 제어하고자 하는 디바이스에 대응하는 세그먼트를 해당 디바이스 유형에 미리 정해진 포맷에 따라서 바이트(byte) 어레이 형태로 패킹하고 반환한다.

펌웨어는 ChibiOS 환경을 사용해서 C로 작성됐다. ChibiOS 환경은 여타 툴들 중에서 실시간 운영체제(RTOS), 하드웨어 추상화층(HAL), 주변장치 드라이버들을 포함해 유사한 마이크로컨트롤러들 간에 코드를 손쉽게 이식할 수 있다.

이 프로젝트는 다음과 같은 3개의 맞춤형 모듈을 기반으로 한다.

· ADIN1110.c : SPI 인터페이스를 통해서 ADIN1110과 데이터와 명령을 교환할 수 있도록 하기 위해 사용되는 드라이버다. 이 드라이버는 디바이스 레지스터로부터 데이터를 읽고 쓰기 위한 로우 레벨의 통신 함수들과 이더넷 프레임을 전송 및 수신하기 위한 하이 레벨의 함수들을 포함한다. 또한 10BASE-T1L 트랜시버들 사이에 통신을 구축하는 데 사용되는 함수들도 포함하고 있다. 새로운 프레임을 활용할 수 있는지 여부를 알려주는 핀은 지연시간을 최소화하기 위해 인터럽트 형태로 읽혀진다.

그림 4. 펌웨어 플로우차트 [자료=ADI]
그림 4. 펌웨어 플로우차트 [자료=ADI]

· TMC5160.c : TMC5160 모션 컨트롤러를 제어하는 데 필요하고 완전한 기능의 모션 컨트롤러 모드로 동작하도록 구성하는 모든 함수들을 구현하고 있다. 고정 속도 모드와 위치 제어 모드를 모두 구현하고 있어 6포인트 램프를 사용해 매끄럽고 정밀한 포지셔닝을 가능하게 한다. 개별 칩 선택 라인들을 가진 단일 SPI 버스를 통해 여러 모션 컨트롤러들과 통신이 가능하다. 또한 모션 동기화를 용이하게 하는 일련의 함수들과 typedefs를 제공한다.

· Devices.c : T1L 링크로부터 수신된 데이터와 컨트롤러에 연결된 물리적 디바이스 사이의 인터페이스다. 이는 호스트 인터페이스에 정의돼 있는 것과 유사한 구조체들과 유효한 데이터를 담고 있는 새로운 프레임이 수신될 때마다 그것들을 업데이트하기 위한 함수들을 포함하고 있다. 또한 이 모듈을 사용하면 어떤 구조체가 업데이트될 때마다 어떤 동작을 실행할지 지정할 수 있다. 예를 들어 특정 디바이스 어드레스에 수신된 명령이 어느 물리적 모션 컨트롤러와 관련된 것인지 지정할 수 있다.

 

시스템의 특징과 검증
이 프로젝트는 컨트롤러와 사용자 인터페이스를 여러 센서와 액추에이터 같은 엔드포인트들과 연결하기 위해 새로운 10BASE-T1L 이더넷 물리층 표준이 자동화 및 산업용 애플리케이션에 어떻게 통합될 수 있는지 보여주기 위한 것이다.

이런 애플리케이션은 산업 분야에서 저전력 자동화 작업은 물론 경량 로봇과 CNC 머신(데스크톱 3D 프린터, 데스크톱 밀링 머신, 그 밖에 다른 카르테시안 플로터 등에 폭넓게 사용되는 여러 개의 스테퍼 모터에 대한 실시간 원격 제어를 겨냥하고 있다. 이 애플리케이션의 활용 사례는 또 다른 형태의 액추에이터와 원격 제어 장비들로도 확대될 수 있다.

이 시스템은 비슷한 용도로 사용되고 있는 기존 인터페이스보다 다음과 같은 이점을 제공한다.

· 단일 연선 사용으로 배선 간소화 : 데이터 라인을 통해 전원 공급이 가능해 센서 같은 저전력 디바이스를 이 연결로부터 직접 구동할 수 있으며 나아가 필요한 배선과 커넥터 수를 더욱 줄일 수 있어 전체 시스템의 복잡성, 비용, 무게를 낮출 수 있다.

· PoDL 표준을 사용한 전원 공급 : 데이터 라인에 DC 전압을 얹어서 네트워크에 연결된 디바이스들에 전원을 공급할 수 있다. 오직 수동 소자들만을 사용해서 이러한 유형의 결합을 이룰 수 있으며 일단 수신기 단에서 전압 필터링이 이뤄지면 정류 절차 없이 곧바로 디바이스나 DC-DC 컨버터에 전원을 공급할 수 있다.

이런 유형의 결합에 사용되는 소자들을 적절히 선택하기만 한다면 고효율 시스템을 달성할 수 있다. 이 프로젝트는 평가 보드에 탑재된 표준 소자들을 사용해서 전반적으로 약 93%의 효율을 달성했다(24V 전원을 사용하고 총 부하 전류는 200mA). 이 같은 결과 또한 개선의 여지가 큰 편으로 대부분의 손실이 전원 경로상의 수동 소자들의 저항성 강하로 인한 것이다.

· 라스트 마일과 엔드포인트 연결 모두에 사용할 수 있는 다재다능성 : 아나로그디바이스의 10BASE-T1L 디바이스들은 최대 1.7km의 거리까지 테스트를 통과했다. 또한 시스템 복잡성에 영향을 적게 미치면서 데이지 체인 연결이 가능하다. 일례로 설계 복잡성을 낮추는 2포트 스위치 제품인 ADIN2111을 사용하면 데이지 체인 기능을 갖춘 디바이스 설계가 가능해 해당 링크를 엔드포인트 망에 적합하게 만들 수 있다.

· 데스크톱 및 노트북PC와 같이 이미 이더넷 컨트롤러를 내장하고 있는 기존 장비들과의 손쉬운 인터페이스 : 데이터 프레임은 이더넷 데이터링크 표준을 따르며 이 위로 모든 이더넷 호환 프로토콜들을 구현할 수 있어 표준 이더넷 링크와의 브리지로서 미디어 컨버터만 추가로 요구된다. 예컨대 이 프로젝트에 사용된 보드인 EVAL-ADIN1100을 투명한 미디어 컨버터를 위한 레퍼런스 디자인으로 사용할 수 있는데 이때 2개의 이더넷 PHY와 구성 및 디버깅 용도의 마이크로컨트롤러(옵션)만 추가로 필요하다.

· 전이중(full duplex), 최대 10Mbps에 이르는 높은 데이터 레이트 : 산업용 이더넷 기반 프로토콜들을 구현해 올릴 수 있는 데이지체인 토폴로지와 결합할 경우 균일한 전송 지연시간이 요구되는 실시간 애플리케이션에 활용할 수 있다.

· 트랜시버와 미디어 사이의 절연 : 애플리케이션의 안전성과 강건성 요구 사항에 따라 용량성 결합 또는 자기 결합을 통해 절연을 달성할 수 있다.

이 시스템의 성능을 평가하기 위해 다양한 측정을 실시했다. ADIN1110 트랜시버 및 TMC5160 컨트롤러와의 통신을 위해 사용되는 모든 주변 장치들은 표준 하드웨어 구성을 통해 달성할 수 있는 최대 속도로 구성됐다.

그림 5. 전원 경로 개략도 [자료=ADI]
그림 5. 전원 경로 개략도 [자료=ADI]

해당 마이크로컨트롤러의 시스템 클럭이 80MHz인 점을 고려해 모션 컨트롤러를 위해서는 SPI의 데이터 레이트를 2.5MHz로 설정하고 ADIN1110 트랜시버를 위해서는 20MHz로 설정했다. TMC5160의 경우 마이크로 컨트롤러 클럭 설정을 조절하고 이 IC에 외부 클럭 신호를 제공함으로써 SPI 주파수를 최대 8MHz까지 더 높일 수 있는 데 반해 ADIN1110은 데이터 시트 상의 최대 한계가 25MHz다.

지연시간을 보면 데이터 요청을 한 시점과 응답 프레임을 수신한 시점 사이의 총 시간이 약 4ms로 평가됐다. 이는 500개 샘플에 대해 와이어샤크 프로토콜 분석기를 사용해 데이터 요청 타임스탬프와 응답 타임스탬프 사이의 차이를 계산한 평균값이다. 시스템의 어느 부분이 이 지연의 원인인지 파악하기 위한 추가적인 평가도 실시했다.

이 결과에 따르면 주된 원인은 RTOS가 제공하는 지연 기능인 것으로 나타났다. 이는 최소 1ms의 지연을 허용하는데 TMC5160의 쓰기 동작과 읽기 동작 사이의 간격을 설정하기 위해 사용된 것이다. 그런데 요구되는 지연시간은 수십 나노초(ns) 수준이다. 이러한 지연은 더 짧은 지연 간격을 허용하는 다른 타이머 기반 지연 기능을 정의함으로써 향상할 수 있을 것이다.

[자료=ADI]
[자료=ADI]

이 지연의 두 번째 원인은 프레임을 수신하는 데 사용되는 Scapy 함수로서 이는 함수를 호출한 후에 3ms의 최소 셋업 시간을 필요로 한다. 실제 애플리케이션에서는 Scapy 같은 써드파티 툴이 아니라 운영체제의 네트워크 어댑터 드라이버를 사용해 직접 인터페이스를 개발함으로써 이 지연을 향상할 수 있다. 하지만 이 방법은 다른 운영 체체들과 호환이 불가능해지고 코드 복잡성이 높아진다는 단점이 있다.

GPIO를 토글하고 오실로스코프로 하이 기간을 측정함으로써 마이크로컨트롤러에 구현된 콜백의 정확한 실행 시간을 측정했다. 이렇게 측정한 실행 시간은 수신된 프레임을 읽고 파싱하고 모션 컨트롤러로 명령을 전송하기 위해 사용된 함수들을 포함한다.

PoDL을 사용해서 원격 디바이스에 전원을 공급할 때 전송 경로를 따른 전력 손실을 평가하기 위한 측정들도 실시했다. 모션 컨트롤러 쉴드 보드를 전자 부하로 교체하고 0.1A부터 0.5A까지 100mA 간격으로 다양한 전류값을 설정해서 테스트를 실시했다. 이를 통해 어떤 소자들이 전력 손실에 중대하게 영향을 미치는지 알 수 있으며 이 결과에 따라서 더 높은 전류 정격을 달성하도록 설계를 개선할 수 있다.

이 결과를 보면 브리지 정류기와 쇼트키 다이오드 D2가 전력 손실의 주된 요인이라는 것을 알 수 있다. 두 소자 모두 역극성 보호에 사용되는 것이다. 이 소자들을 MOSFET 트랜지스터와 아이디얼 다이오드 컨트롤러에 기반한 유사 회로로 교체함으로써 이러한 보호 기능을 유지하면서 더 높은 효율을 달성할 수 있다.

그림 6. 각 수동 소자의 전류에 따른 전력 손실 [자료=ADI]
그림 6. 각 수동 소자의 전류에 따른 전력 손실 [자료=ADI]

전류값이 높을수록 손실에 있어서 입력 및 출력 필터링에 사용되는 결합 인덕터의 DC 저항의 비중이 커지기 때문에 전류 용량을 높이기 위해서는 더 높은 전류 정격의 비슷한 인덕터를 사용해야 한다.

이처럼 인더스트리 4.0은 인텔리전트 자동화의 한계를 끌어올리고 있다. ADIN1100, DIN1110, 10BASET1L 트랜시버들과 함께 ADI Trinamic 기술을 사용하면 에지에 전원을 공급하지 않고도 컨트롤러로부터 최대 1700m 멀리 떨어져 있는 센서와 액추에이터들을 원격으로 제어할 수 있다.

신뢰성 높은 원격 제어를 구현함으로써 성능이나 속도 저하를 일으키지 않으면서 스테퍼 모터를 보다 먼 거리에서도 손쉽게 실시간으로 제어할 수 있다. 이런 시스템 솔루션은 전례 없는 응답 시간과 극대화된 성능을 통해 산업용 분야에 일대 변화를 가져올 것으로 기대된다.

회원가입 후 이용바랍니다.
개의 댓글
0 / 400
댓글 정렬
BEST댓글
BEST 댓글 답글과 추천수를 합산하여 자동으로 노출됩니다.
댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글수정
댓글 수정은 작성 후 1분내에만 가능합니다.
/ 400
내 댓글 모음
저작권자 © 테크월드뉴스 무단전재 및 재배포 금지