Ardupilot and the Atmega328

Ardupilot and the Atmega328

ArduPilot and the Atmega328 Ben Mihevc, Scott Thompson Agenda • ArduPilot Overview • History of the Arduino • Architecture Overview o Atmega328 o AVR • Peripherals o GPS/IMU • Comparisons • Conclusions • Questions What is the ArduPilot? • ArduPilot is an Arduino based autopilot o A microcontroller to interpret and respond to a number of sensors • Want to make UAV? o ArduPilot is an Open Source hardware and software controller • What is open source? o An open source project is a project licensed under the agreement that all uses of it will be fully documented and free to use. o No inaccessible black boxes. [8] History of Arduino • Released in 2005 for students at a small school in Italy • Massimo Banzi o Frustrated with BASIC Stamp educational boards Expensive Lacking Computing Power arduino.cc o Arduino took a more creative approach Set a goal for $30 per board Named after a bar in Ivrea, Italy The “Bar di Re Arduino” [10][15] An Open Arduino • Arduino is the largest Open Source Hardware project o One of the first real 100% open source boards. o Licenced under Creative Commons as a cultural product • Exploded for DIY projects worldwide • Not just a company selling boards o Many other companies make products based off of the Arduino o Using their open source licence. [15] The Arduino Autopilot • Made by Sparkfun Electronics o Based off the Arduino architectures o An autopilot to control an unmanned vehicle o Can interface with other computing devices for input and output [8] Required Hardware What do you need to use this board? •The Board: ArduPilot o $24.95 •A GPS Module: 50 Channel GP-635T GPS Receiver o $39.95 •An Airspeed Sensor: MPXV7002DP o $24.95 •An XYZ orientation sensor: ArduIMU+ V3 o $79.95 •Total: $169.80 o Not counting wires and airframes [2][8][7][9] ArduPilot System Overview GPS: GP-635T IMU: ArduIMU+ V3 Airspeed: MPXV7002DP [19] ATMega328 • 8 - bit AVR CPU • 32 kB Flash Memory • 2kB SRAM • 1kB EEPROM • 20 MHz • 3 Timers • Peripherals o 23 I/O pins o 8 ADC Channels (10 bit) o 1 SPI o 1 UART [20] AVR Core History • Atmel, first 8-bit Flash microcontroller (1993) o Eliminated ROM programming during fabrication o Based on Intel 8051 • AVR architecture (1997) o In-System-Programmable memory • MegaAVR with self-programming Flash o Write to program memory while running from boot sector o Increased security: lock bits and encryption [12] AVR Architecture • 8 - bit AVR CPU • Two buses (Harvard) o Instruction (16bit) o Data (8bit) • 32 General Registers • Status • Control • 64 GPIO Registers • Watchdog Timer [5] [20] AVR Instruction Set • “AVR Enhanced RISC” o 16 bit instructions o 131 instructions o Single level pipelining o 13 Addressing Modes Flash (Program Memory) Data Memory (SRAM, Register File, I/O Memory) o 32 single byte registers First 32 addresses mapped (0x0000 - 0x001F) o 64 single byte I/O registers Mapped to (0x0020 - 0x005F) o 2048 bytes SRAM Mapped to (0x0100 - 0x08FF) [20] GPS Receiver GP-635T • Made by ADH Technologies • USB, UART, DDC, SPI • Uses U-blox 6 chipset o 6.5 x 8 x 1.2mm o World’s smallest standalone GPS Module o 50 channels • 35 x 8 x 6.5 mm • Horizontal accuracy 2.5m • Time to first fix (TTFF) o Hot Start: 1s o Cold Start: 27s [2][3] Inertial Measurement Unit • DIYDrones ArduIMU+ V3 o Inertial Measurement Unit [IMU] o Used to determine 3 dimensional orientation to the horizon. XYZ Orientation Gyroscopes and Accelerometers o This is the most expensive unit involved in building an autonomous vehicle. o ArduIMU+ V3 costs $79.95 o Also utilizes the ATmega328 o Based off Arduino o 38.1 x 25.4mm [9] Comparisons • 3DR Pixhawk o $199.99 (IMU included) o Relatively Heavy (38g) • The Raspberry Pi o $40 (~120 with IMU) o Relatively Heavy (45g) o Not a dedicated autopilot • ArduPilot o $24.95 (~$105 with IMU) o extremely lightweight (<20g) [16][17][20] Conclusions • Inexpensive solution to creating an autopilot • Wealth of documentation and instructions • No unnecessary hardware. • Lightweight • Note: To receive telemetry from an aircraft, communication is needed o Hard wire (not practical) o Wireless (Xbee) o Wait till the end of the flight. References [1] "3D Robotics Products," 3D Robotics, [Online]. Available: https://store.3drobotics.com/products. [Accessed 10 12 2013]. [2] "50 Channel GP-635T GPS Receiver," SparkFun Electronics, [Online]. Available: https://www.sparkfun.com/products/11571. [Accessed 10 12 2013]. [3] "AMY-6M - u-blox 6 ROM-Based GPS Module," Alpha Micro Components, 25 10 2012. [Online]. Available: http://www.alphamicro.net/franchises/u-blox/amy-6m.aspx. [Accessed 10 12 2013]. [4] "APM Multiplatform Autopilot," 3D Robotics, [Online]. Available: http://ardupilot.com/. [Accessed 10 12 2013]. [5] "ATmega48PA/88PA/168PA/328P Manual," 10 2009. [Online]. Available: http://www.atmel.com/Images/doc8161.pdf. [Accessed 10 12 2013]. [6] "ATmega328," Atmel, [Online]. Available: http://www.atmel.com/devices/atmega328.aspx. [Accessed 10 12 2013]. [7] "Airspeed Kit with MPXV7002DP," 3D Robotics, [Online]. Available: http://store.3drobotics.com/products/airspeed-kit-with-mpxv7002dp. [Accessed 10 12 2013]. [8] "ArduPilot - Arduino Compatible UAV Controller w/ ATMega328," Sparkfun Electronics, [Online]. Available: https://www.sparkfun.com/products/8785. [Accessed 10 12 2013]. [9] "ArduIMU+ V3 kit," 3D Robotics, [Online]. Available: http://store.3drobotics.com/products/arduimu-v3. [Accessed 10 12 2013]. [10] D. Kushner, "IEEE Spectrum," IEEE, 26 10 2011. [Online]. Available: http://spectrum.ieee.org/geek-life/hands-on/the-making-of-arduino. [Accessed 10 12 2013]. [11] "ATMega328 - TQFP," Sparkfun Electronics, [Online]. Available: https://www.sparkfun.com/products/9261. [Accessed 10 12 2013]. [12] O. J. Svendsli, "Atmel’s Self-Programming Flash Microcontrollers," 10 2003. [Online]. Available: http://www.atmel.com/Images/doc2464.pdf. [Accessed 10 12 2013]. [13] "Using an Airspeed Sensor," DIY Drones, 23 03 2013. [Online]. Available: https://code.google.com/p/ardupilot-mega/wiki/Airspeed. [Accessed 10 12 2013]. References Cont. [14] J. Vasconcelos, "Brief Guide to the AVR Architecture," Johns Hopkins University, 22 06 2009. [Online]. Available: http://www.cs.jhu.edu/~jorgev/cs333/usbkey/guide.htm. [Accessed 10 12 2013]. [15] "Arduino Products," Arduino, [Online]. Available: http://arduino.cc/en/Main/Products. [Accessed 10 12 2013]. [16] "RASPBERRY PI MODEL B 700Mhz; 512Mb RAM," Amazon, [Online]. Available: http://www.amazon.com/RASPBERRY-MODEL-700Mhz-512Mb-RAM/dp/B009SQQF9C. [Accessed 10 12 2013]. [17] "3DR Pixhawk," 3D Robotics, [Online]. Available: http://store.3drobotics.com/products/3dr-pixhawk. [Accessed 10 12 2013]. [18] "Raspberry Pi FAQ," Raspberry Pi Foundation, [Online]. Available: http://www.raspberrypi.org/faqs. [Accessed 10 12 2013]. [19] ArduPilot 2.x manual, 2009. [20] "Atmel 8-bit Microcontroller with 4/8/16/32KBytes," 02 2013. [Online]. Available: http://www.atmel.com/images/atmel-8271-8-bit-avr-microcontroller-atmega48a-48pa-88a-88pa-168a-168pa-328- 328p_datasheet.pdf. [Accessed 10 12 2013]. QuestionsQuestions??.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    19 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us