'Atmel'에 해당되는 글 5건

  1. 2015.04.30 입문자를 위한 F450 기체 바디
  2. 2014.06.03 RapidESC Flashing
  3. 2014.03.27 아두이노(Ardunio)의 장점(1)
  4. 2014.03.24 TWI(I2C) 통신이란?
  5. 2014.03.11 AVR이란?
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
Radio Control/ESC2014. 6. 3. 12:35


How is it done?

어떻게 프로그래밍 하는지요?

The process is popularly called flashing. It's actually quite similar to the firmware update from the OpenPilot product through the USB cable and the Ground Control Software.
이 과정은 'flashing'이라고 부릅니다. OpenPilot 제품을 USB 케이블과 지상 제어 스프트웨어(Ground Control Software)를 이용하여 펌웨어를 업데이트 하는 것과 실제로 매우 유사합니다.

The ESC must be connected to the computer via an interface adapter. Afterwards, new software is installed onto the ESC via your computer. Unfortunately, the ESC is not equipped with a standard USB connection port. nor was it intended to be upgraded by the user, so a few little tricks are needed to upgrade the software. This document will illustrate how to successfully upgrade your ESC.
ESC는 인터페이스 어댑터를 통하여 컴퓨터로 연결되어야 합니다. 후로 새로운 소프트웨어가 여러분의 컴퓨터를 통해서 설치됩니다. 불행하게도 ESC는 표준 USB 연결 포트와 잘 연결되도록 갖추고 있지 않으며, 사용자에 의해서 업그레이드를 허용하지도 않습니다. 그래서 작은 트릭이 소프트웨어를 업그레이드 하기 위해서 요구됩니다. 이 문서는 어떻게 여러분의 ESC를 성공적으로 업그레이드 하는 지를 설명할 것입니다.


Risks:
Please note that there is always a possibility you will damage your ESC. Loading the wrong firmware may damage your ESC permanently. The upgrade should be done at your own risk.
여러분의 ESC를 손상시킬 수 있는 가능성이 항상 존재함을 기억하세요. 올바르지 못한 펌웨어를 탑재하는 것은 여러분의 ESC를 영구적으로 손상시킬 수 있습니다. 업그레이드는 전적으로 여러분의 책임입니다.

Compatible ESCs
호환되는 ESC들

The first step is to check whether your ESC can actually be upgraded. At the time of ths writing, only ESCs with an ATMEL micro controller can be upgraded. ESCs equipped with a SiLabs micro controller, which are mainly recent HobbyWing ESCs, cannot currently be upgraded.
처음 단계는 여러분의 ESC가 실제 업그레이드 될 수 있는지 확인하는 것입니다. 이 글을 쓰는 시점에서 ATMEL MCU로 만들어진 ESC만 업그레이드 될 수 있습니다. 주로 최근에 HobbyWing ESC에 사용되고 있는 SiLabs MCU를 실장한 ESC는 현재 업그레이드 할 수 없습니다.

Close up from a Hobbyking 18A ESC with a Atmel micro controller. 

Atmel MCU를 실장한 Hobbyking 18A ESC의 확대사진


An ESC with this version of MCU can normally be upgraded.
이 버젼의 MCU는 정상적으로 업그레이드가 가능합니다.

Close up from a Hobbywing 6A ESC with a SiLabs micro controller.

SiLabs MCU를 실장한 Hobbywing 6A ESC의 확대사진


An ESC with this version of MCU is typically accompanied with 4 contacts or programming points and cannot be upgraded.
이 버젼의 MCU를 실장한 ESC는 전형적으로 4개의 접점 혹은 프로그래밍 포인트를 가지므로 업그레이드를 할 수 없습니다.

Please note that the latest Hobbywing ESCs are no longer sold with an Atmega microprocessor. While earlier versions of these ESCs are equipped with an Atmga MCU and can be upgraded, newer versions cannot be upgraded. The only way of knowing if you have an Atmel processor on your ESC is removing the protective heat shrink and verifying the MCU type. If the MCU is an Atmel like in the above noted picture, then it should be possible to upgrade the ESC.
가장 최근의 Hobbywing ESC들은 더 이상 Atmega MCU를 실장하지 않음을 주의하세요. 반면에 이들 ESC의 초기 버젼들은 Atmega MCU를 내장하여 업그레이드가 가능하고, 새로운 버젼들은 업그레이드 할 수 없습니다. 여러분이 여러분의 ESC가 Atmel 프로세스를 내장하는지를 아는 유일한 방법은 protective heat shrink(외부 포장재)를 제거하고 MCU 형태를 파악하는 것입니다. 만일 MCU가 위에서 언급된 그림에서와 같이 Atmel이라면 그 때 ESC를 업그레이드 하는 것은 가능할 것입니다.

Check your ESC
여러분의 ESC를 확인하세요

The only way to check whether your ESC is compatible and flash new firmware is to remove the protection. Caution here... you can damage the components on the ESC if you are not careful. In the following slideshow an X-acto knife is used to cut the protective shrink tube. Carefully cut along the side of the PCB and do not damage the components.
여러분의 ESC가 호환되고 새로운 펌웨어를 프로그램할 수 있는지는 확인하는 유일한 방법은 보호필름(외부 포장재)을 제거하는 것입니다. 여기서 주의해야 할 것은 여러분이 ESC상에 부품들에 손상을 줄 수 있다는 것입니다. 다음의 슬라이드에서 X-acto 칼이 보호필름 튜브를 자르는데 사용됩니다. PCB의 측면을 따라서 주의롭게 자르고 부품을 손상시키지 않습니다.




The micro controller should be an Atmel controller, it is regularly accompanied with 6 contact points, but this is not necessarily a requirement.
MCU는 Atmel 콘트롤러이어야 합니다. 이것은 보통 6개의 접점 포인트를 가지지만 반드시 있는 것은 아닙니다.


Please refer to the  RapidESC Database to verify if your ESC is compatible.
여러분의 ESC가 호환되는지는 알아보기 위해서 RapidESC 데이터베이스를 참고하시기 바랍니다.



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

RapidESC, 오픈 소스 펌웨어 개발 사이트  (0) 2014.06.19
RapidESC FAQ's  (0) 2014.06.11
RapidESC란?  (0) 2014.05.26
Wii-ESC에 대한 FAQ  (0) 2014.04.07
Wii-ESC 프로젝트의 소개입니다  (0) 2014.04.04
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

 

 

통신약정(Protocol)이란 데이터를 보내는 사람과 받는 사람이 정보를 오류없이 원할히 주고 받을 수 있도록 쌍방간에 정하는 규칙 혹은 약정입니다. 이는 원거리 인터넷이나 FAX 통신도 혹은 PC와 그 주변기기와의 통신같은 근거리 통신에도 반드시 존재하며 자동차 내에서 혹은 한 보드내에서 칩과 칩 사이의 통신에도 적용됩니다.

 

AVR의 경우에는 다른 칩과의 통신방법으로 SPI(Serial Peripheral Interface)인 SCI(Serial Communication Interface, UART)나 TWI 통신을 지원합니다. 어느 정도 근거리 통신에서도 사용되어야 하기에 송수신에 앞서서 노이즈 등에 대비하여 신호의 크기를 키워야 할 필요가 하는데 이것이 PC 등에 사용되는 RS232C 트랜시버가 됩니다.

 

이러한 SPI 방식에서는 보내는 라인과 받는 라인 그리고 동기화된 클럭(Clock)으로 3가닥의 라인을 필요로 하였고, 한편 이 라인의 수를 더 간소화시켜 오직 2가닥 만으로 데이터의 송수신을 가능하게 한 새로운 인터페이스(Interface)를 제공하게 되었는데 이를 TWI라고 명명합니다.

 

TWI는 'Two Wire Interface'의 약자로 이를 통해서 AVR 칩은 오직 2가닥 만으로 128개의 다른 장치들과의 통신할 수 있다는 것입니다. TWI는 Atmel社 등이 주로 사용하지만 1980년대 Philips社에서 만든 I2C 인터페이스와 매우 유사하여 하드웨어의 별다른 수정없이 그대로 사용할 수 있다는 장점이 있습니다. 통상 I2C 인터페이스가 2가닥의 라인을 이용하므로 TWI라 부르게 되었습니다.

 

Philip社에서 제창한 I2C(IIC)는 칩(IC)간의 통신을 의미하는 'inter IC(Integrated Circuit)'의 준말로 'i square c'라고 읽으며, 비록 서로 다른 회사로부터 만들어졌지만 10-bit 주소나 고속 모드(high speed mode) 등에 차이를 제외하면 서로 호환가능하여 수정없이 사용할 수 있다는 것입니다.

 

TWI 통신이 가능한 장치는 데이터(SDA, Serial Data Line)와 클럭(SCL, Serial Clock) 라인이 공통 버스(bus)에 연결되어 고유의 주소값을 가져 다른 칩과 통신시 master와 slave의 관계를 번갈아가며 데이터의 송수신이 가능합니다. 표준 모드(standard mode)에서 100kbit/s로 통신할 수 있고 버스의 capacitance가 400pF을 넘지 않는 한도에서 칩을 계속 연결할 수 있다고 알려집니다.

 

 

 

 

간단하게 설명하면 아래 그림과 같이 데이터(SDA)를 클럭(SCK)에 동기화하여 주고 받는 방식으로 먼저 데이터를 주고 받고자하는 장치 주소(Address)를 1~7번 비트에 싣고 보낼지 읽을지에 따라서 8번 비트를 Read('1')나 Write('0')로 설정하며 그 다음에 데이터를 연속적으로 읽거나 실을 수가 있다는 것입니다.

 

 

 

여기서 ACK 비트는 정보의 송신자에게 직전 8-bit의 정보를 수신했는지의 여부를 확인하는 값입니다.

 

 

'Flight Controller 이해 > 인터페이스' 카테고리의 다른 글

CAN 통신이란?  (0) 2017.12.24
드론에서 사용되는 무선 통신  (1) 2017.03.09
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