주요 콘텐츠

이 페이지는 기계 번역을 사용하여 번역되었습니다. 영어 원문을 보려면 여기를 클릭하십시오.

NI 장치를 사용하여 디지털 신호의 펄스 수 세기

이 예제는 신호의 상승 에지 수를 세어 Anaheim Automation 모터 컨트롤러의 회전 속도를 측정하는 방법을 보여줍니다. 컨트롤러는 모터 회전 속도에 대한 주파수 피드백 역할을 하는 홀 효과 펄스(사각파)를 출력합니다.

카운터 입력 채널 생성

daq를 사용하여 DataAcquisition을 생성하고, addinput를 사용하여 측정 유형이 EdgeCount인 카운터 입력 채널을 추가합니다. 이 예제에서는 CompactDAQ 섀시 NI c9178과 ID가 cDAQ1Mod5인 모듈 NI 9402를 사용하십시오.

dq = daq("ni");
ch = addinput(dq,"cDAQ1Mod5", "ctr0", "EdgeCount");
ch
ch = 

    Index    Type      Device       Channel    Measurement Type    Range          Name      
    _____    ____    ___________    _______    ________________    _____    ________________

      1      "ci"    "cDAQ1Mod5"    "ctr0"       "EdgeCount"       "n/a"    "cDAQ1Mod5_ctr0"

카운터 입력 채널의 단자 확인

입력 신호를 올바른 단자에 연결하려면 채널의 Terminal 속성을 확인하십시오. 단자는 하드웨어에 의해 결정됩니다.

ch.Terminal
ans =

    'PFI0'

카운터 채널 읽기

카운터가 정상적으로 작동하는지 확인하려면, 스캔을 한 번 입력한 후 모터가 회전하는 동안 잠시 기다렸다가 카운터 값을 다시 확인하십시오.

read(dq)
ans =

  timetable

    Time     cDAQ1Mod5_ctr0
    _____    ______________

    0 sec          3       

pause(0.1);
read(dq)
ans =

  timetable

    Time     cDAQ1Mod5_ctr0
    _____    ______________

    0 sec          14      

pause(0.1);
read(dq)
ans =

  timetable

    Time     cDAQ1Mod5_ctr0
    _____    ______________

    0 sec          27      

초당 회전 수 측정

카운터를 0으로 초기화한 후 펄스 수를 세고, 1초 동안 일시 정지한 다음 카운터 값을 읽으십시오. 홀 효과는 120도 간격으로 배열되어 있으며, 한 바퀴 회전할 때마다 세 개의 사각파 펄스를 생성합니다.

resetcounters(dq);
pause(1);
read(dq, "OutputFormat", "Matrix")/3
ans =

   33.6667

더 높은 정확도를 위해 하드웨어 클록을 사용하십시오

하드웨어 클록은 매우 정확합니다. 하드웨어 클록을 사용하여 여러 카운터 측정값을 수집합니다. NI 카운터 장치는 외부 클록이 필요합니다. 동일한 섀시에 장착된 모듈을 위해 아날로그 입력 채널을 추가하면, DataAcquisition은 두 모듈 모두와 내부 클록을 공유합니다.

dq = daq("ni");
addinput(dq,"cDAQ1Mod1", "ai0", "Voltage");
addinput(dq,"cDAQ1Mod5", "ctr0", "EdgeCount");
data = read(dq, seconds(0.25));
plot(data.Time, data.Variables);