이 페이지는 기계 번역을 사용하여 번역되었습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
NI 장치를 사용하여 펄스 폭 변조 신호 생성
이 예제에서는 스테퍼 모터를 구동하기 위해 펄스 폭 변조 신호를 생성하는 방법을 보여줍니다.
카운터 출력 채널 생성
daq
를 사용하여 DataAcquisition을 생성합니다. addoutput
를 사용하여 PulseGeneration
측정 유형의 카운터 출력 채널을 추가하고, addinput
를 사용하여 카운터 출력 채널에서 생성된 펄스를 모니터링하는 아날로그 입력 채널을 추가합니다. 이 예제에서는 펄스 생성을 위해 CompactDAQ Chassis NI c9178과 ID cDAQ1Mod5를 가진 NI 9402 모듈을 사용하고, 전압 입력을 위해 ID cDAQ1Mod1을 가진 NI 9205를 사용합니다.
dq = daq("ni"); addinput(dq,"cDAQ1Mod1", "ai0", "Voltage"); ctr = addoutput(dq,"cDAQ1Mod5", "ctr0", "PulseGeneration"); dq.Channels
ans = Index Type Device Channel Measurement Type Range Name _____ ____ ___________ _______ _________________ __________________ ________________ 1 "ai" "cDAQ1Mod1" "ai0" "Voltage (Diff)" "-10 to +10 Volts" "cDAQ1Mod1_ai0" 2 "co" "cDAQ1Mod5" "ctr0" "PulseGeneration" "n/a" "cDAQ1Mod5_ctr0"
카운터 출력 채널의 터미널을 결정하세요
출력 신호를 올바른 단자에 연결하려면 카운터 채널의 Terminal
속성을 조사하십시오. 터미널은 하드웨어에 의해 결정됩니다.
ctr.Terminal
ans = 'PFI0'
클록 카운터 출력
카운터 출력 채널 0을 사용하여 터미널 PFI0에서 고정 펄스 폭 변조 신호를 생성합니다. 0.5초 후에 75% 듀티 사이클로 모터를 작동시킵니다.
ctr.Frequency = 10; ctr.InitialDelay = 0.5; ctr.DutyCycle = 0.75; % Starting in foreground returns data for input channels only. % The data variable will contain one column of data. start(dq, "Duration", seconds(1)); while dq.Running pause(0.1); end data = read(dq, seconds(1)); plot(data.Time, data.Variables);