Sunday, August 4, 2013

Part 6: Discussion on Arduino Boards

List of parts to blog:
Part 1: Quadcopter Design
Part 2: Integrating rc Transmitter and Receiver with Arduino
Part 3: ESC and motors (wiring and code)
Part 4: Sensors (reading in raw data and applying calibration)
Part 5: IMU - Kalman Filter Orientation Estimator
Part 6: Discussion on Arduino (boards and oddities)
Part 7: Designing a shield for the Due
Part 8: Control Laws!!!!!



Part 6: Discussion on Arduino Boards
I started with an Arduino Uno since I had several laying around. Realistically I was planning to use an Arduino Mega. So I got one, I ripped the headers off and desoldered the little clips. I've read online people saying this is hard to do, its really not. It took me maybe an hour. Just take some pliers to those black headers and bend them right off. Theres 2 little prongs under there you can just desolder off.

The problem I ran into with using the Mega was the number of interrupt routines it can use. I wanted 6 channels, while its totally possible, it wasn't real clear how to do this on the Mega. The computing power, being 8bit is severely limited. I want to be able to use doubles and not have to worry!

So I finally got a Due and this thing is awesome. Its quick and each pin can have an interrupt. It has everything I've ever wanted in a micro controller.... except a lot of libraries are still a work in progress like something as simple as tone() doesn't work. I've found workarounds for everything though. I still love how fast this thing is compared to the mega. My kalman filter runs in microseconds, can't even measure things in millis() anymore, now its all micros(). I am hoping to run my control loop at 200hz or more now, previously on the mega I was struggling to make 50hz.

After experience with the Mega, i decided to build a shield for the Due rather than rip the headers off. The next part details the design of the shield.

[place holder]

No comments:

Post a Comment