본문 바로가기
MPINO-16A16R 산업용 아두이노 컨트롤러 — 전면 이미지

MPINO Series

MPINO-16A16R

MPINO-16A16R 산업용 아두이노 컨트롤러

I/O 한눈에 보기
16 DI / 16 Relay / 4 AI / 2 NTC / RS-485 / I²C

MPINO-16A16R은(는) ATmega128-AU 기반 산업용 아두이노 호환 PLC 컨트롤러로, 절연 디지털 입력 16점과 릴레이 출력 16점을 제공합니다. RS-485, I²C 통신 및 Modbus RTU을 지원하며 Arduino IDE로 프로그래밍합니다. DIN 레일 장착형으로 자동화, 시험, HMI 연동, 임베디드 제어에 적합합니다.

₩104,500 재고 있음
옵션 선택
상단 케이스
추가 구성 상품
함께 필요한 제품을 담으세요 (선택)
MP Download Cable — 제품 이미지 1
MP Download Cable
MP 다운로드 케이블 (USB-TTL 컨버터 내장)
₩16,500
슈퍼 캐패시터 DDL 5.5V 1F — +5V 단자에 연결하는 리드선 2개짜리 원통형 캐패시터
Super Capacitor DDL 5.5V 1F
슈퍼 캐패시터 DDL 5.5V 1F (정전유지용)
₩4,400
총 상품금액₩104,500

배송

택배 ₩3,000 · ₩50,000 이상 무료배송 (CJ대한통운)

본사 방문수령 가능

배송 계산 무게 350 g (제품 1개 기준)

발송

오후 2시 이전 주문 시 당일 발송

대량 주문은 발송이 1일 더 소요될 수 있습니다

반품 · 교환

배송 전 주문 취소 · 수령 후 반품/교환 요청 가능

주요 특징

/ FEATURES
  • ATmega128-AU 코어, Arduino IDE 및 MPINO STUDIO2로 프로그래밍
  • 옵토커플러 절연 디지털 입력 16점 (NPN/PNP, 최대 40V 허용)
  • AC/DC 무전압 접점 스위칭용 릴레이 출력 16점
  • 아날로그 입력 4점 (0–5V / 4–20mA / 0–10V 레인지)
  • NTC 온도 입력 2점 (−40 ~ +120 °C)
  • 산업용 통신: RS-485, I²C · Modbus RTU
  • DIN 레일 35mm 장착, 산업 현장용 절연 I/O

사양

/ SPEC
MCUATmega128-AU
전원 입력DC 12V ~ 24V
디지털 입력16
릴레이 출력16
아날로그 입력4
온도센서 입력2
고속펄스 입력4
고속펄스 출력3
RS-4851ch
I²C1ch
Modbus RTUYES
LS산전 CnetYES
Mitsubishi MCYES
Arduino IDE 호환YES

소프트웨어

Arduino IDE / MPINO Studio 2

Arduino IDE에서 MPINO 컨트롤러용 스케치를 편집하고 시리얼 모니터로 동작을 확인하는 화면MPINO Studio 2에서 코드와 래더 로직을 한 화면에서 편집하는 화면 — 탐색기, 코드 편집기, 래더 다이어그램

ARDUINO IDE 호환

기존 Arduino 개발 환경과 완벽 호환

MPINO STUDIO2 제공

아두이노 코딩 + 래더 로직을 하나로

ARDUINO + LADDER LOGIC

손쉬운 제어 로직 구현으로 개발 효율 향상

개발 환경 준비

ARDUINO SDK를 설치하면 Arduino IDE에 이 제품의 보드 정의가 추가되고, 산업용에서 유용하게 사용할 수 있는 함수들을 내장 명령어로 사용할 수 있습니다. 별도 라이브러리를 추가할 필요 없이 ARDUINO IDE에서 자동완성 기능과 함께 사용이 가능합니다.

SDK를 설치하면 쓸 수 있는 내장 명령어

  • PLC 타이머 · 콜백 타이머Iton · Itof · Itpl · Itmr · ItimerSet
  • 카운터Ictu · Ictd · Ictud · IgetCount
  • 스케일 · PID 제어Iscale · Iscalef · IpidSet · IpidRun
  • 선입선출 · 후입선출 버퍼FIFO · FILO
  • 입력 디바운스 · 엣지 검출Ibounce · IdigitalRead · Iup · Idown · Ialt
  • 디버그 · Watchdogdebug · debugln · WDT_ENABLE · WDT
  • Modbus RTU · LS Cnet · Mitsubishi MCImodbusRTU · ICnet · IMcProtocol
  • 아날로그 입력 · 4~20mA 보정analogRead2 · IanalogRead · IanalogFilter · ntcRead
  • PWM · 펄스 · 고속카운터PWM · FDPWM · NPWM · TCNTSETUP · TCNTOUT

ARDUINO IDE를 사용할 경우 ARDUINO SDK(아이로직스 필수설치파일)를 반드시 설치해야 합니다. MPINO STUDIO2를 사용할 경우에는 설치 없이 사용이 가능합니다.

다운로드 케이블MP DOWNLOAD CABLE

프로그램을 넣으려면 전용 다운로드 케이블이 필요합니다

이 보드의 업로드 포트는 mini 5P USB이지만, USB를 시리얼로 바꾸는 변환 회로는 보드가 아니라 케이블 쪽에 들어 있습니다. 그래서 시중에서 파는 mini 5P USB 케이블을 꽂으면 PC가 포트를 잡지 못하고 업로드도 되지 않습니다. MP 다운로드 케이블은 직접 제작하는 케이블이며 하나를 구매하시면 계속 사용이 가능합니다.

  • USB-TTL 컨버터 내장

    변환 IC가 커넥터 하우징 안에 들어 있습니다

  • 시중 mini 5P 케이블 사용불가

    일반 케이블로는 포트 인식·업로드가 되지 않습니다

  • USB-A ↔ mini 5P

    PC의 USB단자와 보드의 업로드 포트를 연결합니다.

  • 아이로직스 자체제작

    아이로직스 제품에서 사용할 수 있는 전용 케이블입니다.

케이블 구성

USB-TTL 컨버터 내장USB-TTL케이블 길이 1 mUSB-A · PCmini 5P · 보드 업로드 포트

* 변환 IC가 하우징 안에 있다는 점이 일반 케이블과 다른 점입니다. 보드 쪽은 mini 5P, PC 쪽은 USB-A이며 길이는 1 m입니다.

별도 판매 — 추가 구성 상품에서 보드와 함께 구매하실 수 있습니다.

케이블 사양

항목내용
PC 쪽USB-A 플러그
변환USB-TTL 컨버터 케이블 내장
보드 쪽USB mini 5P 플러그
길이1 m
드라이버FTDI

드라이버 설치 방법

  1. MP 다운로드 케이블로 PC의 USB 단자와 보드의 업로드 포트를 연결합니다.
  2. 장치 관리자를 열어 포트(COM & LPT) 항목에 USB Serial Port (COMx)가 표시되는지 확인합니다.
  3. 표시되지 않으면 자료실의 FTDI 드라이버를 설치한 뒤 케이블을 다시 연결합니다.
  4. 개발 도구에서 장치 관리자에 표시된 것과 같은 COM 번호를 선택하면 업로드할 수 있습니다.

디지털 입력Digital Input

16채널 디지털 입력 / 포토커플러 절연

16개의 디지털 입력 채널을 제공하여 다양한 외부 스위치 및 센서 신호를 안정적으로 감지합니다.

  • D0~D15 입력

    총 16포인트 디지털 입력 지원

  • COM0 / COM1 공통

    2개의 독립 입력 그룹 구성

  • 포토커플러 절연

    외부 노이즈로부터 제어 회로 보호

  • NPN / PNP 지원

    다양한 센서 배선 방식 호환

입력 채널 구성

D0D1D2D3D4D5D6D7+COM0D0~D7 / COM08P · 1COMD8D9D10D11D12D13D14D15+COM1D8~D15 / COM18P · 1COM

* 외부 스위치 또는 센서 연결 예시 (NPN/PNP 공통 사용)

포토커플러 절연

DxCOMx

디지털 입력은 양방향 포토커플러 절연 구조(역병렬 LED)를 적용하여 NPN 또는 PNP 신호 모두를 안정적으로 감지하며, COM0 / COM1 기준으로 16채널 입력을 안정적으로 수집합니다.

예제 코드 — 입력 읽기
void setup() {
  for (int k = 32; k <= 47; k++) pinMode(k, OUTPUT);
}

void loop() {
  for (int k = 0; k < 16; k++) {
    digitalWrite(32 + k, digitalRead(k) ? HIGH : LOW);
  }
}

릴레이 출력Relay Output

16채널 릴레이 출력 / 1a1c 릴레이

16채널 릴레이 출력을 제공하여 AC 및 DC를 사용하는 외부 부하를 안정적으로 제어할 수 있습니다.

  • D32~D47 출력

    16포인트 릴레이 접점 출력

  • 1a1c 릴레이 16

    각 출력은 릴레이 접점으로 독립 제어

  • 4출력 1COM 구조

    각 COM 단자가 4개 출력을 공유

  • 전기적 절연

    제어부와 출력부를 릴레이로 분리하여 보호

출력 채널 구성

D32D33D34D35+COM2D36D37D38D39+COM3D40D41D42D43ACCOM4D44D45D46D47ACCOM5D32~D4716P · 4P/1COM

* 외부 부하 연결 예시 (릴레이 접점 출력 방식)

릴레이 출력 구조

제어부 (MCU)출력부

각 릴레이 출력은 1a1c 릴레이로 구성되어 제어부와 출력부를 기계적으로 분리하며, 4개 출력이 1개의 COM 단자를 공유하는 4출력 1COM 구조입니다. 무전압 접점이라 AC·DC 부하를 모두 스위칭할 수 있습니다.

예제 코드 — 릴레이 출력 제어
void setup() { pinMode(32, OUTPUT); }
void loop() {
  digitalWrite(32, HIGH); delay(1000);
  digitalWrite(32, LOW);  delay(1000);
}

아날로그 입력Analog Input

4채널 아날로그 입력 / 출하 시 0(4)~20mA · 캡 제거 시 DC 0~5V

A(0)~A(3)은 상단 단자대의 일부이며 AGND와 나란히 배치됩니다. 출하 시에는 SELECT 헤더의 모든 위치에 캡이 끼워진 0(4)~20mA 전류 입력이고, 해당 채널의 캡을 제거하면 DC 0~5V 전압 입력으로 전환됩니다. DC 0~10V는 주문 시 옵션입니다.

  • A(0)~A(3) · 4채널

    10비트 분해능(0~1023) 아날로그 입력 4포인트

  • 출하 시 0(4)~20mA

    SELECT 헤더에 캡 장착 · 250Ω

  • 캡 제거 시 DC 0~5V

    채널마다 독립적으로 전환 · 200kΩ

  • 외부 기준전압

    REF3025 2.5V ±0.2%를 AREF로 공급

아날로그 입력 단자 구성

A(0)~A(3) / AGND4CH · 10BITA(0)A(1)A(2)A(3)AGND보드 내부입력 회로 → ADCGNDA(0)A(1)A(2)A(3)헤더캡핀헤더 (2핀)
아날로그 입력 A(0)~A(3)SELECT 범위 선택 캡AGND

* 실크 ANALOG INPUT의 상단 단자대 일부이며 A(0) · A(1) · A(2) · A(3) · AGND 순서로 배치됩니다. 입력 범위는 실크 SELECT 0-20mA 헤더에서 설정하고, 위치 실크는 A0 · A1 · A2 · A3이며 출하 시 네 위치 모두 캡이 끼워져 있습니다.

입력 범위 선택

입력 범위설정 방법입력 저항
0(4)~20mA캡 장착 (출하 시)250 Ω
DC 0~5V캡 제거200 kΩ
DC 0~10V주문 시 옵션 (저항 제거)400 kΩ

네 채널 모두 10비트입니다. 기준 전압은 외부 REF3025의 2.5V ±0.2%입니다. ⚠ 4~20mA 범위에서는 디지털 값이 1023이 아니라 약 818까지만 올라갑니다. 스케일 변환 시 최댓값을 818로 두십시오.

예제 코드 — 아날로그 입력 읽기
unsigned int ADC0;

void setup() {
  Serial.begin(9600);
}

void loop() {
  ADC0 = analogRead(A0);
  // Scale = (in / in_Max) * (Scale_Max - Scale_Min) + Scale_Min
  ADC0 = ((unsigned long)ADC0 * (3000 - 0)) / 1023 + 0;
  Serial.print("Analog: ");
  Serial.println(ADC0);
  delay(500);
}

온도센서 입력NTC Temperature

전용 커넥터의 NTC 온도 2채널

A(4) · A(5)에 각각 NTC 3950K 10kΩ 서미스터를 연결해 −40~120℃를 0.1℃ 단위로 읽습니다. 아날로그 입력 단자와 별개로 상단 TEMP 표기 아래 전용 2핀 커넥터 2개에 배치되며, 극성이 없어 두 선을 바꿔 꽂아도 됩니다.

  • A(4) · A(5)

    A4(D52) / A5(D53) 온도 2채널

  • NTC 3950K 10

    25℃ 기준 10kΩ · B상수 3950K

  • 40~120

    0.1℃ 분해능 (0~40℃ 기준)

  • 전용 2핀 커넥터

    아날로그 단자와 별개 · 극성 없음

NTC 온도 입력 커넥터

NTC 3950 10kΩA(4)A4 (D52)NTC 3950 10kΩA(5)A5 (D53)

* 보드 상단의 2핀 커넥터 2개로, 공통 TEMP 표기 아래에 A(4) · A(5)로 실크 인쇄되어 있습니다. 1채널당 2핀이며, NTC 입력은 극성이 없어 두 선을 바꿔 꽂아도 됩니다.

온도센서 사양

센서NTC 3950K · 10kΩ (25℃ 기준)
채널A(4) = A4 (D52) · A(5) = A5 (D53)
측정 범위−40 ~ 120 ℃
분해능0.1 ℃ (0~40℃ 기준)
풀업 저항10 kΩ 1% 내장
커넥터2핀 × 2, 보드 상단 · 극성 없음

A4 · A5는 아날로그 입력과 같은 ADC를 쓰고 외부 2.5V 기준 전압도 함께 사용합니다. 변환은 표준 스타인하트-하트 식을 사용하며 반환값은 0.1℃ 단위 정수입니다(251 → 25.1℃).

예제 코드 — NTC 온도 읽기
unsigned int Temp;

void setup() {
  Serial.begin(9600);
}

void loop() {
  Temp = ntcRead(analogRead(A4));
  Serial.print("Temp: ");
  Serial.print(Temp / 10);
  Serial.print(".");
  Serial.println(Temp % 10);   // 251 means 25.1 C
  delay(500);
}

int ntcRead(unsigned int RawADC) {
  float v = (1023.0F / (float)RawADC) - 1.0F;
  v = 10000.0F / v;
  float s = v / 10000.0F;
  s = log(s);
  s /= 3950.0F;
  s += 1.0F / (25.0F + 273.15F);
  s = 1.0F / s;
  s -= 273.15F;
  return (int)(s * 10);
}

고속 펄스 출력PWM Output

커넥터 1개에 PWM 출력 3점 / 듀티 8비트 또는 16비트

실크 PWM 커넥터에 21 · 22 · 23 세 점과 GND가 인출되어 있습니다. 각 점은 DC 0V~5V를 최대 30mA로 출력하며, 듀티는 기본 8비트이고 타이머 레지스터를 설정하면 16비트가 됩니다. 세 점 모두 Timer3으로 동작하므로 주파수를 함께 쓰고, 듀티는 각각 독립적입니다.

  • PWM 출력 3

    PWM 커넥터의 21 · 22 · 23

  • Timer3 · OC3A~OC3C

    주파수는 공유, 듀티는 독립

  • 8비트 또는 16비트

    기본 0~255, 레지스터 설정 시 0~65535

  • 0V / 5V · 30mA

    1점당 최대 30mA

펄스 출력 사양

항목비고
점수3PWM 커넥터의 21 · 22 · 23
출력 레벨LOW DC 0V / HIGH DC 5V1점당 최대 30mA
듀티 분해능8비트 (0~255)최대 16비트 (0~65535)
Timer321(OC3A) · 22(OC3B) · 23(OC3C)주파수 공유
절연비절연보드 GND 기준

analogWrite()는 21 · 22 · 23에서만 동작하며 이 보드의 다른 핀에서는 효과가 없습니다. 16비트 듀티를 위해 Timer3 레지스터를 직접 바꾸면 타이머를 공유하는 세 점 전체에 영향을 줍니다.

PWM 커넥터와 듀티

Timer3212223GND듀티 (analogWrite)25%50%75%5V0V
Timer3 (21 · 22 · 23)GND (공통 귀환)

* 실크 표기 그대로 21 · 22 · 23 · GND 순서로 그렸습니다. 커넥터의 숫자가 곧 analogWrite()에 넣는 핀 번호이며, GND는 세 점의 공통 귀환입니다.

사용 전 확인

  • 세 점과 16비트 고속 카운터가 모두 Timer3을 사용하므로 PWM 출력과 16비트 카운터는 동시에 사용할 수 없습니다. 둘 다 필요하면 인터럽트 방식으로 카운트하십시오.
  • 1점당 공급 전류는 최대 30mA입니다. 이를 넘는 부하는 릴레이 출력이나 외부 드라이버를 통해 구동하십시오.
  • 출력은 절연되어 있지 않습니다. 보드의 GND를 기준으로 하므로 별도 전원을 쓰는 부하에는 GND 공통 연결이 필요합니다.
예제 코드 — PWM 출력
void setup() {}

void loop() {
  // I(0) ON -> 50% duty on PWM 21, OFF -> output stops
  if (digitalRead(0) == 1) analogWrite(21, 127);
  else                     analogWrite(21, 0);
}

인터럽트 · 고속 카운터Interrupt · Counter

인터럽트 입력 4점과 CLK 입력을 클럭으로 쓰는 16비트 하드웨어 카운터

CLK · DIO · SCL · SDA 네 점이 외부 인터럽트 입력입니다. ISR에서 엣지를 세거나, CLK와 DIO에 2상 엔코더를 연결하거나, Timer3이 CLK 입력을 하드웨어로 세게 할 수 있습니다(16비트, 오버플로 인터럽트로 32비트까지 확장).

  • 인터럽트 입력 4

    CLK(D24) · DIO(D25) · SCL(D18) · SDA(D19)

  • 16비트 하드웨어 카운터

    Timer3을 CLK로 클럭 · 오버플로 ISR로 32비트

  • 로터리 엔코더

    A상 = CLK · B상 = DIO

  • HIGH 3V 이상 · 최소 50kHz

    DC 0~5V 입력, 최소 50kHz

인터럽트 핀 매핑

INT공유 자원
D18INT0I²C SCL · 4.7kΩ 풀업
D19INT1I²C SDA · 4.7kΩ 풀업
D24INT6CLK · Timer3 외부 클럭 · 100kΩ 풀다운
D25INT7DIO · Timer3 입력 캡처 · 100kΩ 풀다운

입력 전압은 DC 0~5V이고 HIGH는 3V 이상에서 인식하며 입력 가능 주파수는 최소 50kHz입니다. MCU에는 INT2~INT5도 있지만 RS-485와 PWM 출력이 그 핀을 사용하므로 외부로 인출되지 않습니다. 실제 처리 가능한 주파수는 ISR의 길이와 프로그램 전체 부하에 따라 달라지므로 고정값으로 보장하지 않습니다.

인터럽트 입력의 활용

고속 펄스 카운트+5VGNDCLKGND상승 엣지마다 ISR에서 카운트 증가로터리 엔코더CLKDIOCLK 엣지에서 DIO를 읽어 방향 판정

* 왼쪽은 펄스 발생기의 출력을 CLK 단자에, GND를 같은 커넥터의 GND 극에 연결한 구성으로 상승 엣지마다 ISR에서 카운트를 증가시킵니다. 오른쪽 엔코더는 두 상이 90° 어긋나 있어 CLK 엣지 시점의 DIO 레벨이 그대로 회전 방향이 됩니다.

인터럽트 커넥터

ENC / FND24CLK25DIOGND+5VI2CSCLD18SDAD19+5VGND

* 보드 좌측의 4핀 커넥터 2개이며 실크 표기 그대로 그렸습니다. ENC / FND 커넥터에는 신호 이름 대신 핀 번호가 인쇄되어 있어 24가 CLK(INT6), 25가 DIO(INT7)이고 두 점 모두 100kΩ 풀다운이 내장되어 있습니다. SCL = D18(INT0), SDA = D19(INT1)에는 4.7kΩ 풀업이 내장되어 있습니다. 7세그먼트 액세서리와 I²C도 같은 핀을 사용하므로 인터럽트를 사용하면 함께 사용할 수 없습니다.

사용 전 확인

  • 인터럽트 입력은 DC 0~5V 전용입니다. 5V를 넘는 전압이 인가되면 MCU가 소손됩니다.
  • 16비트 하드웨어 카운터와 PWM 출력 21 / 22 / 23은 모두 Timer3을 사용하므로 동시에 쓸 수 없습니다. 둘 다 필요하면 D25에서 ISR로 카운트하십시오.
  • CLK · DIO에는 안정적인 동작을 위해 외부 4.7kΩ 풀다운을 추가하는 것을 권장합니다.
  • CLK · DIO를 인터럽트로 사용하면 같은 커넥터의 7세그먼트 액세서리를 함께 쓸 수 없습니다. SCL · SDA의 I²C도 마찬가지입니다.
  • ISR 안에서는 카운트 증가만 수행하고 Serial · delay() · 부동소수점 연산은 사용하지 마십시오.
예제 코드 — 펄스 카운트
volatile unsigned int count = 0;

void setup() {
  Serial.begin(9600);
  // a rising edge on CLK (D24) calls countFunc()
  attachInterrupt(digitalPinToInterrupt(CLK), countFunc, RISING);
}

void loop() {
  Serial.println(count);
  delay(500);
}

void countFunc() {
  count++;
}
예제 코드 — 로터리 엔코더
volatile long encoderValue = 0;

void setup() {
  Serial.begin(115200);
  // CLK(24) = phase A, DIO(25) = phase B
  attachInterrupt(digitalPinToInterrupt(CLK), updateEncoder, RISING);
}

void loop() {
  Serial.print("Encoder: ");
  Serial.println(encoderValue);
  delay(500);
}

void updateEncoder() {
  if (digitalRead(DIO)) { encoderValue++; }
  else { encoderValue--; }
}
예제 코드 — 32비트 하드웨어 카운터
unsigned long HCNT3;
unsigned int _ofcH3;

void setup() {
  // Timer3 external clock on CLK (D24), rising edge
  TIMSK  = 0x01;
  TCCR3A = 0x00;
  TCCR3B = 0x07;
  TCNT3  = 0x00;
  ETIMSK = (1 << TOIE3);   // allow the Timer3 overflow interrupt
}

void loop() {
  // 16-bit counter + overflow count = a 32-bit total
  HCNT3 = ((unsigned long)_ofcH3 << 16) | TCNT3;
}

ISR(TIMER3_OVF_vect) {
  _ofcH3++;
}

통신RS-485 · I²C

RS-485 · I²C · USB 시리얼 통신 포트

RS-485는 Serial1이며 485+ · 485− · GND 나사 단자로 인출되어 1:N 멀티드롭 버스로 사용합니다. Modbus RTU는 마스터 · 슬레이브 모두 동작합니다. MAX485 트랜시버가 송수신을 자동으로 전환하므로 DE/RE 제어 핀을 다룰 필요가 없습니다. I²C는 4.7kΩ 풀업이 내장되어 RTC · 외부 EEPROM · 캐릭터 LCD 등을 연결할 수 있고, USB 포트는 업로드와 디버깅에 사용합니다.

  • RS-485 · 1채널

    Serial1 · 485+ / 485− 단자로 1:N 멀티드롭

  • Modbus RTU

    마스터 · 슬레이브 모두 동작

  • I²C · 1채널

    4.7kΩ 풀업 내장 · 1:N · RTC, EEPROM, 캐릭터 LCD

  • USB 시리얼

    UPLOAD 포트로 업로드와 디버깅

I²C · USB 커넥터

I²CSCLSDA+5VGNDUSBUPLOAD

* I²C 커넥터는 실크 I2C이며 1번 핀부터 SCL · SDA · +5V · GND 순서입니다. 같은 커넥터에서 I²C 기기의 전원도 가져올 수 있습니다. 프로그램 포트의 실크는 UPLOAD입니다.

RS-485 연결

MAX485 · Serial1485+485-GNDRS-485 연결노드 1노드 2노드 3

* 보드 하단의 3극 나사 단자대이며 485+ · 485− · GND 순서로 배치됩니다. RS-485는 멀티드롭 버스이므로 485+는 각 노드의 485+에, 485−는 각 노드의 485−에 연결합니다. 송수신 전환은 트랜시버가 스스로 하므로 스케치에서 DE/RE 제어 핀을 다룰 필요가 없습니다. RS-232나 UART가 필요하면 별매 컨버터 모듈을 사용하십시오.

통신 포트

포트용도
SerialD31(TX0) · D30(RX0)UPLOAD 포트로 업로드와 디버깅
Serial1D28(TX) · D27(RX)485+ / 485− 단자의 RS-485 · 1:N
Wire(I²C)SCL = D18 · SDA = D194핀 커넥터 · 4.7kΩ 풀업 내장

RS-485는 Serial1으로 사용하며, ±15kV HBM과 ±8kV IEC 1000-4-2 접촉 방전 ESD 보호를 갖춘 MAX485 트랜시버로 1:N 멀티드롭을 지원합니다. Modbus RTU는 마스터 · 슬레이브 모두 동작합니다. I²C도 1:N을 지원하며 RTC · 외부 EEPROM · 1602 / 2004 캐릭터 LCD 같은 액세서리를 연결할 수 있습니다. 이 보드에는 Serial2 · Serial3이 없습니다.

배선 전 확인

  • D27 · D28은 Serial1 / RS-485 전용입니다. 인터럽트나 범용 I/O로 전용하지 마십시오.
  • D18 · D19를 외부 인터럽트나 엔코더 입력으로 사용하면 I²C 통신을 함께 쓸 수 없습니다.
  • SPI는 외부 커넥터로 인출되지 않습니다. 해당 핀은 ISP 헤더 전용이므로 외부 기기는 I²C나 Serial1으로 연결하십시오.
  • RS-232나 UART가 필요하면 현장에서 트랜시버를 바꾸지 말고 별매 컨버터 모듈을 사용하십시오.
  • 업로드에는 USB-TTL 컨버터가 내장된 MP 다운로드 케이블이 필요합니다. 시중의 mini 5P 케이블로는 업로드할 수 없습니다.
  • 이 보드에는 Serial2 · Serial3이 없습니다. Serial과 Serial1만 존재합니다.
예제 코드 — 시리얼 송수신
void setup() {
  Serial.begin(9600);
  Serial1.begin(9600);   // RS-485
}

void loop() {
  while (Serial1.available()) {
    char c = Serial1.read();
    Serial1.write(c);   // echo back onto the bus
    Serial.write(c);    // and to USB for debugging
  }
}

표시장치 연결LCD · FND

캐릭터 LCD와 7세그먼트(FND)로 상태값 표시 — 둘 다 4선 배선

캐릭터 LCD는 I²C 4핀 커넥터에, 7세그먼트(FND)는 ENC/FND 4핀 커넥터에 연결합니다. 두 커넥터 모두 신호 2선과 함께 +5V·GND를 내보내므로 배선은 4선으로 끝나고, I²C 풀업은 보드에 이미 들어 있습니다.

  • 캐릭터 LCD 1602 · 2004

    I²C로 16캐릭터 2줄 또는 20캐릭터 4줄

  • 7세그먼트(FND)

    ENC/FND 커넥터의 CLK · DIO 2선 · 최대 2개

  • 4.7kΩ 풀업 내장

    I²C에 외부 저항을 붙일 필요 없음

  • I²C 1:N 연결

    DS3231 RTC 같은 액세서리와 함께 사용

캐릭터 LCD 연결 (I²C)

ILOGICSMPINO-16A16R1602 캐릭터 LCD (16 × 2)SCLSDA+5VGNDI2C

* I²C 커넥터의 실크 표기는 I2C이며 핀 순서는 SCL · SDA · +5V · GND입니다. SDA = D19, SCL = D18이고 두 신호 모두 보드에 4.7kΩ 풀업이 있습니다. 1602는 16캐릭터 2줄, 2004는 20캐릭터 4줄을 표시합니다.

7세그먼트(FND) 연결

7세그먼트(FND) 표시기24CLK25DIOGND+5VENC / FND

* 커넥터의 실크 표기는 ENC / FND이며 핀 순서는 24 · 25 · GND · +5V입니다. CLK = D24, DIO = D25입니다. 이 보드는 커넥터에 신호 이름 대신 이 핀 번호가 인쇄되어 있습니다. 이 커넥터에 1개를 연결하고 PWM 커넥터까지 사용하면 최대 2개를 연결할 수 있습니다. 표시기는 소수점을 표시하는 형식과 시간을 표시하는 형식이 있습니다.

사용 전 확인

  • D18 · D19를 외부 인터럽트로 사용하면 I²C 통신(캐릭터 LCD)을 동시에 사용할 수 없습니다.
  • D24 · D25를 외부 인터럽트나 엔코더 입력으로 사용하면 7세그먼트(FND) 표시기를 동시에 사용할 수 없습니다.
  • 두 커넥터의 신호 핀은 DC 0~5V 입력입니다. 5V를 넘는 전압을 인가하면 MCU가 손상됩니다.
  • D24는 Timer3의 외부 클럭 입력도 겸하며, 이 타이머는 PWM 커넥터의 21 · 22 · 23과 자원을 공유합니다. 표시기에 사용한 단자는 고속카운터로 동시에 쓸 수 없습니다.
  • 캐릭터 LCD와 7세그먼트 표시기는 별매 액세서리로, 제품에 포함되지 않습니다.

표시장치와 연결 커넥터

표시장치커넥터신호
캐릭터 LCD 1602I²C 4핀16캐릭터 × 2줄 · SDA = D19 · SCL = D18
캐릭터 LCD 2004I²C 4핀20캐릭터 × 4줄 · SDA = D19 · SCL = D18
7세그먼트(FND)ENC/FND 4핀CLK = D24 · DIO = D25
I²C 풀업보드 내장4.7kΩ · 1:N 연결 지원

두 커넥터 모두 신호 2선과 함께 +5V·GND가 나와 있어 표시장치에 별도 전원이 필요하지 않습니다. I²C는 4.7kΩ 풀업이 보드에 내장되어 있고 1:N 연결을 지원하므로, 캐릭터 LCD를 DS3231 RTC 같은 다른 I²C 액세서리와 같은 버스에서 함께 사용할 수 있습니다. 캐릭터 LCD와 7세그먼트 표시기는 별매입니다.

전원 · 정전유지Power · Backup

DC 12V ~ 24V 입력 · 5V 변환, 정전이 되어도 데이터 유지

본체는 DC 12V ~ 24V를 입력받아 내부에서 LM2576 레귤레이터로 5V로 변환해 사용합니다. 전원 용량은 24V 0.5A 이상으로 잡으십시오.

  • DC 12V ~ 24V

    전원 용량은 24V 0.5A 이상

  • 내부 5V 변환

    LM2576 DC-DC 변환

  • +5V 출력 1A

    전원 단자대의 +5V 단자에서 공급

  • 슈퍼 캐패시터 정전유지

    +5V 단자에 연결 시 약 10초 유지

전원 배선 전 확인

  • EEPROM은 같은 섹션 기준 약 100,000회 쓰기 수명이 있습니다. 빠르게 변하는 값은 RAM에 두고, 정전이 감지될 때만 저장하십시오(아래 두 가지 방법 참조).
  • USB 전원은 개발·시험용입니다. 현장 설치 시에는 외부 전원을 투입하십시오.

전원이 흐르는 경로

DC 12V ~ 24V24V 0.5A 이상LM2576DC-DC 5V 변환내부 5V제어 회로에 공급+5V 단자최대 1A 출력USB 5V다운로드 포트슈퍼 캐패시터약 10초 유지
전원 입력5V 라인정전유지

* 두 전원 중 어느 쪽으로도 동작합니다. 외부 전원은 레귤레이터를 거치고, 다운로드 포트의 5V는 곧바로 들어옵니다. 슈퍼 캐패시터는 같은 5V 노드에 붙어, 두 전원이 모두 없어졌을 때 그 노드를 유지합니다.

전원 · 정전유지 사양

입력 전압DC 12V ~ 24V
권장 전원 용량24V 0.5A 이상
내부 변환LM2576 DC-DC로 5V
+5V 출력전원 단자대의 +5V 단자에서 최대 1A
USB 전원 동작다운로드 포트로 컴퓨터의 5V를 받아 동작
비휘발 메모리EEPROM 4 KB · 쓰기 약 100,000회
정전 시 유지 시간+5V 단자의 슈퍼 캐패시터로 약 10초
유지 가능한 정전 횟수정전 시에만 기록하므로 100,000회 이상

전원 용량은 24V 0.5A 이상에, +5V 단자로 내보낼 전류(최대 1A)를 더해 선정하십시오.

정전 시 데이터를 유지하는 두 가지 방법

값이 얼마나 자주 바뀌는지에 따라 방법이 달라집니다. 두 가지는 함께 씁니다.

EEPROM — 가끔 바뀌는 값

내장 EEPROM은 전원이 꺼져도 4 KB의 데이터를 유지하며 바이트 단위로 쓰고 지울 수 있습니다. 다만 같은 영역 기준 쓰기 수명이 약 100,000회이므로, 설정값·캘리브레이션 데이터·설비 파라미터처럼 가끔 바뀌는 값에 적합하고 루프마다 갱신되는 값에는 적합하지 않습니다.

슈퍼 캐패시터 — 상시 변하는 값

+5V 단자에 슈퍼 캐패시터를 연결하면 메인 전원이 차단된 뒤에도 내부 5V가 약 10초간 유지됩니다. 메인 전원을 디지털 입력에 연결해 두고, digitalRead()로 그 입력이 OFF되는 순간 값을 EEPROM에 기록한 뒤 정전해지시 setup()에서 EEPROM에 저장한 값을 다시 읽어서 메모리에 기록하면 됩니다. EEPROM에 기록이 정전 순간에만 일어나므로, 100,000회 이상의 정전을 견딜 수 있습니다.

MPINO STUDIO2 — 옵션으로 간단히

MPINO STUDIO2에서는 슈퍼 캐패시터를 이용한 정전유지를 옵션으로 제공하므로, 위 절차를 직접 코딩하지 않고 설정만으로 구현할 수 있습니다.

설치 · 딘레일DIN Rail

PCB 장착홀로 나사 고정 또는 35mm 딘레일 클립 장착

보드 외형은 160.0 × 100.0 mm이며, 네 모서리 탭의 ⌀3.2 장착홀 4개(가로 143.2mm · 세로 90.0mm 피치)로 나사 고정합니다. 제어반에 설치할 때는 옵션인 레일 클립으로 35mm 딘레일에 걸어 고정할 수 있습니다.

  • 160.0 × 100.0 mm

    레일 클립 없는 PCB 외형

  • PCB 직접 장착

    ⌀3.2 장착홀로 나사 고정

  • 35mm 딘레일

    이 보드의 레일 클립은 옵션

  • 143.2 × 90.0 mm

    장착홀 피치 (가로 · 세로)

설치와 기구 치수

장착 방식PCB 직접 체결(⌀3.2 홀) / 35mm 딘레일 클립(옵션)
딘레일 규격35 mm
PCB 단독 (클립 미장착)160.0 × 100.0 mm
마운팅 홀⌀3.2 · 피치 143.2 × 90.0 mm
레일 클립옵션 · ⌀4.0 홀 · 위 7.0mm / 아래 7.2mm 돌출

이 보드의 레일 클립은 옵션이므로 기본은 PCB 직접 장착 상태로 출하됩니다. 레일에 설치하려면 별도로 지정하십시오. 클립 수치는 보드에서 돌출하는 양이며, 이 모델에는 클립 장착 시의 전체 높이 표기가 없습니다.

35mm 딘레일 장착

35 mm
딘레일 클립 (옵션)35mm 딘레일보드

* 옵션인 클립을 35mm 딘레일에 걸어 고정합니다. 체결 후 클립은 보드 위로 7.0mm, 아래로 7.2mm 돌출하며 클립 자체의 홀은 ⌀4.0입니다. 그림은 클립 자체의 형상이 아니라 장착 방식을 나타낸 것입니다.

외형과 장착홀

160.0143.2100.0장착홀 ⌀3.2

* 레일 클립을 쓰지 않을 때의 외형과 장착홀입니다. 단위는 mm입니다.

설치 시 주의

  • 실내 전용입니다. 비 · 먼지 · 서리 · 직사광 · 결로가 있는 환경에는 설치할 수 없습니다.
  • 인화성 · 폭발성 가스가 있는 환경에는 설치하지 마십시오.
  • 진동이나 충격이 많은 곳에는 설치하지 마십시오.
  • 인명이나 재산에 영향이 큰 설비(원자력 · 의료 · 선박 · 차량 · 항공 등)에 사용할 때는 반드시 2중 안전장치를 부착하십시오.

다운로드

/ FILES

자주 묻는 질문

MPINO-16A16R의 I/O 점수는 어떻게 되나요?

MPINO-16A16R은(는) 절연 디지털 입력 16점과 릴레이 출력 16점을 제공하며, RS-485, I²C 통신을 내장합니다. 전체 내역은 사양 표를 참고하십시오.

MPINO-16A16R은(는) Modbus RTU를 지원하나요?

네. MPINO-16A16R은(는) 시리얼 인터페이스에서 Modbus RTU를 지원하며, 마스터·슬레이브 모두 사용할 수 있습니다.

관련 컨트롤러

/ RELATED

관련 가이드

/ DOCS