사용자 도구

사이트 도구


products:mpaino_k

MPAINO 고속펄스 출력 K모듈

K모듈은 MCU의 PWM 신호를 평활하지 않고 출력하는 MPAINO 옵션 모듈입니다. K는 6채널, K2는 12채널을 제공하며 선택한 모듈은 제품에 조립되어 출고됩니다.

Y모듈의 직류 전압ㆍ전류 출력과 용도가 다릅니다. 펄스 출력에 연결할 기기가 0~5V 디지털 파형을 받을 수 있는지 먼저 확인하십시오.

KㆍK2ㆍY와 K 혼합 구성의 PWM 채널과 공유 Timer 그룹

제품 사양

K 펄스 출력 모듈 전면 K2 두 번째 펄스 출력 모듈 전면

K2 이미지의 PWM0~PWM5는 두 번째 K모듈의 단자 표기입니다. 프로그램에서는 추가 출력 채널 6~11을 사용합니다.

항목 내용
옵션 코드 K, K2
모듈당 출력 PWM 6채널
출력 수준 LOW 0V, HIGH 5V
최대 출력 전류 채널당 30mA
최대 주파수 1MHz
분해능 16bit
최대 구성 K모듈 2개, 총 12채널. Y와 K 출력 합계 최대 12채널

K 출력은 MCU GPIO 신호를 직접 사용합니다. 30mA를 넘는 부하나 다른 전압의 입력을 직접 연결하지 마십시오. 모터ㆍ솔레노이드와 같은 부하는 적합한 외부 드라이버를 사용합니다.

옵션 조합과 채널 번호

구성 K 채널 수 PWM()FDPWM() 채널 analogWrite() 채널 GPIO 번호
K 6 0~5 20~25 D130~D135
K2 12 0~11 20~31 D130~D141
YK / Y2K 6 0~5 20~25 D130~D135

위 세 번호 체계는 같은 K 출력을 서로 다른 명령어로 사용할 때의 인자입니다. analogWrite(20, 128)은 K의 첫 번째 출력이고 analogWrite(0, 128)은 Y의 첫 번째 아날로그 출력입니다. PWM(0, …)은 다시 K의 첫 번째 출력입니다. 셋을 혼동하지 마십시오.

K 1개와 Y 1~2개는 함께 사용할 수 있지만 K2와 Y는 함께 구성하지 않습니다. 실제 출고 옵션에 맞춰 Arduino IDE의 High-Speed Pulse Output ModuleAnalog Output Module을 선택합니다.

채널과 공유 Timer

출고 구성 K 채널 내부 Arduino PWM 핀 같은 주파수를 공유하는 Timer
K 단독 0~2 D11, D12, D13 Timer1
K 단독 3~5 D46, D45, D44 Timer5
K2 추가 6~8 D5, D2, D3 Timer3
K2 추가 9~11 D6, D7, D8 Timer4
YK / Y2K 0~2 D5, D2, D3 Timer3
YK / Y2K 3~5 D6, D7, D8 Timer4

같은 Timer의 세 채널은 주파수 설정을 공유합니다. 세 채널에 서로 다른 듀티를 줄 수 있지만 서로 다른 주파수를 동시에 설정할 수 없습니다. YㆍK 조합이 달라지면 내부 실제 PWM 핀이 바뀌므로 프로그램의 논리 채널과 출고 구성을 일치시키십시오.

연결과 첫 출력 확인

  1. 전원을 차단하고 K모듈의 사용할 PWM 단자와 같은 단자 묶음의 GND를 확인합니다.
  2. 연결 기기의 0~5V PWM 입력과 공통 GND를 제품 설명서의 결선도에 맞춰 연결합니다.
  3. PWM 출력 단자에 외부 전원이나 과전류 부하를 직접 넣지 않습니다.
  4. 처음에는 부하 대신 적합한 계측기로 파형의 주파수와 듀티를 확인합니다.

예제 1 · Arduino 기본 analogWrite()

K 단독 구성의 첫 출력에 약 50% 듀티를 출력합니다. K용 analogWrite()는 Y와 달리 0~255 값을 사용합니다.

const uint8_t pulseChannel = 20;  // K 첫 번째 출력의 analogWrite 번호
 
void setup() {
}
 
void loop() {
  analogWrite(pulseChannel, 128);  // 약 50% 듀티의 PWM 출력
  delay(500);
}

예제 2 · 주파수와 듀티 지정

K 단독 구성에서 CH0과 CH1은 Timer1을 공유합니다. 두 채널에 같은 1kHz와 서로 다른 듀티를 설정합니다.

void setup() {
  PWM_RESET();  // K 출력용 PWM Timer 상태 초기화
  FDPWM(0, 1000, 25.0F);  // K CH0: 1kHz, 25% 듀티
  FDPWM(1, 1000, 75.0F);  // K CH1: 같은 1kHz, 75% 듀티
}
 
void loop() {
}

PWM_RESET()은 같은 Timer를 사용하는 다른 PWM 출력도 초기화할 수 있습니다. 부하가 안전한 상태에서 실행하십시오.

예제 3 · 정해진 개수의 펄스

K CH0에 1kHz, 50% 듀티의 펄스 100개를 한 번 출력합니다. NPWM()은 완료될 때까지 loop()에서 계속 호출해야 하므로 이 예제의 반복문에는 delay()를 넣지 않습니다.

void setup() {
  PWM_RESET();  // 펄스 출력 전 PWM 상태 초기화
  NPWM_BEGIN(0, 1000, 50.0F, 100);  // CH0에 100개 펄스 준비
}
 
void loop() {
  NPWM(0);  // 준비한 펄스의 출력 진행 및 완료 처리
}

값이 맞지 않을 때

증상 확인할 항목
파형이 없음 K 장착과 보드 옵션, PWM 단자ㆍGND, 선택한 명령어의 채널 번호를 확인합니다.
주파수가 예상과 다름 같은 Timer 그룹의 다른 채널에서 주파수를 다시 설정했는지 확인합니다.
YK에서 K 단독 배선대로 동작하지 않음 YㆍK 조합에 따라 내부 PWM 핀 배치가 달라집니다. 출고 구성과 모듈 단자 표기를 확인합니다.
지정 펄스가 끝나지 않음 NPWM_BEGIN() 다음에 같은 채널의 NPWM()을 반복 호출하는지, 반복문에 지연이 없는지 확인합니다.

관련 문서

products/mpaino_k.txt · 마지막으로 수정됨: 저자 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki