From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

취소
다음에 대한 결과 표시 
다음에 대한 검색 
다음을 의미합니까? 

Digital Multimeter 의 값이 안정되었을 때 프로그램 적으로 인식하여 값을 읽고 싶습니다.

해결 완료!
솔루션으로 이동

안녕하세요. 여리君 입니다. 오랜만에 인사드리네요.

 

다름이 아니라, Digital Multimeter 를 사용한 시스템을 만들고 있습니다.

 

전압이나 전류를 측정하는데, 측정을 시작하면 한동안 변화하기 때문에 값의 변화 폭이 어느 정도 안정화 되었을 때 값을 읽으려 합니다.

 

이전 코드에서는 수십초를 기다렸다가 읽게 코드가 구성되어 있는데, 이걸 프로그램 적으로 구현 해서 시간 차를 줄여보려 합니다.

 

Shift Register 를 이용해 이전값을 읽어와서 비교하는 거야 쉽게 할 수 있는데요.

 

그 값을 어떻게 비교 하는지 고민입니다.

 

뭐 일단 미분... 정도 생각하고 있는데요.

 

함수를 보니.. 막막합니다. 뭐 방법이 있을까요?

 

그냥 이전 코드 그대로 넣어놓을까봐요.. ㅡ_ㅡ;

0 포인트
1/5 메시지
1,036 조회수
솔루션
주제 작성자 여리君이(가) 승인함

이전값과의 변화값을 어레이로 넣은 후 Minimum 치로 비교하는 방법이 있습니다.

 

5

4 (-1)

3.5 (-0.5)

3.2 (-0.3)

3.1 (-0.1)

3.1 (0.0)

 

-1, -0.5, -0.3, -0.1, 0.0

이런 식으로 변화 하겠죠.

 

변위값을 어느 정도의 상수값으로 제한하고 또한 동시에 시간제한을 두어 측정을 완료하는 방법입니다.

측정값이 계속 변화하는 것을  방지하기 위해 시간제한까지 추가하는 겁니다.

 

 

 

 

 

0 포인트
2/5 메시지
992 조회수

반갑습니다. Kabson 님 . 오랜만이네요. 건강하시죠?

 

측정되는 Range 는 0~10Vdc, 4~20mA 사이 입니다.

 

문제는 정밀도인데, 소숫점 두자리까지 확인이 되어야 합니다.

 

기존에 측정 전에 계측기에서 전압을 인식해 올라가는 시간이 좀 있어서, 수초간 기다리는 작업을 진행 했던 것 같습니다.

 

그것 때문에 좀 더 빠르게 할 수 없는지 이야기가 나왔어서... 방법을 강구 중입니다.

 

지금 현재는 2초 후 측정을 해서 읽히는 값을 미분해 값이 ±0.005 안에 4번 들어오면 패스로 인식하게 해 두었습니다. 250msec 당 1샘플 설정했거든요.

 

제목 없음.png

 

구글링 해 보니 미분하려면 저 함수를 쓰면 된다고 나오더군요.

 

이전값과 측정값을 미분해 일정 범위 내에 들어오는걸 Shift Register 로 받아, 4번 유지  (1초간) 되면 사용자 이벤트가 발생하게 해 두었습니다.

 

이 방법 말고 다른 방법이 있을까요?

0 포인트
3/5 메시지
990 조회수
솔루션
주제 작성자 여리君이(가) 승인함

이동평균을 사용해서 이동평균과 현재 값의 차가 얼마 이하가 되었을때 안정되었다고 볼 수도 있겠네요

RevolutionKwon_0-1615783312801.png

 

4/5 메시지
957 조회수

이동 평균 갯수 때문에 고민하다가 미분을 생각했습니다. 🙂

 

참고하겠습니다. 감사합니다.

0 포인트
5/5 메시지
951 조회수