이 프로젝트에서 우리는 힘 센서와 Arduino Uno를 사용하여 재미있는 회로를 개발할 것 입니다. 이 회로는 센서에 가해지는 힘과 선형 적으로 관련된 소리를 생성합니다. 이를 위해 FORCE 센서를 Arduino Uno와 인터페이스 할 것 입니다. UNO에서는 8 비트 ADC (Analog to Digital Conversion) 기능을 사용하여 작업을 수행합니다.
힘 센서 또는 힘 감지 저항기
FORCE 센서는 표면에 압력이 가해지면 저항을 변경하는 변환기입니다. FORCE 센서는 다양한 크기와 모양으로 제공됩니다. 여기에서는 정확도가 많이 필요하지 않기 때문에 더 저렴한 버전 중 하나를 사용할 것입니다. FSR400 은 시장에서 가장 저렴한 힘 센서 중 하나입니다. FSR400의 그림은 아래 그림과 같습니다. 힘 감지 저항 또는 FSR 이라고도합니다. 그 저항은 적용된 힘이나 압력에 따라 변합니다. 이 힘 감지 저항에 압력이 가해지면 저항이 감소합니다. 즉, 저항은 적용된 힘에 반비례합니다. 따라서 압력이 가해지지 않으면 FSR의 저항이 매우 높아집니다.
이제 FSR 400은 길이에 따라 민감하므로 그림과 같이 힘이나 무게가 센서 눈 중앙의 미로에 집중되어야합니다. 잘못된 시간에 힘을 가하면 장치가 영구적으로 손상 될 수 있습니다.
알아야 할 또 다른 중요한 점은 센서가 높은 범위의 전류를 구동 할 수 있다는 것입니다. 따라서 설치하는 동안 구동 전류를 염두에 두십시오. 또한 센서에는 10 뉴턴의 힘 제한이 있습니다. 그래서 우리는 1Kg의 무게 만 적용 할 수 있습니다. 1Kg 이상의 무게가 적용되면 센서에 약간의 편차가 나타날 수 있습니다. 3Kg 이상 증가하면. 센서가 영구적으로 손상 될 수 있습니다.
앞서 말했듯이이 센서는 압력 변화를 감지하는 데 사용됩니다. 따라서 FORCE 센서 위에 무게를 가하면 저항이 크게 변합니다. 무게에 대한 FS400의 저항은 아래 그래프에 나와 있습니다.
위 그림과 같이 센서의 두 접점 사이의 저항은 무게에 따라 감소하거나 센서의 두 접점 사이의 컨덕턴스가 증가합니다. 순수 도체의 저항은 다음과 같이 지정됩니다.
어디, p- 도체의 비저항
l = 지휘자의 길이
A = 도체 면적.
이제 저항이 "R"인 도체를 고려하십시오. 도체 위에 약간의 압력이 가해지면 도체의 면적이 감소하고 압력의 결과로 도체의 길이가 증가합니다. 따라서 공식에 따르면 저항 R은 면적에 반비례하고 길이 l에 정비례하기 때문에 도체의 저항이 증가해야합니다.
따라서 압력이나 무게를받는 도체의 경우 도체의 저항이 증가합니다. 그러나이 변화는 전반적인 저항에 비해 작습니다. 상당한 변화를 위해 많은 도체가 함께 쌓입니다. 이것은 위의 그림에 표시된 힘 센서 내부에서 일어나는 일입니다. 자세히 보면 센서 내부의 많은 선을 볼 수 있습니다. 이러한 각 선은 지휘자를 나타냅니다. 센서의 감도는 도체 번호에 있습니다.
그러나이 경우 여기에 사용 된 재료는 순수한 도체가 아니기 때문에 압력에 따라 저항이 감소합니다. 여기서 FSR은 견고한 폴리머 후막 (PTF) 장치입니다. 따라서 이들은 순수한 전도체 재료 장치가 아닙니다. 이들은 센서 표면에 가해지는 힘이 증가함에 따라 저항이 감소하는 재료로 구성됩니다. 이 재료는 FSR 그래프와 같은 특성을 보여줍니다.
저항의 이러한 변화는 우리가 읽을 수 없다면 소용이 없습니다. 가까이에있는 컨트롤러는 전압의 기회 만 읽을 수 있으며 그 이하도 아닙니다. 전압 변화에 따른 저항 변화를 유도 할 수있는 전압 분배기 회로를 사용할 것입니다.
전압 분배기는 저항성 회로이며 그림에 나와 있습니다. 이 저항 네트워크에는 하나의 일정한 저항과 다른 가변 저항이 있습니다. 그림에서 볼 수 있듯이 여기서 R1은 일정한 저항이고 R2는 저항 역할을하는 FORCE 센서입니다. 분기의 중간 점을 측정합니다. R2 변경으로 Vout에 변경이 있습니다. 그래서 이것으로 우리는 무게에 따른 전압 변화를가 집니다.
여기서 주목해야 할 중요한 점은 ADC 변환을 위해 컨트롤러가 취하는 입력이 50µAmp만큼 낮다는 것입니다. 저항 기반 전압 분배기의 이러한 부하 효과는 전압 분배기의 Vout에서 끌어온 전류가 오류 비율을 증가시키기 때문에 중요합니다. 지금은 부하 효과에 대해 걱정할 필요가 없습니다.
FSR 센서 확인 방법
힘 감지 저항은 멀티 미터를 사용하여 테스트 할 수 있습니다. 힘을 가하지 않고 FSR 센서의 두 핀을 멀티 미터에 연결하고 저항 값을 확인하면 매우 높아질 것입니다. 그런 다음 표면에 약간의 힘을 가하고 저항 값의 감소를 확인하십시오.
FSR 센서의 응용
힘 감지 저항기는 주로 압력 감지 "버튼"을 만드는 데 사용됩니다. 자동차 점유 센서, 저항성 터치 패드, 로봇 손가락 끝, 의족, 키패드, 발 내전 시스템, 악기, 임베디드 전자 장치, 테스트 및 측정 장비, OEM 개발 키트 및 휴대용 전자 장치, 스포츠와 같은 다양한 분야에서 사용됩니다.. 또한 증강 현실 시스템에서 모바일 상호 작용을 향상시키는데도 사용됩니다.
필요한 구성 요소
하드웨어: Arduino Uno, 전원 공급 장치 (5v), 1000uF 커패시터, 100nF 커패시터 (3 개), 100KΩ 저항, 부저, 220Ω 저항, FSR400 힘 센서.
소프트웨어: Atmel studio 6.2 또는 Aurdino nightly
회로도 및 작동 설명
힘 감지 저항과 Arduino를 연결하기위한 회로 연결 은 아래 다이어그램과 같습니다.
센서의 전압은 완전히 선형이 아닙니다. 시끄러울 것입니다. 노이즈를 필터링하기 위해 그림과 같이 분배기 회로의 각 저항에 커패시터가 배치됩니다.
여기서 우리는 분배기가 제공하는 전압 (선형으로 무게를 나타내는 전압)을 가져와 UNO의 ADC 채널 중 하나에 공급합니다. 변환 후 우리는 그 디지털 값 (무게를 나타내는)을 가져 와서 부저를 구동하기위한 PWM 값과 연관시킬 것입니다.
따라서 무게와 함께 디지털 값에 따라 듀티 비를 변경하는 PWM 값이 있습니다. 디지털 값이 높을수록 PWM의 듀티 비가 높아져 부저로 인해 발생하는 노이즈가 높아집니다. 그래서 우리는 무게를 소리와 연관 시켰습니다.
더 진행하기 전에 Arduino Uno의 ADC에 대해 이야기하겠습니다. ARDUINO에는 그림과 같이 6 개의 ADC 채널이 있습니다. 이들 중 하나 또는 모두를 아날로그 전압에 대한 입력으로 사용할 수 있습니다. UNO ADC는 10 비트 분해능입니다 (따라서 (0- (2 ^ 10) 1023)의 정수 값). 즉, 0에서 5V 사이의 입력 전압을 0에서 1023 사이의 정수 값으로 매핑합니다. (5 / 1024 = 4.9mV) 단위당.
여기서는 UNO의 A0을 사용하겠습니다.
우리는 몇 가지를 알아야합니다.
|
먼저 모든 UNO ADC 채널의 기본 참조 값은 5V입니다. 즉, 모든 입력 채널에서 ADC 변환을 위해 최대 5V의 입력 전압을 제공 할 수 있습니다. 일부 센서는 0-2.5V의 전압을 제공하기 때문에 5V 기준으로 정확도가 떨어 지므로이 기준 값을 변경할 수있는 명령이 있습니다. 따라서 참조 값을 변경하려면 ("analogReference ();") 지금은 그대로 둡니다.
기본적으로 최대 보드 ADC 분해능은 10 비트이며,이 분해능은 명령어 (“analogReadResolution (bits);”)를 사용하여 변경할 수 있습니다. 이 해상도 변경은 경우에 따라 유용 할 수 있습니다. 지금은 그대로 둡니다.
이제 위의 조건을 기본값으로 설정하면“analogRead (pin);”함수를 직접 호출하여 채널 '0'의 ADC에서 값을 읽을 수 있습니다. 여기서“pin”은 아날로그 신호를 연결 한 핀을 나타냅니다.이 경우에는 "A0"이됩니다. ADC의 값은“int SENSORVALUE = analogRead (A0); ”,이 명령어에 의해 ADC 이후의 값은 정수“SENSORVALUE”에 저장됩니다.
Arduino Uno의 PWM은 PCB 보드에서 "~"로 표시된 모든 핀에서 달성 할 수 있습니다. UNO에는 6 개의 PWM 채널이 있습니다. 우리의 목적을 위해 PIN3을 사용할 것입니다.
analogWrite (3, VALUE); |
위의 조건에서 해당 핀에서 PWM 신호를 직접 얻을 수 있습니다. 괄호 안의 첫 번째 매개 변수는 PWM 신호의 핀 번호를 선택하기위한 것입니다. 두 번째 매개 변수는 듀티 비를 쓰기위한 것입니다.
UNO의 PWM 값은 0에서 255까지 변경할 수 있습니다. "0"이 가장 낮고 "255"가 가장 높습니다. 듀티 비로 255를 사용하면 PIN3에서 5V를 얻을 수 있습니다. 듀티 비가 125로 주어지면 PIN3에서 2.5V가됩니다.
이제 ADC 출력으로 0-1024 값이 있고 PWM 듀티 비로 0-255 값이 있습니다. 따라서 ADC는 PWM 비율의 약 4 배입니다. 따라서 ADC 결과를 4로 나누면 대략적인 듀티 비를 얻을 수 있습니다.
이를 통해 듀티 비가 가중치에 따라 선형 적으로 변하는 PWM 신호를 갖게됩니다. 이것은 부저에 주어지며 무게에 따라 음향 발생기 가 있습니다.