'마이크로컨트롤러'에 해당되는 글 4건

  1. 2016.01.10 초보자들을 위한 드론 입문 백서
  2. 2015.04.30 입문자를 위한 F450 기체 바디
  3. 2014.03.27 아두이노(Ardunio)의 장점(1)
  4. 2014.03.11 AVR이란?
Drone News/News2016. 1. 10. 18:08


근래에 드론(Drone)이 레저 스포츠로 각광을 받으며 국내에서도 동호회가 봇물처럼 생겨나고 있습니다. 이런 이유로 야외나 주변 공원에서 드론을 날리를 모습을 심심치 않게 보게 됩니다. 특별히 드론으로 레이싱 경기를 하지 않는 이상 일반인도 구매에서부터 쉽게 비행할 수 있기 때문입니다.


예를 들어, 헬기를 비행하는 기존의 RC에서는 기체가 순간적으로 기울어지면 반대방향으로 싸이클릭을 주어 기체를 인위적으로 안정시키는데, 이는 거의 무의식적으로 이루어져야 추락을 면할 수 있으므로 비행을 즐기기 위해서는 마치 자전거를 배우는 것처럼(사실 이보다는 어렵습니다!)상당한 기간의 비행기술 습득 및 반복 연습이 요구되었습니다.


하지만 요즈음 드론은 기체의 수평을 잡아주는 장치나 각종 센서의 발달로 기체가 기울어지면 스스로 안정화시키고, 고도를 스스로 유지한다던가 아니면 비행지점을 설정해 놓으면 스스로 비행하는 자율 비행 기술이 발달함에 따라, 조종자는 이동하고자 하는 방향으로 조종간을 주기만 하면 되기 때문에 일반인도 쉽게 비행 가능하며, 전용 조종기 대신 스마트폰으로도 간단히 조종 가능하다는 것입니다.


뿐만아니라 드론의 대중화는 드론에 필요한 장치를 개발하고 판매하는 업체가 다양화되면서 장치들의 일정한 표준화가 이루어져, 완전히 조립된 기체에 싫증이 난 매니아층이나 성능 개선, 비용을 줄이기 위해서 드론 자작을 시도하는 사람들도 증가하는 추세라는 것입니다. 이러한 DIY(Do It Yourself)를 지향하는 사람들은 비행만큼이나 드론의 조립에도 특별한 경험과 즐거움을 갖게 된다는 것입니다.


하지만 드론을 자작하기 위해서는 드론에 대해서 어느 정도 지식이 요구되며 이로 인해서 어린이용 장난감과도 구분이 된다는 것입니다. 드론 부품은 국내외 온라인 사이트나 오프라인 매장에서 쉽게 구할 수 있는데, 어떤 분은 3D 프린터를 이용해서 기체의 프레임을 직접 자작하기도 합니다. 기체의 프레임이란 기체에서 비행제어기나 추진용 모터, 수신기, 각종 센서들을 제외한 이를 탑재하는 기구적인 기체를 의미합니다.


드론은 날개 수에 따라 쿼드콥터나 옥토콥터 등으로 구분되는데, 날개를 축 혹은 암(Arm)이라고 합니다. 날개가 4개이면 쿼드콥터이고 8개이면 옥토콥터가 되며 날개 수가 많을 수록 기체는 안정화되고 양력이 커서 무거운 짐을 더 많이 매달고 비행할 수 있습니다. 하지만 날개 끝에 프로펠러(줄여서 프롭(prop.))를 회전시키는 모터도 같이 증가하므로 밧데리 소모량이 많고 이는 체공시간의 감소를 가져와 고용량 밧데리의 사용으로 비용이 증가한다는 것입니다. 프롭을 회전하는 것이라는 하여 '로터(rotor)'라고도 부릅니다.


트라이콥터(Tricopter)


그러므로 초보자는 4개의 날개를 가진 쿼드콥터를 선택하는 것이 바람직하며, 드론을 전후좌우로 움직이기는 방향타를 주고 스로틀을 조절할 수 있는 저렴한 4채널의 조종기면 충분하다는 것입니다. 드론에 카메라를 장착하여 기구적으로 비행 중에 움직이길 원한다면 데이터를 주고받을 추가적인 채널이 필요하게 되는데, 채널의 증가는 곧 조종기의 비용으로 이어진다는 것입니다. 여기서 스로틀(throttle)이란 드론이 지상에서 양력을 얻어 이륙하고 착륙할 수 있도록 수직방향의 '엑셀레이터'와 같은 것입니다.


통상 초보자가 입문단계에서 기체의 비용은 20만원 전후도 있으며 4채널 조종기를 포함하여 40~60만원 정도로 구입할 수 있습니다. 기체가 커지거나 장착한 카메라 등의 조종이 필요하다면 비용은 증가하게 됩니다. 보통 초보에게는 250급 쿼드콥터가 추천되는데 250급이란 양 암(축)의 길이로 기체의 수평방향 폭과 같으며 이 길이가 250mm라는 것입니다. 완제품 드론의 구입시 조종기를 제외한 가격을 예시하는 경우도 많아 반드시 알아보고 구입해야 합니다.


드론은 구성은 기체 프레임(frame)과 모터(motor), 변속기(Electronic Speed Controller; ESC), 수신기(Receiver; Rx), 비행제어기(Flight Controller; FC), 밧데리(battery) 등으로 구성되며 드론을 조종할 수 있는 조종기(Transceiver; Tx)가 필요하게 됩니다. 여기서 카메라를 장착한다만 카메라 등의 별도의 장치가 필요하게 되고, 위성 신호를 수신하는 경우에 비행제어기에 포함되지 않고 외장 모듈로서 구입하여 장착하는 경우가 많습니다. 



기체 프레임(frame)은 근래에 유리 섬유(fiberglass sheet; G10)나 탄소 섬유(carbon fiber)의 재질이 대부분인데 특히 후자는 가볍고 잦은 추락에도 강인함이 있기 때문입니다. 모터는 프롭을 회전시켜 추력을 발생시키는 중요한 동력원으로 브러시(brush)가 있는 DC 모터보다는 브러시가 없는 BLDC(Brushless DC) 모터를 사용하게 됩니다. 이는 브러시로 인하여 기구적인 내구성 문제도 있지만 고효율이라는 장점으로 고효율은 밧데리 수명과도 직결되기 때문입니다.


BLDC 모터는 우수한 특성을 갖지만 이를 제어하기 위해서는 까다로와 마이크로컨트롤러를 사용하여 제어기를 구성하게 되며, 최근에서 BLDC의 부류이지만 유도 전동기와 개념이 동일한 PMSM 타입의 모터가 사용되는 추세입니다. 이는 BLDC 모터보다 정밀한 제어와 효율이 뛰어나지만 보다 고성능의 마이크로컨트롤러가 요구된다는 단점이 있습니다. 이러한 제어기는 전자적으로 속도를 제어한다고 하여 '전자 변속기'라 부르고 통상 ESC라 합니다. 따라서 쿼드콥터이면 각각 4개의 모터와 프롭 그리고 ESC가 필요하게 됩니다.


수신기와 송신기는 동일한 주파수를 사용하여 데이터를 주고 받는 장치로 기존의 주파수 변조 방식(FM)에서 크게 DSM(Digital Spectrum Modulation)과 FASST(Futaba Advanced Spread Spectrum Technology) 등의 디지털 방식으로 진화하였고, 수 GHz의 주파수 사용으로 대역폭이 늘어나 이제는 송신기에서 일방적으로 데이터를 보내기보다는 기체의 센서로부터 각종 데이터 받아 조종자에게 보여주는 양방향 방식으로 변천하였고, 높은 주파수의 사용은 안테나 길이의 감소를 가져와 송신기의 거추장스러운 긴 안테나의 모습은 이제 사라지게 되었습니다.



또한 밧데리는 근래에 리튬폴리머(Li-Po) 타입을 사용하는데, 최소 1개의 셀이 3.7V로 250급 쿼드콥터에서 3개정도의 셀을 사용하여 11.1V를 만들게 됩니다. 이 3개의 셀을 '3S'라 쉽게 표현하고 3개의 셀을 직렬 연결하여 사용함을 의미합니다. 스마트폰에도 사용하는 리튬폴리머 전지의 특징은 충전용량이 높고 4개의 모터를 강력하게 회전시킬 수 있는 우수한 방전능력을 가지지만 사용시에나 충전시에 조건을 만족시키지 못하면 폭발하는 성질이 있어 전용 충전기가 반드시 필요하게 됩니다. 이는 대부분 별도의 비용이고 대부분의 쿼드콥터에서 비용이 합리적인 선에서 체공시간은 20분 정도로 20분 후면 밧데리가 완전 방전되게 됩니다.


마지막으로 비행제어기는 드론의 두뇌역활을 하는 마이크로컨트롤러가 탑재된 중앙처리장치로 송신기에서 보낸 지령을 수신기로 받아 이를 해석하고, 축의 모터에 연결된 변속기를 제어하는가 하면 고도센서와 같은 각종 센서들의 정보를 이용하여 기체의 안정도를 꾀하고, 필요하다면 조종자에게 알리며 센서를 이용하여 고도를 유지하거나 인공위성 신호를 분석하여 자동비행 모드에서 정해진 절차에 따라 기체의 비행을 스스로 시행하기도 합니다.



드론의 자작은 다양한 전기전자적인 지식을 요구합니다. 어디까지 개인의 취향에 맞게 개선하느냐에 따라 단순한 납땜을 비롯해 메이커만을 변경하는 문제에서 비행제어기나 변속기 내의 펌웨어까지도 수정할 수 있습니다. 후자의 경우 상당한 지식과 노하우가 요구되며 전문가이더라도 상당한 시행착오가 있을 수도 습니다. 드론 비행 자체는 결코 장난감이 아니며 남에게 상해 이상의 피해를 가할 수 있슴을 직시하고 안전에 만전을 기하여야 할 것입니다.


최근에 드론으로 인한 사고와 주변 안전이 우려되어 관련법의 마련이나 개정이 대두되고 있습니다. 또한 서울지역의 약 80%가 드론 비행 제한 구역이기에 드론을 날릴 때에서 각별히 유의해야 할 것입니다. 드론을 직접 자작하여 비행하면 기쁨은 분명 배가 될 수 있습니다. 하지만 때로는 인고의 노력과 유연한 인내심이 요구될 수도 있습니다. 자작에 앞서서 동호회 등에서 주변 지식에 대한 두루 섭력이 반드시 요구될 것입니다.



Posted by Nature & Life
Radio Control/etc2015. 4. 30. 18:38


사람마다 멀티콥터(Multicopter)를 즐기는 방법은 크게 2가지가 있습니다.


● 레저활동으로 다이나믹한 조종비행과 고공촬영을 즐기는 매니아 층

● 멀티콥터를 직접 제작부터 비행까지 취미생활을 영위하는 매니아 층


자신이 단순히 레저활동으로 비행을 즐기고 촬영을 감상하는 매니아 층이라면 Flight Controller(FC)를 포함한 상업용 완전한 기체(RTF)를 구입하여 바로 비행에 나서는 것이 시간을 단축시키는 길입니다. 그러나 Flight Controller의 구성(GPS 등) 및 펌웨어(Firmware) 등을 수정하며 조립과정에서부터 비행까지 직접 관여하며, 프론티어 정신에 비중을 두는 매니아 층이라면 완전한 기체(RTF)보다는 반조립 기체(ARF)에 자신이 직접 제작한 Flight Controller 등을 탑재하길 원할 것입니다.


만일 후자의 경우라면 전자와 다르게 고려해야 될 것이 많이 있습니다. 대부분의 상업용 기체는 Rock solid한 반면에 자작용 기체는 유연하지만 안정성이 떨어질 수 밖에 없다는 것입니다. 'Rock soild'라 함은 제조사에서 무수한 시행착오로 고도로 최적화되어 있어 안정한 비행이 가능하다는 것이고, 후자는 하드웨어적 유연성으로 인해 혹은 여러 부품과의 호환성으로 인해 안정성은 결국 유저 자신의 몫이라는 것입니다.


하지만 후자의 경우 여러 장점도 있습니다. 상업용 기체는 안정성을 담보로 로열티에 대한 댓가를 치루어야 합니다. 즉 비싸다는 것입니다. 그러나 후자는 기체만을 구입하고 Flight Controller 등은 Open source 이기에 저렴하다보니 조립하는 것이 [반드시 그렇지는 않지만] 싸질 수 있다는 것입니다. 자신의 드론(Drone) 제작에 앞서 드론을 정복하기 위해서는 많은 관련지식과 시행착오를 겪어야 하며 때론 추가의 비용과 많은 시간이 걸릴 수도 있다는 것을 기억해야 합니다.


멀티콥터를 제작하려면 우선 Flight Controller를 선택해야 합니다. Open source로는 크게 Multiwill와 APM 시리즈가 있는데 두터운 사용자 층을 고려한다면 Multiwill가 추천되는 추세입니다. 이는 Community가 보다 활성화되어 있어 조립과정 중에 혹은 기체 셋팅 중에 발생할 수 있는 문제를 쉽게 해결할 수 있다는 것입니다. 기타 Open source를 골라야 한다면 원론적으로 메인 칩셋부터 확인해야 할 것입니다. 왜냐면 단적으로 STM시리즈의 마이크로컨트롤러(Microcontroller)에 익숙하지 않다면 수정은 고사하고 코드를 읽기조차 힘들기 때문입니다.


Multiwill은 Community에서 지속적으로 업데이트되고 있으며 포럼에서 많은 도움을 받을 수 있으며 코드의 수정과 업로드하는 과정을 간단화시킨 근래의 아두이노(Arduino) 환경에서 쉽게 개발할 수 있기 때문입니다. 게다가 메인 칩셋은 Atmel사의 칩으로 C언어로 최적화가 잘되는 마이크로컨트롤러로 알려지며 폭넓게 사용되고 사용자 층이 넓기 때문입니다.


어떤 매니아는 ESC조차도 자작을 시도하는데 이 경우를 제외하면 기체는 Brushless 모터를 포함한 프롭과 ESC, 프레임을 모두 갖춘 보급형 퀴드콥터 기체가 입문자로서 적당할 것입니다. F450 ARF 기체는 중국 DJI사(http://www.dji.com) 제작한 쿼드콥터 기체로 그래도 저렴한 편이며, 최근에 많이 보급되어 프레임이 견적으로 이어지면 쉽게 교환할 수 있는 장점이 있습니다.


Phantom 3


또한 F550 ARF는 헥사콥터(엄밀하게 6개의 Arm을 가짐) 기체용이며 DJI사는 자사의 Naza 시리즈 Flight Controller를 탑재하여 Phantom 시리즈로 조립, 발매하고 있습니다. F450 ARF 기체는 Flight Controller와 송/수신기, 밧데리 등은 제외하고 있으며 스펙은 다음과 같습니다.

    • Frame Weight(기체 무게) : 282g

    • Diagonal Wheelbase(대각선 기체 길이) : 450mm

    • Takeoff Weight(이륙 중량) : 800g ~ 1200g

    • Propeller : 10 x 4.5inch

    • Battery : LiPo(3S 1500mAh ~ 2600mAh)

    • Motor : 2212 ~ 2216(stator size)

    • ESC : 15A ~ 25A



F450 ARF 기체의 외형


F450 ARF 기체의 구성




'Radio Control > etc' 카테고리의 다른 글

Power Distribution Board란?  (0) 2017.03.08
Posted by Nature & Life


 

아두이노(Arduino)는 오픈 소스(Open Source)를 기반으로 한 단일 보드(board) 마이크로 컨트롤러입니다. 2005년 이탈리아 사람에 의해서 최초 만들어지기 시작한 프로젝트로 현재에도 진행 중에 있으며 Arduino는 이탈리아어로 영어의 'Best Friend'와 같은 의미를 가진다고 알려집니다.

 

아두이노는 대부분 Atmel社의 ATmega8이나 ATmega32U4, ATmega168, ATmega328, ATmega2560 등을 탑재한 보드로 이들 마이크로 컨트롤러에 탑재할 펌웨어(Firmware)를 개발하는 환경에서부터 컴파일 및 독립적으로 작동할 수 있도록 업로드 과정이 편리하여 최근에 전 세계적으로 인기를 끌고 있습니다. 

 

2011년에는 구글의 안드로이드(Android)가 아두이노를 하드웨어 파트너로 선택한 이유도 이런 확장성과 편리함 때문에 상호간에 시너지 효과를 기대해 보자는 것으로 풀이되며, 이러한 추세에 힘입어 얼마전에는 Intel社에서도 아두이노 플랫폼에 자사의 Quark Processor를 탑재한 갈릴레오(Galilo)를 출시하였는데, 이러한 것도 내내 동일한 맥락이라는 것입니다.

 

갈릴레오 보드

 

하드웨어에 서툰 사람들조차도 아두아노에 관심을 가지게 만드는 이유는 요구하는 제품이 기존의 AVR의 개발환경에 비하여 뚜렷하게 간소화됨으로 말미암아 편리함일 수도 있지만, 이러한 과정들이 복잡하지 않아 소프트웨어 제작이나 다양한 하드웨어 DIY(Do It Yourself)를 즐기는 사람들에게 호기심을 불러 일으키기에 충분하였기 때문일 것입니다.

 

그럼 아두이노는 어떤 장점이 있는지 요약하여 봅니다.

 

1) 소프트웨어 개발을 위한 통합 환경(IDE)이 간소화 되었다는 것입니다.

가장 큰 장점으로 기존의 AVR 프로그래밍은 WinAVR로 컴파일하여 별도의 ISP 장치를 통해 업로드 해야하는 번거로운 과정을 거쳐야 하는데, 아두이노는 컴파일된 펌웨어를 보드 내 USB 포트에서 PC의 USB 포트로 케이블을 연결하는 것만으로 쉽게 업로드 할 수 있다는 것입니다.

 

2) Windows를 비롯한 Mac OS X 및 Linux와 같은 다양한 OS 환경을 지원합니다.

 

3) 다양한 소프트웨어와 연동이 가능하다는 것입니다.

사용자들이 기존에 즐겨 사용하여 익숙했었던 Flash나 Processing, Max/MSP, Android, Object C, Labview, Pure Data 등과 같은 소프트웨어를 연동할 수 있다는 것입니다.

 

4) 가격이 저렴합니다.

사실 마이크로컨트롤러를 배우고 싶어서 강좌를 듣거나 데모보드를 구입하려면 최소한 수 십만원 정도 이상을 호가하는데, 이에 비해 아두이노 보드는 상대적으로 매우 저렴하다는 것입니다.

 

5) 아두이노는 오프 소스입니다.

아두이노는 보드의 회로도가 공개되어 있으며 개발환경 조차도 오픈 소스이고 이로 인해 각종 회로도나 펌웨어 소스가 웹상에서 다량 공유되어 있다는 것입니다. 뿐만 아니라 여러 개발자들이 만들어 놓은 라이브러리 조차도 공유되어 개발 시간을 단축시키고 있다는 것입니다. 

 

다음은 아두이노 포럼입니다.

 

http://forum.arduino.cc/

 

 

현재 가장 많이 사용되는 아두이노는 보드는 기본형 우노(Arduino UNO)로써 손바닥만한 크기를 가지면서 ATmega328을 탑재하고 있는데 6개의 아날로그 입력단자와 14개의 디지털 입출력단자를 지원합니다. 이러한 입출력 단자들은 우노 보드에 위로 쌓아(Stack-up) 연결된 확장보드(Shield 보드, Shield-up 보드)에 서로 연결되고, 사용자는 1개 이상의 이들 확장보드에 주변회로를 직접 꾸며주게 됩니다.

 

 

 

Posted by Nature & Life
Embedded Programming/AVR 2014. 3. 11. 13:11

 

AVR(Atmel AVR)은 8bit RISC 단일칩(onechip) 마이크로컨트롤러(Microcontroller) 혹은 마이크로컴퓨터(Microcomputer, Micom)로 일반적으로 마이컴이라고 부릅니다. 1996년에 美 Atmel社가 하버드 아키텍처(Harvard architecture)로 수정하여 개발한 구조로 프로그램을 저장하기 위해 타사 마이컴처럼 ROM, EPROM 또는 EEPROM을 사용하지 않고 단일칩 플래시메모리(Flash memory)를 처음 사용하였다고 전해집니다.

 

AVR 마이컴은 중앙처리장치(CPU)와 소용량 플래시메모리가 하나의 IC에 집적되어 있으며 프로그램과 데이터 영역의 메모리가 분리된 형태로 특수 명령어로 프로그램을 데이터 영역으로 읽어들일 수 있습니다. 마이컴에 프로그램을 탑재하기 위해서는 ISP(in-system programming) 방식으로 Reset을 추가한 SPI 프로토콜로 업로드가 가능합니다.

 

http://www.atmel.com/

 

 

 

무엇보다도 AVR은 ISP 기능을 통해 매우 저렴하게 개발환경을 구축할 수 있다는 점과 한 cycle에 한 개의 명령(instruction)을 수행하는 파이프 라인 방식으로 연산 속도가 빠르며, 하버드 아키텍처의 특징으로 C언어에서 우수한 성능을 발휘하며 게다가 우수한 각종 컴파일러(Compiler)와 디버거 툴인 AVR Studio를 무료로 제공한다는 특징을 가집니다. 이밖에도 A/D 변환기, PWM, SPI 등의 고기능을 손쉽게 구현할 수 있다는 장점이 있습니다.

 

AVR은 위와 같은 특징으로 말미암아 대중화되었으며 근래에는 보다 상위개념의 ARM 프로세서가 출시되어 아이폰이나 최신기기에 탑재되지만, 저렴하여 가격대비 성능면에서 우수하여 여전히 중소 규모의 다양한 기기에 여전히 활용되고 있으며, 드론(Drone)이나 기타 RC에 사용되는 장치에는 다른 마이컴인 PIC 보다 처리 속도가 빠르고, 8051 계열보다 자원이 풍부한다는 장점으로 보다 널리 사용되고 있는 실정입니다.

 

 

 

다음은 AVR의 일반적인 특징을 요약하였습니다.

 

  • ISP(In System Programming) 기능이 있어 AVR을 장치에 부착한 상태에서 내부 메모리에 프로그램이 가능합니다.

  • RISC 구조로 동일 클럭(clock)으로 동작 시 PIC보다 4배 빠르고, 8051보다 10배 이상 빠릅니다. 예를 들어 1MHz에 1MIPS의 처리 능력이 있어 20MHz로 동작하는 경우 20MIPS의 처리 능력을 가집니다.

  • CPU 설계 단계에서 레지스터/메모리/명령어가 C 언어에 적합하도록 설계되어 C 언어를 사용하면 개발 기간을 단축하고 유지 보수가 편리하다는 것입니다.

  • 다양한 AVR 제품군이 있어 저가의 적합한 소자의 선정 및 사용이 가능하고 풍부한 저가의 개발 환경 및 응용 기술 자료가 많다는 것입니다.

  • SRAM, 통신포트, A/D 변환기, Watchdog, 타이머, PWM, I/O포트 등의 풍부한 내부 장치를 구비하여 외부에 별도로 주변장치를 부착하지 않아도 된다는 것입니다.

 

 

'Embedded Programming > AVR ' 카테고리의 다른 글

다양한 AVR Package 비교  (0) 2014.06.14
변수 vs. 메모리  (0) 2014.04.20
AVR의 메모리 구조  (3) 2014.04.20
부트로더란?  (0) 2012.12.10
Posted by Nature & Life