이 페이지는 기계 번역을 사용하여 번역되었습니다. 영어 원문을 보려면 여기를 클릭하십시오.
디지털 출력을 이용한 스테퍼 모터 제어
이 예제는 디지털 출력 포트를 사용하여 스테퍼 모터를 제어하는 방법을 보여줍니다.
디지털 출력을 지원하는 장치 찾기
daqlist를 사용하여 장치를 검색합니다. 이 예제는 ID Dev2를 가진 National Instruments® ELVIS II를 사용합니다.
d = daqlist
d =
12×5 table
VendorID DeviceID Description Model DeviceInfo
________ ___________ __________________________________ _____________ ____________________
"ni" "cDAQ1Mod1" "National Instruments NI 9205" "NI 9205" [1×1 daq.DeviceInfo]
"ni" "cDAQ1Mod2" "National Instruments NI 9263" "NI 9263" [1×1 daq.DeviceInfo]
"ni" "cDAQ1Mod3" "National Instruments NI 9234" "NI 9234" [1×1 daq.DeviceInfo]
"ni" "cDAQ1Mod4" "National Instruments NI 9201" "NI 9201" [1×1 daq.DeviceInfo]
"ni" "cDAQ1Mod5" "National Instruments NI 9402" "NI 9402" [1×1 daq.DeviceInfo]
"ni" "cDAQ1Mod6" "National Instruments NI 9213" "NI 9213" [1×1 daq.DeviceInfo]
"ni" "cDAQ1Mod7" "National Instruments NI 9219" "NI 9219" [1×1 daq.DeviceInfo]
"ni" "cDAQ1Mod8" "National Instruments NI 9265" "NI 9265" [1×1 daq.DeviceInfo]
"ni" "Dev1" "National Instruments PCIe-6363" "PCIe-6363" [1×1 daq.DeviceInfo]
"ni" "Dev2" "National Instruments NI ELVIS II" "NI ELVIS II" [1×1 daq.DeviceInfo]
"ni" "Dev3" "National Instruments PCIe-6363" "PCIe-6363" [1×1 daq.DeviceInfo]
"ni" "Dev4" "National Instruments PCIe-6363" "PCIe-6363" [1×1 daq.DeviceInfo]
d{10, "DeviceInfo"}
ans =
ni: National Instruments NI ELVIS II (Device ID: 'Dev2')
Analog input supports:
7 ranges supported
Rates from 0.0 to 1250000.0 scans/sec
16 channels ('ai0' - 'ai15')
'Voltage' measurement type
Analog output supports:
-5.0 to +5.0 Volts,-10 to +10 Volts ranges
Rates from 0.0 to 2857142.9 scans/sec
2 channels ('ao0','ao1')
'Voltage' measurement type
Digital IO supports:
39 channels ('port0/line0' - 'port2/line6')
'InputOnly','OutputOnly','Bidirectional' measurement types
Counter input supports:
Rates from 0.1 to 80000000.0 scans/sec
2 channels ('ctr0','ctr1')
'EdgeCount' measurement type
Counter output supports:
Rates from 0.1 to 80000000.0 scans/sec
2 channels ('ctr0','ctr1')
'PulseGeneration' measurement type
하드웨어 설정 설명
이 예제는 Portescap 20M020D1U 모터(5V, 18도 단극 스텝퍼)를 사용합니다. 디지털 I/O 시스템에서 생성된 TTL 신호는 Texas Instruments ULN2003AIN(고전압, 고전류 달링턴 트랜지스터 어레이)에 의해 증폭되며, 이 회로도에 표시된 바와 같습니다.

디지털 출력 전용 채널 추가
DataAcquisition을 생성하고 포트 0의 라인 0-3에 4개의 디지털 채널을 추가합니다. 측정 유형을 OutputOnly로 설정합니다. 이들은 스테퍼 모터의 4개 제어 라인에 연결됩니다.
dq = daq("ni"); addoutput(dq,"Dev2","port0/line0:3","Digital")
Warning: Added channel does not support clocked sampling: clocked operations are disabled. Only on-demand operations are allowed.
모터 스텝 정의
4비트 패턴의 순서를 설명하는 Portescap 모터 배선도를 참조하십시오. 이 패턴을 모터에 순차적으로 전송하여 시계 반대 방향으로 움직이게 하십시오. 각 스텝마다 모터를 18도 회전시킵니다. 4스텝의 각 사이클마다 모터가 72도 회전합니다. 이 사이클을 다섯 번 반복하여 모터를 360도 회전시킵니다.
step1 = [1 0 1 0]; step2 = [1 0 0 1]; step3 = [0 1 0 1]; step4 = [0 1 1 0];
모터 회전
write를 사용하여, 모터를 시계 반대 방향으로 72도 회전시키기 위한 시퀀스를 출력합니다.
write(dq,step1); write(dq,step2); write(dq,step3); write(dq,step4);
이 시퀀스를 50회 반복하여 모터를 시계 반대 방향으로 10회 회전시킵니다.
for motorstep = 1:50 write(dq,step1); write(dq,step2); write(dq,step3); write(dq,step4); end
모터를 시계 방향으로 72도 회전시키기 위해, 스텝의 순서를 반대로 합니다.
write(dq,step4); write(dq,step3); write(dq,step2); write(dq,step1);
모든 출력 끄기
모터를 사용한 후에는 모든 라인을 차단하여 모터가 자유롭게 회전할 수 있도록 합니다.
write(dq,[0 0 0 0]);