본문 바로가기
Arduino(아두이노) 활용 강좌

Arduino Uno 로 FSR 압력센서 를 사용해서 SG90 마이크로 서보모터 제어해 보기

by 오마이엔지니어 2017. 11. 12.
반응형

Arduino Uno 로 FSR 압력센서 를 사용해서 압력감지시 SG90 마이크로 서보모터를 제어해 보는 프로젝트입니다

FSR (Force Sensitive Resisiter) 압력센서 는 정밀도가 뛰어나진 않지만 저렴한 가격에 간단한 구조로 설계되어 손쉽게
물리적인 압력이나 무게등을 측정할수 있습니다

 

<FSR 압력센서 이미지>


위 이미지 처럼 다양한 사이즈의 다양한 모양의 FSR 압력 센서가 있습니다
(각자의 프로젝트나 용도에 맞게 선택해서 사용하면 되겠습니다)

 

 

<FSR 압력센서의 구조>

위 이미지 처럼 FSR 압력센서는 몇개의 레이어로 구성되어 있습니다

Active Area 의 면적중 Semi-Conductor 에 닿는 면적이 증가하면서 저항이 줄어드는 원리입니다
구조는 간단한 반면 정확도는 떨어지는 단점이 있습니다

다양한 제조사에서 생산한 FSR 압력센서가 시중에 판매되고 있으며
본 테스트에서는 압력센서 FSR IMS009-C7.5 (센싱영역 7.5mm)를 사용하였습니다

 

 

FSR (Force Sensitive Resisiter) 라는 이름처럼 압력센서는 물리적인 압력에 따라서 저항값이 변하게 됩니다
압력이 없을 경우에는 센서는 무한대의 저항값을 가집니다


약간의 압력을 가해서 100KΩ 의 저항이 발생하며, 이후에 압력이 커질수록 저항값이 떨어지게 됩니다
위 그래프를 보면 압력값에 따른 저항값의 변화를 확인할수 있습니다 

위 표는 5V 전원 및 10K 풀다운 저항이있는 센서의 힘 / 저항을 기준으로 한 대략적인 아날로그 전압을 나타냅니다

사용된 부품

Arduino Uno R3 (Italy)

압력센서 FSR IMS009-C7.5
SG90 마이크로 서보모터

점퍼케이블
미니 브래드보드
저항 10K (Ohm)



구성 배선도 - 압력감지시 시리얼 모니터로 출력값 변화 확인하기 

 

사용된 예제소스 

FSR Servo.txt
0.00MB


주의사항

센서의 VCC 에는 아두이노의 5V의 전원에 연결하고, ADC 는 풀다운(pull down)저항을 거쳐서 GND로 연결하면 됩니다
풀다운(pull doun)저항--->외부 변화가 생기기전 GND 를 (0V) 입력 상태로 묶어 두는것


저항과 센서 사이의 선을 아두이노의 analog 핀으로 연결하면 압력이 없을경우 0V, 압력이 생길경우 최대 5V 까지 입력이 됩니다
analog 핀은 저항값을 0~1023 까지의 값으로 변환해 주게 됩니다

첨부된 예제코드에서 확인할수 있듯이 서보모터는 180도 까지 제어하도록 되어있습니다 (SG90 은 180도까지 회전가능)
Serial.println(angle); 문구가 있으므로 시리얼 모니터로 역시 출력값 변화를 확인할수 있습니다

 

int val = analogRead(sensor);
int angle = map(val, 0, 1023, 0, 180);
Serial.println(angle);

프로젝트 동영상



아래는 압력센서
FSR IMS-C20B 를 사용한 동영상 입니다

IMS-C20B는 10kg 급 센서라서 압력을 주어도 서보모터 회전각도가 너무 미미해서 첨부된 예제에서

int angle = map(val, 0, 1023, 0, 180);
이 부분을

int angle = map(val, 0, 1023, 0, 36
0);
이렇게 수정후 테스트 하였습니다

사용하는 압력센서의 사양에 따라서 수치를 변경해 가면서 테스트 하면 됩니다

프로젝트 동영상


참고 프로젝트

Arduino Uno 로 FSR 압력센서 를 사용해 압력값 출력해 보기

 
 
반응형

댓글