②리니어 엑추에이터
우리가 원하는 그리퍼 메카니즘을 구현하기 위해는 리니어모터가 필요했다. 많은 리니어 모터의 종류가 있었지만 우리는 드론이 견디는 무게, 늘어나는 최적화된 길이, 쉽게 제어할수 있는 모터 등을 고려했다. 그래서 이러한 조건을 모두 고려한 FIRGELLI사에서 만든 L-12R 모터를 선정했다.
<L-12R 리니어 엑추에이터>
늘어나는 최대길이(스트로크)는 30mm이고 무게는 34g으로 비교적 가볍다. 늘어나는 속도는 11mm/s여서 매우 안정적이라고 할 수 있다.
③블루투스 칩
대표적으로 아두이노와 결합할 수 있는 무선통신 모듈은 지그비(zigbee)와 블루투스(bluetooth)이다.
-블루투스(BlueTooth)
일단 Bluetooth, 블루투스는 직역하면 파란 이를 뜻한다. 이름의 유래는 스칸디나비아 반도를 평화롭게 통일한 덴마크의 왕이었던 하랄 블로탄(Harald Blåtand)에서 유래했다. 블로탄은 푸른 이라는 뜻인데, 이를 영어로 옮기면 블루투스가 된다. 그가 이뤄낸 업적처럼 여러 기기 간의 무선 통신 규격을 통일 시키자는 의도로 지어졌다고 한다. 블루투스는 IEEE802.15.1 규격을 사용하는 산업 표준으로, Wi-Fi가 Ethenet을 대체 하듯이, 유선 USB를 대체하는 개념이다. 1994년에 에릭슨이 최초로 개발한 이후로 블루투스 1.0 , 2.0 등을 거쳐 지금에 와서는 2014년 12월 4일에 블루투스 4.2가 발표되었다. 블루투스의 세대 별 차이를 살펴보면 초기에는 전송 속도도 720kbit/s 정도에 거리고 10미터 가량밖에 되지 않았었다. 하지만 세대를 거치면서 3세대에서는 속도가 큰 폭으로 향상되어서 많은 기기들이 블루투스를 채택했고, 블루투스 4.0에서는 BLE(Bluetooth Low Energy)라는 저전력 블루투스가 개발되고 지원 거리 역시 100미터까지 안정화가 되었다. 4.2에 와서는 전송 속도 향상, IPv6 채택 등 IoT를 위한 연결 강화와 Beacon 기술의 발전에 따른 개인 정보 강화 등의 업데이트가 이루어졌다.
-ZigBee(지그비)
ZigBee, 지그비 이름의 유래는 벌집에 돌아온 꿀벌이 추는 춤(Zigzag Bee)에서 유래했다. 지그비는 IEEE802.15.4 표준을 기반으로 지그비연합(ZigBee Alliance)에서 개발 되었다. 2003년에 첫 표준이 제정되었고, 계속해서 개정되고 개선되고 있다.
지그비와 블루투스의 차이를 살펴보자. 일단 주파수 대역을 살펴보면 블루투스는 와이파이와 같은 대역인 2.4GHz의 대역을 사용한다. 반면에 ZigBee의 경우에는 국가 별로 조금 다른 데, 유럽에서는 868MHz, 미국 및 오스트레일리아에서는 915MHz를 사용한다. 그리고 그 외 세계 대부분 지역에서는 2.4GHz를 사용한다. 속도 역시 차이가 있는 데, 블루투스가 24Mbps로 비교적 고속인데 비해 지그비는 최대 250Kbps에 그치는 저속 통신이다. 또한, 전송거리에도 큰 차이가 있다. 블루투스는 산업용으로는 최대거리가 100m까지 가능하다고는 하지만, 일반적으로는 10m정도의 거리까지 가능하다. 지그비의 경우에는 실내에서는 10~20m 정도라고 하지만, 실외에서는 환경에 따라 1.5km 정도까지 통신이 가능하다. 또한, 블루투스는 네트워크 구성이 일대일, 혹은 일대다 방식으로 노드의 개수가 아주 제한적으로 연결되는데 비해 지그비는 AdHoc, Mesh형의 네트워크로 노드의 수가 200개 이상 연결 될 수 있어서 확장성이 아주 좋다. 소비전력 역시 성능이 좋은 블루투스에 비해 지그비가 훨씬 저전력이고,이다. 배터리는 블루투스가 작은 반면에 충전이 가능하고, 지그비의 경우에는 보통 1회용으로 수 개월에서 몇 년 간 충전 없이 사용하곤 한다. 그렇기 때문에 블루투스와 지그비는 활용 용도가 다른데, 블루투스의 경우에는 단거리에 빠른 속도로 데이터를 전송할 때 주로 사용할 수 있고 지그비는 장거리에도 상관없이 속도가 느려도 되는 환경에서 사용할 수 있다. 그래서 블루투스는 음악, 미디어 정보 등을 전송하기 좋기 때문에 웨어러블 디바이스 등에 쓰이고, 지그비는 무선 전등 조절, 센서와 같은 스마트 홈 디바이스 등에 쓰인다.
-무선통신 모듈 선정
우리는 이러한 점을 다 고려하여 조금 더 쉬운 통신을 찾고자 블루투스 통신을 사용하기로 하였다. 가장 보편화 되어있고 비교적 가격이 저렴한 HC-05 블루투스칩을 사용하기로 하였다.
④배터리
모터를 원격으로 제어하기 위해서는 모터가 작동할 수 있는 전압보다 적절히 큰 전압을 가해주어야 한다. 우리는 6V용 리니어 엑추에이터를 선정하였기 때문에 이보다 더 큰 7.4V용 배터리를 사용하기로 결정하였다. 우리는 그 중에서도 무게가 그나마 가볍고 충전이 용이한 7.4V용 리튬배터리를 사용하기로 하였고, 아두이노에 직접 전압을 인가해줄 수 있는 아두이노용 배터리를 선정하였다.
모터제어회로 구성
우리는 회로를 구성하기 위한 요소들을 전부 선정하고 구매한 후 회로를 구성했다.
①아두이노-블루투스칩 결합
빨간색으로 된 부분이 아두이노와 블루투스가 결합되는 부분이다. 블루투스의 RXD(수신단자), TXD(송신단자)를 아두이노의 2번,3번 단자에 결합했다. 이렇게 됨으로써 2번을 수신단자로 사용하고 3번을 송신단자로 사용하겠다는 뜻이다. 그리고 블루투스칩의 VCC 즉 전원을 아두이노의 5V단자에 결합했다. 그리고 각각의 GND(그라운드)단자를 결합했다.
②아두이노-리니어엑추에이터 결합
<리니어 엑추에이터 결합 방법>
위의 아두이노 사진에서 보듯이 파란색 동그라미 된 부분이 리니어 엑추에이터와 결합되는 부분들이다. 리니어 엑추에이터 같은 경우는 흰색선은 입력 신호로 아두이노 단자 7번에 결합했다. 빨간선은 전원선이므로 아두이노 5V단자와 결합해야 하지만 우리는 리튬배터리를 아두이노와 결합시킴으로써 외부의 전원을 사용하기 때문에 Vin단자에 결합해야한다. 검은선은 그라운드 선이므로 아두이노 그라운드 단자와 각각 결합했다.
③최종회로의 구성
아두이노 프로그래밍
모터를 우리가 원하는대로 제어하고 움직이려면 아두이노에 프로그래밍을 하여 업로딩 시켜야한다. 아두이노 프로그램을 아두이노 사이트에서 다운받은 후 프로그래밍을 하였다.
Servo,SoftwareSerial 이라는 함수는 라이브러리 함수이기 때문에 아두이노 프로그램에서 쉽게 불러들일 수 있다. 아두이노 프로그램은 크게 void setup()부분과 void loop()부분으로 구성된다. void setup() 안에 들어가는 코드는 프로그램이 시작될 때 한번만 실행되며, 주로 초기 설정과 같은 코드들을 넣어준다. void loop() 안에 들어가는 코드는 void setup()이 실행된 후 반복적으로 실행되는 코드이다. 프로그램의 주된 명령어들이 들어가게 된다. myServo.attach(7)이라고 프로그래밍 한 이유는 우리가 모터의 RC입력신호를 아두이노 7번단자에 결합시켰기 때문이다. 또한, writeMicroseconds는 입력 펄스 신호이다. 우리가 구매한 리니어 엑추에이터의 데이터시트를 찾아보면 1~2ms의 신호를 받기 때문에 wirteseconds(1000)은 초기상태라는 뜻이다. btSerial. begin(9600)은 블루투스 시리얼을 개방한다는 의미이다.
void loop에는 앱 인벤터를 통해 모터를 제어하기 위해 구성된 코드들이다. 앱 인벤터를 통해 a라는 입력을 주면 리니어 엑추에이터가 최대길이 만큼 늘어나게 되고, b라는 신호를 주게되면 다시 최소길이 즉, 초기위치로 돌아간다는 의미이다.
앱 인벤터와 아두이노
블루투스를 이용해 무선으로 모터를 제어하기 위해 그 수단을 가장 간편하게 가지고 다니는 휴대폰 즉 스마트폰으로 하기로 선정했다. 휴대폰에서 회로에 무선으로 전송하는 신호를 설정하기 위해 앱 인벤터라는 프로그램을 이용하기로 하였다. 앱 인벤터(MIT App Inventor)는 안드로이드의 어플리케이션을 개발하는 툴도구로, 복잡한 Java언어가 아닌, 정해져있는 블럭을 마우스로 끌어다 사용하기 때문에 초보자들도 쉽게 프로그래밍 할 수 있기 때문에 앱 인벤터를 사용하였다.
이렇게 휴대폰과 앱인벤터를 연동시켜서 내가 사용할 버튼을 만든다. 전진은 리니어 엑추에이터가 최대길이 만큼 간다는 것을 의미하고 후진은 다시 최소길이만큼 간다는 것을 의미한다. 사용할 버튼을 만든 후 버튼의 블럭을 만들어야한다. 블록은 버튼을 논리함수로 이루어지게 만든다.
이렇게 전진이라는 버튼을 터치하면 a라는 입력을 아두이노 회로에 준다는 블록을 만들고 이와 같이 후진이라는 버튼을 터치하면 b라는 입력을 아두이노에 준다는 블록을 만든다.
'기계공학 꿀꺽꿀꺽' 카테고리의 다른 글
열전달-Heat Sink (1) | 2023.10.10 |
---|---|
마이크로공학의 기본-모터 (1) | 2023.10.10 |
로봇공학의 기본 (0) | 2023.10.10 |
스트레인 게이지(Strain Gauge) 계측 원리 및 방법 (2) | 2023.10.10 |
기계공학-임베디드공학(회로구성) (1) | 2023.07.17 |