====== MPAINO 아날로그 출력 Y모듈 ====== Y모듈은 MCU의 PWM을 평활하여 직류 전압 또는 전류 신호로 출력하는 MPAINO 옵션 모듈입니다. 한 모듈은 3채널이며 선택한 구성으로 조립되어 출고됩니다. 출력 형태는 채널별 DIP 스위치와 사용할 단자에 따라 달라집니다. 프로그램의 출력 채널 번호만 바꾸어 전압ㆍ전류 범위를 선택하는 방식이 아닙니다. {{ :products:mpaino-y-signal.svg?1000 |Y모듈의 PWM 평활, DIP 설정, V+ㆍI+ㆍ마이너스 출력 관계 }} ===== 제품 사양 ===== {{:products:mpaino-option-y-front.png?220|Y 아날로그 출력 모듈 전면}} ^ 항목 ^ 내용 ^ | 옵션 코드 | Y, Y2, Y3, Y4 | | 모듈당 출력 | 3채널 — CH0~CH2 | | 출력 방식 | PWM 평활에 의한 직류 전압ㆍ전류 | | 전압 범위 | 채널별 DIP에 따라 DC 0~5V 또는 0~10V | | 전류 범위 | DC 0~10mA 또는 0~20mA; 해당 범위에서 프로그램으로 2~10mA 또는 4~20mA 스케일 사용 | | 분해능 | 16bit | | 정밀도 | ±0.5% 이하, DC 12VㆍHalf Range 기준 | | 최대 구성 | Y모듈 4개, 총 12채널. Y와 K 출력 합계 최대 12채널 | | 제품 주전원 | DC 12~24V 공급 필요. 다운로드 케이블 전원만으로는 정상 출력 불가 | ===== 주문 구성과 프로그램 번호 ===== ^ 옵션 ^ Y모듈 수 ^ 아날로그 출력 수 ^ ''analogWrite(ch, value)''의 Y 채널 ^ | Y | 1 | 3 | 0~2 | | Y2 | 2 | 6 | 0~5 | | Y3 | 3 | 9 | 0~8 | | Y4 | 4 | 12 | 0~11 | 모듈 전면에는 각 모듈마다 CH0~CH2가 표시됩니다. 프로그램에서는 첫 Y모듈이 0~2, 두 번째가 3~5로 이어집니다. K모듈을 함께 사용하더라도 Y의 채널 번호와 K의 번호는 다른 영역입니다. K모듈 1개를 선택하면 Y는 최대 Y2까지, K모듈 2개를 선택하면 Y는 사용할 수 없습니다. 아날로그 출력은 디지털 입출력 점수와 관계없이 MPAINO 제품의 옵션 구성으로 사용할 수 있습니다. ===== DIP 설정과 출력 단자 ===== ^ 해당 채널 DIP ^ 전압 출력 ''V+'' ^ 전류 출력 ''I+'' ^ 공통 단자 ^ | ON | DC 0~5V | DC 0~10mA 또는 2~10mA 스케일 | ''−'' | | OFF | DC 0~10V | DC 0~20mA 또는 4~20mA 스케일 | ''−'' | 전압은 ''V+''와 ''−'', 전류는 ''I+''와 ''−'' 단자에서 사용합니다. 전압과 전류 신호가 동시에 존재하므로 사용하려는 신호에 맞는 단자에만 기기를 연결하십시오. ''−''는 제품 내부 GND와 연결됩니다. - 전원과 연결 기기의 전원을 끈 뒤 **해당 채널**의 DIP 위치를 확인합니다. - 수신 기기의 입력 형식과 범위를 확인하고 전압 또는 전류 단자에 극성을 맞춰 연결합니다. - 주전원을 공급한 뒤 한 채널에 작은 출력값을 내고 계측기로 확인합니다. - 아날로그 신호 배선은 노이즈 영향을 받으므로 필요한 경우 쉴드 케이블을 사용합니다. ===== 프로그램 예제 · 전압 또는 0기점 전류 ===== 첫 번째 Y모듈 CH0의 출력을 중간값으로 설정합니다. Arduino IDE의 **Analog Output Module**에서 실제 출고 옵션을 선택하십시오. ''analogWriteInit()''로 Timer 범위를 정하고, ''analogWriteMax()''로 현재 최대값을 확인한 뒤 절반을 출력합니다. const uint8_t outputChannel = 0; void setup() { analogWriteInit(outputChannel, 65535, 1); // Y 채널 0의 PWM TOP과 분주비 설정 } void loop() { const uint16_t fullScale = analogWriteMax(outputChannel); // 현재 채널의 최대 출력값 확인 analogWrite(outputChannel, fullScale / 2); // 선택한 DIP 범위의 약 50% 출력 delay(500); } 예를 들어 DIP가 ON이고 ''V+''를 쓰면 목표는 약 2.5V, OFF이고 ''V+''를 쓰면 약 5V입니다. 이는 이상적인 비율 계산이며 실제 출력의 허용 오차를 보증하는 값이 아닙니다. 같은 모듈의 3채널은 Timer 설정을 공유하므로 한 채널의 TOPㆍ주파수 변경이 다른 채널에 영향을 줍니다. ===== 프로그램 예제 · 4~20mA ===== 첫 번째 Y모듈 CH0의 DIP를 OFF로 설정하고 수신 기기를 ''I+''와 ''−''에 연결한 경우입니다. ''analogWrite2()''는 0을 4mA, 65535를 20mA 기준으로 환산합니다. const uint8_t outputChannel = 0; void setup() { // Y 모듈 CH0의 DIP를 OFF(0~20mA 하드웨어 범위)로 설정합니다. } void loop() { analogWrite2(outputChannel, 32768); // 4~20mA 범위의 중간값, 약 12mA 출력 delay(500); } ''IanalogWrite(ch, min, max, value)''와 ''IanalogWrite2(ch, min, max, value)''를 사용하면 공정값 범위를 출력 범위에 맞춰 환산할 수도 있습니다. ''analogWrite2()''는 DIP 스위치를 움직이지 않으므로 전압 단자에 연결한 채 4~20mA를 기대해서는 안 됩니다. ===== 값이 맞지 않을 때 ===== ^ 증상 ^ 확인할 항목 ^ | 출력이 없음 | Y모듈 장착, 주전원 DC 12~24V, 보드의 Analog Output Module 선택, 사용 채널을 확인합니다. | | 예상 전압ㆍ전류의 절반 또는 두 배 | 해당 채널 DIP의 ON/OFF와 ''V+''/''I+'' 단자 선택을 확인합니다. | | 4mA가 0mA처럼 보임 | DIP OFF와 ''I+'' 결선, ''analogWrite2()'' 또는 4~20mA용 함수 사용 여부를 확인합니다. | | 다른 채널도 변함 | 같은 3채널 Timer 그룹에서 TOPㆍ주파수를 함께 바꾸었는지 확인합니다. | ===== 관련 문서 ===== * [[commands:reference:analogwriteinit|analogWriteInit()]] · [[commands:reference:analogwritemax|analogWriteMax()]] · [[commands:reference:analogwrite2|analogWrite2()]] 상세 설명 * [[products:mpaino_x|X 아날로그 입력 모듈]] · [[products:mpaino_f|F PT100 입력 모듈]] · [[products:mpaino_k|K 고속펄스 출력 모듈]] * [[products:mpaino|← MPAINO Series 옵션 구성]]