광학 센서에서 피드백을 읽는 방법

광학 센서

광학 센서 (와 함께 사용하는 경우) 선형 액추에이터,매우 유사한 기능 홀 효과 센서, 자기장 대신 빛을 감지한다는 점을 제외하면 [1]. 광학 센서는 LED 또는 인코더 디스크를 통과하는 다른 광원의 빛을 사용하여 작동합니다. 이 인코더 디스크는 빛이 주기적으로 통과 할 수 있도록 슬롯이 있습니다. 디스크의 다른쪽에는 광 검출기가 있는데, 이것은 빛이 디스크의 슬롯을 통과 할 때 빛을 감지하여 출력 신호를 생성합니다 [1]. 액추에이터가 움직이면 인코더 디스크가 회전하고 광 검출기에 의해 빛이 감지되어 전압 펄스의 구형파를 생성합니다. 이 펄스는 홀 효과 센서의 펄스와 유사하게 사용되어 액추에이터가 얼마나 멀리 움직 였는지 확인할 수 있습니다.

광학 센서

광학 센서의 위치 피드백

광학 센서는 출력 측면에서 홀 효과 센서와 매우 유사하게 작동하므로이 블로그 게시물에서는 위치 피드백을 위해 출력을 읽는 방법을 간략하게 다룹니다. 더 자세한 내용을 찾고 있다면 홀 효과 센서에서 위치 피드백을 읽는 방법에 대한 게시물을 확인하십시오.

홀 효과 센서와 마찬가지로 광학 센서에는 연결할 핀이 3 개 있습니다. 하나는 입력 전압이고 다른 하나는 접지이며 마지막으로 하나는 출력 신호입니다. 위치 피드백을 위해 출력 신호의 펄스를 활용하려면 마이크로 컨트롤러 생성 된 펄스를 계산합니다. 마이크로 컨트롤러의 외부 인터럽트 핀을 사용하여 이러한 펄스를 정확하게 계산하는 것이 좋습니다. 외부 인터럽트는 전압 변화에 의해 트리거되므로 발생하는 각 펄스를 감지하는 데 사용할 수 있습니다. 마이크로 컨트롤러 코드에서 인터럽트를 설정 한 후에는 발생하는 펄스를 세는 인터럽트 서비스 루틴을 설정해야합니다. 아래 코드 예제의 countSteps () 함수는 광학 센서의 펄스 수를 계산하는 데 사용됩니다.

이러한 펄스를 사용하여 위치 값을 결정하려면 선형 액추에이터의 이전 위치와 선형 액추에이터가 이동하는 방향을 알아야합니다. 선형 액추에이터가 움직이는 방향을 제어 할 때 간단히 변수를 설정할 수 있습니다. 코드에서 액추에이터의 방향을 추적합니다. 이 변수는 이전 위치에서 펄스를 더하거나 빼야하는지 여부를 결정하는 데 사용할 수 있습니다. 위치를 업데이트 한 후에는 카운트 된 펄스를 0으로 재설정해야합니다. 아래 코드 예제는 카운트 된 펄스 수에 따라 위치를 업데이트하는 함수를 보여줍니다. 펄스에 대한 위치가 있으면 선형 액추에이터의 인치당 펄스 사양을 사용하여 인치로 변환 할 수 있습니다.

선형 액추에이터 홈 지정

광학 센서의 위치 피드백을 정확하게 활용하려면 항상 선형 액추에이터의 시작 위치를 알아야합니다. 시스템을 처음 켰을 때 마이크로 컨트롤러는 액추에이터가 확장되었는지 여부를 알 수 없습니다. 이를 위해서는 리니어 액추에이터를 알려진 위치에 집어 넣어야합니다. 집으로 선형 액추에이터, 완전히 접힌 것과 같은 알려진 위치로 운전해야합니다. 아래의 Arduino 코드를 예로 사용하여 선형 액추에이터를 알려진 위치로 구동하는 WHILE 루프를 설정했습니다. 이 예에서는 steps 변수가 변경되었는지 확인하여 인터럽트가 트리거되었는지 여부를 확인하여 알려진 위치에 있음을 알 수 있습니다. 또한 인터럽트가 트리거 될 것으로 예상하기에 충분한 시간이 지 났는지 확인해야합니다.이를 위해 millis () 함수를 사용하고이를 이전 타임 스탬프와 비교합니다. 선형 액추에이터가 홈 위치에 있다고 판단되면 액추에이터 구동을 중지하고 단계 변수를 재설정 한 다음 WHILE 루프를 종료합니다.

잘못된 트리거 처리

광학 센서는 전위차계만큼 전기적 잡음에 민감하지 않지만 전기적 잡음과 스위치 바운싱은 여전히 ​​출력 신호에 영향을 미칠 수 있으며 계수 할 잘못된 펄스를 트리거 할 수 있습니다. 몇 번의 추가 펄스는 포지셔닝에 큰 영향을 미치지 않지만 시간이 지남에 따라 더 큰 문제가 될 수 있습니다. 내부 타이머를 사용하여 잘못된 트리거를 필터링하여 이러한 문제를 해결할 수 있습니다. 새 펄스가 감지 될 것으로 예상되는 빈도를 결정할 수 있으므로 인터럽트가 노이즈에 의해 트리거 된시기를 필터링 할 수 있습니다. 아래 코드 샘플에서 trigDelay는 각 펄스 사이의 시간 지연입니다. 이 지연 전에 인터럽트가 트리거 된 경우 펄스는 계산되지 않습니다. 이 지연 시간은 애플리케이션에 따라 다르지만 너무 짧으면 노이즈가 제대로 필터링되지 않고 너무 길면 광학 센서의 실제 펄스를 놓칠 수 있습니다.

잘못된 트리거를 방지하는 또 다른 방법은 액추에이터가 알려진 위치에 도달 할 때마다 위치 값을 수정하는 것입니다. 선형 액추에이터의 원점 복귀와 같이 선형 액추에이터를 완전히 수축 또는 확장 된 위치로 구동했거나 외부 리미트 스위치를 사용하는 경우 해당 위치에 도달하는 데 필요한 펄스 수를 알 수 있습니다. 그런 다음 알려진 위치에 도달하면 해당 값을 사용하여 위치 값을 간단히 수정할 수 있습니다. 아래 코드 샘플에서는 완전히 확장 및 완전히 축소 된 위치에 대해 수행됩니다. 이 방법은 위치 값이 정확하게 유지되도록하는 실용적인 솔루션을 제공합니다.

요약

위치 피드백에 사용되는 광학 센서는 홀 효과 센서 및 전위차계에 비해 더 높은 정확도와 해상도를 제공하는 동시에 홀 효과 센서와 유사한 장점과 단점을 가지고 있습니다. 절대 위치를 측정하지 않고 위치 값을 제공하기 위해 알려진 시작 위치가 필요하지만 인치당 많은 수의 펄스는 위치 결정에있어 신뢰성을 허용하고 여러 선형 액추에이터가 동시에 이동하도록합니다. 우리의 활용 FA-SYNC-X 액추에이터 컨트롤러 또는 t추가 코드를 통해, 액추에이터가 부하에 관계없이 일제히 움직 이도록 할 수도 있습니다.

전체 코드 예제는 다음 블로그를 확인하십시오. 홀 효과 센서에서 위치 피드백을 읽는 방법 많이 비슷할 것입니다. 인치당 펄스 및 펄스 간 시간 지연과 같은 값은 해당 코드를 사용하여 광학 센서를 정확하게 활용하기 위해 변경해야하는 일부 변경 사항입니다.

 

[1] Paschotta, R. 광학 센서에 관한 기사. 검색 출처 :https://www.rp-photonics.com/optical_sensors.html

Tags:

Share this article

디 컬렉션

올바른 액추에이터를 찾는 데 도움이 필요하십니까?

우리는 정밀 엔지니어와 제조 우리의 제품을 그래서 당신은 직접 제조 업체 가격을 얻을. 우리는 당일 배송 및 지식이 풍부한 고객 지원을 제공합니다. 액추에이터 계산기를 사용하여 응용 프로그램에 적합한 액추에이터를 선택하는 데 도움을 받으십시오.