Shop OBEX P1 Docs P2 Docs Learn Events
Ken/Cluso99/ W9GFO/JasonD's QuadCopter Build Log (updated info ELEV-8 + availability) - Page 15 — Parallax Forums

Ken/Cluso99/ W9GFO/JasonD's QuadCopter Build Log (updated info ELEV-8 + availability)

1121315171843

Comments

  • Cluso99Cluso99 Posts: 18,069
    edited 2011-12-11 17:46
    Really neat Ken! All this without accelerometer... seems to me they are completely unnecessary from the stability you and Jason have achieved.

    I am still going for the whole hog, at least for later (gyro, accel, compass & pressure) plus GPS later. But for a cheap solution, gyro looks fine.
  • JasonDorieJasonDorie Posts: 1,930
    edited 2011-12-11 18:13
    The gyro is the only thing you need if you want to "pilot" it. Mine is very stable now, and I'm still tweaking it, so I suspect it's going to get better still.

    The accelerometer is necessary for holding level flight, magnetometer is necessary for holding a fixed heading, altimeter is for holding a fixed altitude, and the GPS is to hold a fixed position. Each of these additions complicate the programming of the thing - everything new sensor means more readings, more control loops, and more tuning.

    The code for the gyro only solution is actually quite elegant, but it doesn't need a "real world" reference frame. As soon as you require that, now you need to start working with real units of measurement, like radians or degrees. Then you encounter problems like gimbal lock, so you have to hack, or use solutions like quaternions which are hard for most people to visualize and require more complicated math.

    I'm not arguing for one or the other - they both have their place, and I'm looking forward to tackling the above problems, but if you want something cheap that's fun to fly, a 3-axis gyro is plenty.

    I think I'm going to add a bunch of "make users happy" features to mine, allowing for easy configuration with an external piece of software. Keep an eye out - I'm hoping to have something in the next little while.
  • JasonDorieJasonDorie Posts: 1,930
    edited 2011-12-11 18:34
    Ken - You mentioned adding an accelerometer for leveling - You need that for the camera, not the quad.

    I've been thinking of adding code to mine to allow for that as well - I could pretty easily alter my DCM code to handle leveling a camera gimbal even without making it deal with the flight controls. I could have that done a lot sooner than a full flight stabilization model. Since I've started doing the on-board filming I realize how important it will be for aerial video work, so I'll likely add that soon.

    The video was awesome - Does your heart rate go up with altitude? I think for every foot beyond about 15 feet my heart rate goes up about a bpm. I've had my quad up to about 50 feet I think, and I'm just terrified that I'll screw up and it'll fall out of the sky and shatter. I'm slowly getting over that as I fly it more and get used to the orientations again. I was out today doing figure eights in the park and I'm getting a lot more comfortable with it.

    Jason
  • W9GFOW9GFO Posts: 4,010
    edited 2011-12-11 19:17
    About leveling... what would be really, really cool is to control the roll and yaw of the camera based upon it's motion through 3d space. So many of the videos, even professional ones, don't have the camera pointing in the direction of travel or banking in sync with the turns. I think you would need accelerometers to accomplish this, I am sure it is possible.

    Even some code to keep the quad facing it's direction of travel would be a huge help in aerial video.
  • ratronicratronic Posts: 1,451
    edited 2011-12-12 08:56
    Ken can you let us know the make and model of the battery you are using? So far I've seen in this thread the requirements seem to be 11.1 volt LiPo, 4000mah, 35C, EC-3 connector. I need to get the correct battery ordered and would like to find one that has the most current capabilty with the lowest weight. Could you please let us know what your using?
  • Ken GraceyKen Gracey Posts: 7,386
    edited 2011-12-12 09:22
    ratronic wrote: »
    Ken can you let us know the make and model of the battery you are using? So far I've seen in this thread the requirements seem to be 11.1 volt LiPo, 4000mah, 35C, EC-3 connector. I need to get the correct battery ordered and would like to find one that has the most current capabilty with the lowest weight. Could you please let us know what your using?

    Yes, and I apologize for not responding earlier to this request. You can choose any manufacturer you wish. This is what I'm using:

    PowerWing Lithium Polymer Battery 4000 mAh YT9042125PH 3S 30C
    PowerWing Lithium Polymer Battery 3300 mAh YT7042125PH 3S 30C

    I suggest a discharge rate of 25C or higher, which seems to be typical for this battery rating anyway. As far as capacity is concerned, we're using up to 4400 mAh - storage larger than that seems to jump up significantly in size and weight. We've also purchased LiPo batteries from HobbyKing at very low prices and they seem to perform just as well as the domestically-sourced brands (which are also from China). I'd order them from HobbyKing and get about 2-3 batteries for the same price as the PowerWings listed above. Get your order in now because they take time to ship.

    Ken Gracey
  • schillschill Posts: 741
    edited 2011-12-12 09:25
    Ken:

    How are things looking for ordering the ELEV-8s?

    Is there anything else we would need other than the batteries and radio?
  • ratronicratronic Posts: 1,451
    edited 2011-12-12 09:26
    Thanks Ken.
  • Ken GraceyKen Gracey Posts: 7,386
    edited 2011-12-12 09:32
    schill wrote: »
    Ken:

    How are things looking for ordering the ELEV-8s?

    Is there anything else we would need other than the batteries and radio?

    Yes, see post #2 here http://forums.parallax.com/showthread.php?136370-ELEV-8-Quadcopter-ordering-design-files-assembly-and-flight!.

    These are being kitted up today and tomorrow. Our crew is working to get the ordering page up really quickly for you.
  • schillschill Posts: 741
    edited 2011-12-12 09:39
    Thanks, Ken.

    Somehow I missed the bottom section of that thread. I was probably just skimming it since it's unusual for me to encounter tools I don't already have for a project like this.
  • ratronicratronic Posts: 1,451
    edited 2011-12-12 09:52
    Ken trying not be a pest, but.... now that I have the specs for your battery I can not find it on the net to find it's weight. Can you tell us what your 4000mah battery weighs?
  • Ken GraceyKen Gracey Posts: 7,386
    edited 2011-12-12 10:09
    ratronic wrote: »
    Ken trying not be a pest, but.... now that I have the specs for your battery I can not find it on the net to find it's weight. Can you tell us what your 4000mah battery weighs?

    Sure - weight is here http://www.hobby-lobby.com/3_cell_11.1v_4000mah_30c_lipo_pack_1034051_prd1.htm and it appears to be 12.16 oz.

    We will need to post some specifications on the ELEV-8 too.

    Ken Gracey
  • JasonDorieJasonDorie Posts: 1,930
    edited 2011-12-12 12:29
    I run pairs of 2200mAh batteries in parallel, as a lot of my planes take the ~2000mAh size. I can fly for 14:50 on a 4400 pack, so a single 2200 pack will get better than half that because there's less weight, and it'll be more nimble - good for aerobatic flights.
  • Ken GraceyKen Gracey Posts: 7,386
    edited 2011-12-12 12:41
    JasonDorie wrote: »
    I run pairs of 2200mAh batteries in parallel, as a lot of my planes take the ~2000mAh size. I can fly for 14:50 on a 4400 pack, so a single 2200 pack will get better than half that because there's less weight, and it'll be more nimble - good for aerobatic flights.

    That's a valuable point for all of us to consider. Quadcopters behave quite differently without extra weight - flying sideways and fast vertical flight is so much easier without a full load.
  • Roy ElthamRoy Eltham Posts: 2,996
    edited 2011-12-12 13:10
    I had no problems running my "release candidate" ELEV-8 (is that the right thing to call it Ken? It was pretty close to final I think) with a Zippy 3S(11.1v) 3000mA 20C LiPo. I believe I got about 10-12 minutes of operation.

    Of course that was broken up in few minute increments as my current flying technique is to take off and fly around a bit then unintentionally land (not exactly crash, just come down to the ground on the landing gear slightly before planned and sometimes slightly faster than intended :P ). Although, towards the end of the day, I did manage a few flights where I took off, flew around and landed intentionally and safely.
  • Ken GraceyKen Gracey Posts: 7,386
    edited 2011-12-12 13:26
    Roy Eltham wrote: »
    I had no problems running my "release candidate" ELEV-8 (is that the right thing to call it Ken? It was pretty close to final I think) with a Zippy 3S(11.1v) 3000mA 20C LiPo. I believe I got about 10-12 minutes of operation.

    Of course that was broken up in few minute increments as my current flying technique is to take off and fly around a bit then unintentionally land (not exactly crash, just come down to the ground on the landing gear slightly before planned and sometimes slightly faster than intended :P ). Although, towards the end of the day, I did manage a few flights where I took off, flew around and landed intentionally and safely.

    This is a skill, for certain, and it will take time to become a good R/C quadcopter pilot. From what I saw at Parallax I think you should be able to fly just fine - but stay on the grass. It's much more forgiving.
  • schillschill Posts: 741
    edited 2011-12-12 14:24
    Now we just need the kit to be available while the sensor sale is still running so I can put them on the same order. :)
  • Ken GraceyKen Gracey Posts: 7,386
    edited 2011-12-12 14:50
    schill wrote: »
    Now we just need the kit to be available while the sensor sale is still running so I can put them on the same order. :)

    Agreed. The first run of kits is being carefully assembled by our Tech Support team this week. We're doing this as an intermediate step before we move it to the Kitting department, mostly because they are busy and we want to make some final checks ourselves. I haven't heard from Kevin and Nick today probably because they're busy with this project. I've been working from home just to let others be productive, so it seems to be working.

    I need to get with them about making a crash pack, too. Just to be honest, you guys are going to have an insatiable appetite for replacement propellers, landing gear, and the motor mounts. The frame and booms seem to be immune to sustaining real damage so far.
  • Roy ElthamRoy Eltham Posts: 2,996
    edited 2011-12-12 15:32
    Ken is right, I already want to order more props, landing gear, and stuff just so I have it. Right now I am being really cautious with mine, but if I had a few spares of everything he mentioned, I would be less worried and have more fun.
  • JasonDorieJasonDorie Posts: 1,930
    edited 2011-12-12 15:48
    I've been using Trex-600 landing gear on mine. They're a little beefy and hold up to rough landings quite well. I drilled extra holes in mine so they'd line up with my frame screws.

    Google search for "trex 600 landing skids" and you'll see all the pretty colors they come in, and they're cheap. Not to take away from the Parallax ones at all, but if you're worried about breaking skids these are meant to hold the weight of an 8lb helicopter during hard landings. I think they weigh about 80g per pair.

    http://www.helipross.com/align-t-rex-700-new-landing-skid-h60111.html?sl=EN
  • JasonDorieJasonDorie Posts: 1,930
    edited 2011-12-12 20:26
    I had another little breakthrough last night - at least I think I did - I need to test more to be sure, but it's very promising so far.

    Based on a conversation I had with a member of DIYDrones, and a different thread I found there, I added code to the gyro routine to bump the sampling rate up to 2000Hz, and internally I round and average the last 8 results at 250Hz. This has the net effect of reducing transient spikes and some vibration sensitivity. I've also boosted my internal flight loop and servo update loops to 250Hz, so everything is now matched.

    Previously, if I did a full throttle climb, or a low-throttle descent followed by a high-throttle recovery, it would wobble. I always suspected this was caused by motor vibration hitting a resonance frequency of the gyro, but I wasn't sure. Adding the over-sample and integrate code seems to have made the problem vanish - high-power climbs and fall recovery now seem to be as stable as my normal flight. I only have one night flight with the new code, and I'm nervous taking it above about 20 feet in the dark, so I'm not absolutely certain, but I'm pretty sure.

    That was the last real challenge for me in with this hardware (ie single gyro). I'm now cleaning up the code and prepping for a full "Completed Projects" release.

    Jason
  • Ken GraceyKen Gracey Posts: 7,386
    edited 2011-12-12 20:49
    Jason, I can attest to the fact that the descending "wobbles" are a problem with the Hoverfly SPORT board. I've always thought this behavior would best be corrected with an accelerometer. But now that you're getting into the engineering details I think the SPORT firmware could be dramatically improved. Way to go!

    I'll get a SPORT off to you tomorrow.

    Ken Gracey
  • W9GFOW9GFO Posts: 4,010
    edited 2011-12-12 20:53
    Are you updating the servo setting at 250Hz or outputting the servo pulse at 250Hz? I've heard that some ESCs will accept the higher rates but if you also have real servos on the quad, those won't like a 250Hz frame rate.
  • JasonDorieJasonDorie Posts: 1,930
    edited 2011-12-12 21:49
    W9GFO wrote: »
    Are you updating the servo setting at 250Hz or outputting the servo pulse at 250Hz? I've heard that some ESCs will accept the higher rates but if you also have real servos on the quad, those won't like a 250Hz frame rate.

    Both, but you're absolutely right - if there were analog servos plugged into my board they'd fry. (The way they work internally means they need a pulse delay of 40+ or they will burn out. Digital servos usually don't have this issue). If I want to run actual servos on my board I'll have to run a real Servo32 object in another cog, but this is known and intentional.

    Ken - I may have a couple more surprises in store for you shortly. See the attached images. :)
  • Ken GraceyKen Gracey Posts: 7,386
    edited 2011-12-12 22:30
    Okay, were you lurking around Parallax last week? I'm not paranoid, but if you planted a bug in my office I promise not to get after you. While Roy was visiting we were discussing the fact that Hoverfly should tell us how to talk to their setup software so that Jason could put the hooks into any OPEN code. But this has potential to be far better! If you can verify that the receiver is connected, that the ESCs are present, and that the sensors are working this would solve many problems for people. By their very nature quadcopters seem to be exactly the kind of product where we can proudly proclaim "this product doesn't work at all - you'll encounter a few hurdles along the way, and you're going to crash after you put it in the air!". Such support tools go a long ways towards increasing the chances for success. Thank you for sharing the screen shot!
  • JasonDorieJasonDorie Posts: 1,930
    edited 2011-12-12 22:51
    Nope, not lurking - I've had this idea for a while, but it's nice to know that great minds still think alike. :)

    I wanted a way for me to change the settings from a NetBook in the field without having to alter code & re-flash the thing. My Prop-side code stores a bunch of config in a DAT section and there's a routine that will send or receive it, update the mirror copy in the EEPROM, and reboot the prop. Well, that's the theory... I'm still working out the kinks, but it's close.

    Also, there's no way to get any sort of feedback from the ESCs that I know of. I might include a kind of test mode - fire each motor in sequence, for example, to verify that they work, are connected correctly, and are spinning in the right direction, but I'm not there yet (and still debating that part).

    The ground station software already includes readings from all the gyros, including running min, max, average, and variance numbers so you can get an idea of how noisy they are, what the range is, etc. I may also add readings for the R/C inputs so you can verify they're all hooked up correctly.
  • Cluso99Cluso99 Posts: 18,069
    edited 2011-12-12 22:57
    Nice Jason. Funny you should show that screen shot.
    I too have a little surprise in store as long as I can get the time... (sweeps office to ensure no bugs here either)...
    A tiny 2 wire terminal with lcd and 3 buttons to program/adjust settings simply while in the field.
    And waiting for my new pcbs...
    #1: 1.8"x1.8" Prop, eeprom, microSD, 2@ 8 posn servo connectors (8 for RC, 8 for ESC) plus 2@ 2 posn servo or expansion, 1 header for sensor pcb
    #2: 0.8"x0.8" Sensor pcb with regulator and header plus optional ITG3200 gyro, ADXL345 accelerometer, HMC5883 compass, BMP085 pressure/temp.

    pcb #1 does not require a propplug or FT232 for downloading - can use microSD (or another tba hopeful trick) - sweeps office again for bugs!
    BTW I only have 3 sets of pcbs coming first up - 1 for me, 1 for Jason, 1 for Ken (if you are interested).
  • JasonDorieJasonDorie Posts: 1,930
    edited 2011-12-12 23:16
    OooOooOooo... That sounds cool. I really have to start getting into making my own SMT PCBs. I've done little bits of SMT work, but never a full board, so I envy your finished look items. :)

    I've been seriously thinking of adding a microSD chip to log data - R/C inputs, gyro values, PID loop values - the works. It'd probably help tuning the flight controls because I could see how quickly the values hit their targets. My ground station is (hopefully) ultimately going to include a bunch of this, but I may only have enough bandwidth to do a partial set. An SD card should keep up no problem.

    I have a pair of "chip on glass" 2-line LCD panels that I bought so I'd be able to make simple program changes in the field. My idea is that with the throttle at zero, if you push the rudder full left and hold it, it goes into program mode. Then you just use the aile / elev stick to move up & down between menu items and left & right to increase/decrease a value. When done, hold the rudder full left (or choose a "save" or "exit"menu item perhaps) and it updates the variables and EEPROM. I did this with my "Propeller with Propellers" version and it works well. I just don't have an easy-to-mount LCD board - that was done using a chunky 3-wire serial one, and I want something permanent.

    Now I just have to mount it and write the code. :)

    I also want to add another channel or two to my setup so I can use remote switches to toggle between pairs (or a trio) of settings. One for "aggressive", one for "sedate", etc, or just be able to play with a few different PID settings to see how they feel, but be able to switch them up in flight.

    So many ideas, only so many sleep hours I can steal. :)
  • Cluso99Cluso99 Posts: 18,069
    edited 2011-12-13 00:30
    Jason: No doubt you have a few spare servo channels on your pcb. By using 1 of these as an input you can configure a switch using jumper wires to 5V or Gnd (your servo inputs need to have series resistors fitted for 5V else use 3v3 or a series resistor instead of a link). By using multiple spare channels, you can use a binary set of parameters simply. This of course only works on the ground.

    Idea for in the air... Use 1 switch channel to indicate to store the 2nd channel and press this multiple times within a few seconds to get a new mode. There are lots of ways you can achieve something like this.

    My board has series resistors on the whole 20 servo channels. 4 channels have 5V fixed (as in the 2 x 2). 2 channels have 5V by jumpers (as in 1 per 8) and the others can have solder bridges underneath if you require more channels to have the 5V. This is because only 1 ESC should supply the 5V. And only 1 receiver channel needs to be supplied the 5V. I added the microSD because I wanted to be able to store the sensor data to analyse later. I think this is a must if I want to understand precisely what is happening. Then its just a matter to copy the files to a spreadsheet to graph the sensors. I also have a power switch on the pcb which will also power off the rc receiver too. The sensor pcb piggybacks on top of the pcb or you can use a wii mp board. And the 2 pcbs will fit into a Hammond 1551R or S box for protection.

    I can use any channel to output TV monochrome NTSC by just taking gnd and the output to the TV (uses the series servo resistor for the TV out - see my 1pin debugger object). I have a $25 3.5" 12V TV monitor (car reversing monitor from eBay).

    Here are my two pcb layouts. The left is the sensor pcb and is 0.8"sq and the right is the prop pcb and is 1.8"sq. The sensor pcb plugs into the prop pcb over the top of the microSD. If you look carefully you will see the check marks and the pins by just sliding the sensor pcb over the prop pcb.

    clusos quadcopter 005.jpg
    1024 x 544 - 122K
  • JasonDorieJasonDorie Posts: 1,930
    edited 2011-12-13 01:59
    I actually have a 9 channel transmitter (and another that's 7 channels) because I fly helis. They often use multiple channels on the throttle or switches to control things like fuel mixture curves, blade pitch curves, motor governor settings, gyro settings, etc.

    The point being I have lots of actual on-the-remote switches that I could flip while in flight and have a new set of PID parameters become active so I could contrast multiple sets of settings. I have two switches that are three-point, so I could have a LOT of different tunings if I wanted to get really tricky, or just use one switch for roll/pitch and the other for yaw, as they tend to require quite different tunings anyway.

    At the moment, my quad board is on a protoboard that I harvested from something else, and there's an old chip in the way of my next R/C channel spot, so I'm going to have to do a bit of reworking if I want more channels on it. I also have a new board based on the MinIMU that I've been writing a driver for. That's just about done (I have to add the new oversampling code, but that should be easy). I was smart and installed 6 R/C channels on this one from the beginning. And I haven't been worried about plugging in multiple BECs - they're just linear regulators, so they can be run in parallel with no problems. If you run multiple switching BECs in parallel I think it confuses them and you get really bad ripple.

    I've also done a bunch of reading, and found that the small satellite receivers for Spektrum receivers can be used on their own - they're SPI, and the protocol has been reverse engineered. I plan to write a driver for it so it'll be "as many channels as you have" on a 3-pin JST. That's not a requirement, but it'd be pretty cool.

    Your boards are gorgeous. I definitely want one. :-)
Sign In or Register to comment.