광학 센서
와 함께 사용할 때 광학 센서 선형 액추에이터,기능과 매우 유사합니다 홀 효과 센서, 자기장 대신 빛을 감지하는 것을 제외하고 [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