Let's Make Robots!

Quadcopter


Finally got around to starting the write up for my quadcopter :)

bought most of the parts from hobbyking:
the frame:

http://www.hobbyking.com/hobbyking/store/__22781__Turnigy_Talon_Quadcopter_V2_0_Carbon_Fiber_Frame_550mm.html


The motors:

 http://www.hobbyking.com/hobbyking/store/__26961__Turnigy_Multistar_4830_480Kv_22Pole_Multi_Rotor_Outrunner.html

 

The ESC's:

http://www.hobbyking.com/hobbyking/store/__13429__HobbyKing_30A_BlueSeries_Brushless_Speed_Controller.html

 

Camera tx/rx:

http://www.hobbyking.com/hobbyking/store/__15295__Boscam_5_8Ghz_200mw_FPV_Wireless_AV_Tx_Rx_Set.html

 

Cameras:

http://www.hobbyking.com/hobbyking/store/__11977__1_3_inch_SONY_CCD_Video_Camera_PAL_.html

 

 

Decided to make my own electronics. A small 4 layer board for the quadcopter, with accelerometer, gyroscope, compass, GPS, pwm drivers etc. I also made a board with a small LCD touchscreen attached for use in the controller. This also has GPS, accelerometer, and compass.

The Quadcopter uses the same ARM chips I have used before,

 

 

 

The quadcopter has dual front cameras, I was vaugely thinking to make a program to use the oculus rift for 3D fpv, but i'm not sure I will ever get around to it :) I was also thinking I could include the head tracking feature of the rift to move the cameras :)

 

The controller:



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

yes, that was a typo on the chip type :) I'm planning to add more later, but a bit swamped at the moment with uni work :(

the chip isn't running an operating system. Im using something called BIDE for development, its a fairly simple code development environment.

I am still in the process of writing the code to keep it stable, so it hasnt flown properly yet...

Im using the XBEE as a serial link, and at the moment just sending 5 bytes, 1 header, and 4 data, but this can be expanded as necessary. At the moment, its only sending the position of each gimbal, but with time will probably want to add sensitivity, gps position, and control state etc.

That is a single large antenna, I have totaly based that aspect upon guesswork, as I havent had space to test it out yet. 9dB antennas get a fair way with the XBee modules, so I expect that antenna should give a fairly decent range (its 19dB)

I havent looked into 3D cameras too much, but I guessed it would be easiest to give them the same spacing as my eyes, but I will have a read up and a bit of a play about on it :)

Cool, I wasn't able to dig up much on bIDE but I recomment getting an STlink JTAG debugger for $25 (at least thats what they used to cost) and getting up and running with hardware debugging, its bliss to have once you're debugging a large project.

the BIDE is something that is being developed by BEAM ltd. ARMsys is pretty much all the c++ classes for the STM3240, and Bide is the editor they have made.

The armsys and the pcb I have built already supports debugging over usb-serial to a PC, so does all i need already :)

Wow, you've packed a lot of cool stuff in this project. Have you flown it yet?

What kind of packets do you send with the XBee? How many channels and how many bits per channel? How frequently are packets sent?

I have a couple of robot remote projects and one uses a XBee for communication. Even thought the joysticks are read with a 12-bit ADC, I'm only sending 8-bit position data. But I haven't used my either of my DIY remotes to control anything flying (except a small RC helicopter controlled with a Wii Nunchuck).

I'm curious about your long antenna. Do you have a coaxial cable inside leading up to a short antenna at the very top? One thing I've noticed with many 2.4GHz systems is the antenna size is almost always the same. If a transmitter has a long antenna, it really means there's a wire running up to the short antenna. Have you done any tests to compare your long version against a short antenna?

If/when you get the 3D cameras working, you might want to try increasing the distance between the cameras. Our depth perception is really limited to about 30 feet since object farther away than 30 pretty much look the same with either eye. If you increase the distance between the cameras, you'll increase the depth perception but at the expense of the scene looking real. With increased separation between the cameras, the observed seen will like like it's a miniaturized version (but it should still look really cool).

Interesting project, cool to see you made a zigbee controller for it.  I'm curious if you're going to run something like FreeRTOS on the STM32 (I'm assuming STM3420 is a typo).

Hope to find out more about it :)

Some things I hope to see (in case you're interested):

  • current state of the project
  • software architecture and code (ideally via online repository)
  • what tools/IDE you're using for development (I'v mostly used CooCox w/ an STlink-v2 for JTAG)
  • and of course a video of it tearing around