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

광학 센서

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

광학 센서

광학 센서의 위치 피드백

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

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

위치 값을 결정하기 위해이 펄스를 사용하려면 선형 액추에이터의 이전 위치와 선형 액추에이터가 이동하는 방향을 알아야합니다. 선형 액추에이터가 어떤 방식으로 이동하는지 제어 할 때 변수를 설정할 수 있습니다. 코드에서 액추에이터의 방향을 추적합니다. 이 변수는 이전 위치에서 펄스를 추가하거나 빼야하는지 여부를 결정하는 데 사용될 수 있습니다. 위치를 업데이트 한 후에는 계산 된 펄스를 0으로 재설정해야합니다. 아래 코드 예제는 계산 된 펄스 수에 따라 위치를 업데이트하는 기능을 보여줍니다. 펄스 측면에서 위치가 있으면 선형 액추에이터의 인치당 펄스를 사용하여 인치로 변환 할 수 있습니다.

선형 액추에이터를 귀환합니다

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

거짓 트리거를 다루는 것

광학 센서는 전위차계만큼 전기 노이즈에 민감하지 않지만 전기 노이즈와 스위치 송풍은 여전히 ​​출력 신호에 영향을 줄 수 있으며 오 탐지를 계산할 수 있습니다. 몇 가지 추가 펄스는 포지셔닝에 크게 영향을 미치지 않지만 시간이 지남에 따라 더 큰 문제 일 수 있습니다. 내부 타이머를 사용하여 허위 트리거를 걸러 내면 이러한 문제를 해결할 수 있습니다. 새로운 펄스가 얼마나 자주 감지 될지 확인할 수 있으므로, 소음으로 인해 인터럽트가 트리거되면 걸러 내릴 수 있습니다. 아래 코드 샘플에서 Trigdelay는 각 펄스 사이의 시간 지연입니다. 이 지연 전에 인터럽트가 트리거되면 펄스는 계산되지 않습니다. 이 지연 시간은 응용 프로그램에 따라 다르지만 너무 짧은 경우 노이즈를 제대로 걸러 내지 않으며 너무 길면 광학 센서의 실제 펄스를 놓치게됩니다.

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

요약

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

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

 

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

Share This Article
Tags:

Need Help Finding the Right Actuator?

We precision engineer and manufacture our products so you get direct manufacturers pricing. We offer same day shipping and knowledgeable customer support. Try using our Actuator Calculator to get help picking the right actuator for your application.