variable pitch quad

My question is the APM 2.0 and APM planner capable of controlling my bird? Four servos control the pitch of each rotor and the esc will run in the constant RPM mode.

Right now, I have the servos connected respectively to outputs 1-4 and by moving the throttle channel to mid point my blades move to zero pitch. The servos then respond correctly to any motion of the APM. All fine for testing but not correct.

Problem one, when the throttle channel is moved below a certain point, the servos jump to full negative pitch. I assume this is for "motor off"

Problem two, what to do with the esc leads. My power comes from the BEC so kinda need it connected to the output buss. What I want, is to toggle a channel and command the APM to raise the motor RPM to operating speed slowly and hold it.

Problem three, at least for the near future, I doubt I will ever want more than one or two degree of negative pitch and then, only in roll, pitch or collective. For yaw they must stop at zero.


See my profile for photos.

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –

Replies

  • Dan, I just took a first crack at creating this code. You can see it in my clone here:

    https://code.google.com/r/robertlefebvre-wip2/source/detail?r=17278...

    This is not finished.  Do not attempt to fly it.  Bad things will happen.

    If you have a look at the changes I'm making, you might start to see how the code works.  If you compiled this and uploaded, you should see in MP a bunch of new parameters named VPQ_<blahblah>.  These are going to be related to the servos.

  • Ken, what do you want to do for motor RPM speed control?  Are you going to use an ESC with a governor?  Or do you just want to run it wide open?  Or you can run a collective-pitch-to-throttle curve.

  • Hi! Very nice project!

    I don't know if it helps but there is a multiwii version for quads with variable pitch.

    http://code.google.com/p/multiwii/downloads/detail?name=MultiWii_qu...

    Perhaps there is some idea in the code that can be used.

    So long

    Kraut Rob

  • Dan, so do you want to fly this as an X or a + ?

  • This is a great idea and I already had a simple details worked out.

    http://diydrones.com/group/arducopterusergroup/forum/topics/hydraul...

    You can basically use the the stock code for quad.

    The first major change required is to change update rate coming out of the APM to a value the servos can handle (we go really fast for the ESCs). That's easy enough and well documented. Here is a thread semi related where he complained a servo plugged into the APM did not respond on the normal ESC output but we expect that. http://diydrones.com/forum/topics/hexa-copter-calibration-problem?c...

    another thread, first comment http://www.diydrones.com/profiles/blog/show?id=705844%3ABlogPost%3A...

    http://www.diydrones.com/forum/topics/maximum-safe-servo-pwm-pulse?...

    More clues on how to adjust here:

    http://www.diydrones.com/group/arducopterusergroup/forum/topics/una...

    This might be the right thread-hopefully a developer chimes in:

    http://www.diydrones.com/forum/topics/esc-arming-problem?commentId=...

    Next, mechanical setup:

    Adjust each of the servos so that when sent the low throttle position, they move the pitch system to nearly neutral with very little pitch (tip, a servo adjuster/tester pwm device makes this easy). Then ensure max PWM then adjusts the linkage to the maximum reasonable pitch. Again this mechanical setup will require that you adjust the pivot points on the linkage arms mechanically to give you the correct throw, rather than doing it in software. I know that counter intuitive but I'm of the thought, leave the code alone, this way as improvements come out, you don't have to recode a separate branch and maintain it. Make the machine match the code.

    You could govern the central motor if you want at the ESC but don't think it is necesary. Just arm the motor to spin up when the quad arms from the radio (Hint, I think the LED code would make this easy) . Or alternatively somehow mix with a device to determine the average PWM of all 4 channels and drive the motor if you wanted to add variable RPM.

    Or, I guess being creative, you could mix traditional heli and multirotor, such that the stabilization code comes from mutlirotor code but the throttle curve (much like traditional heli) is mixed in. This seems to be very complex at best and unless you just want to program for days and nights, not the best aproach IMHO.

     

    I've been really curious to try this as it would be trivial to buy 4 belt driven tailrotors with tubes, turn them vertical and bigger blades and drive the whole setup with a single motor. Again, I think this would work on basically stock code. No need to re-invent the wheel. Some shopping on Hobby King for cheap tail rotors looks like this is not an unreasonable aproach.

     

  • 3692499017?profile=original

  • T3

    A VVP copter is not very easy.  First you need four ESCs that have good governors, hard to find.  Or your can use one motor to drive all motors.  If you have all props turning at the same RPM than you can adjust the servos so 1000 micro seconds gives you neutral pitch and connect the servos to the motor control PWMs.  An extra channel with a potentiometer can be use to control motor(s).  This type of setup has worked  for some.

    There is a couple of threads in the OpenPilot forum you could look at.

    good luck.

  • Yes, R_Lefebvre, I do.

    I chose the APM platform because I am very familiar with the ATMEL/Arduino platform. I have another project I developed hardware and software to control a green house robot. It is in production now. I am currently using arduino-0022 and code in C/C++. I have looked a bit at the APM code and it looks to be well documented but have not got into the general flow of the code.

    Right now my goal it to get my quad in the air and see. IF it flies, how much it will lift and how maneuverable it is. It may need a diet or bigger rotors. So far, everything has been mathematics and they say two to one thrust ratio. We shall see. It has been designed such that is it easy to increase rotor diameter for more thrust if needed. Right now, each rotor is five blades and about 10 inches in diameter and the quad is 26" in diameter. Current flying weight is 2450 grams. Rotors turn at over 6000rpm.

     

  • Dan, I think you're going to need a custom program to get this to work.  What you need will be a blend of TradHeli and Quad code.  Do you know how to compile and upload manually?  I'm interested in helping you with this project if you are.

    I'd have to create a new frame type like:

    #define FRAME_CONFIG VP_QUAD and you'd upload that.

  • Hello. For problem 2, just know that you can "manage" motors rpms without using the APM

    just only with your transmitter and "all the motors" leaded to the same "signal".

    In a heli model on your transmitter you can use throttle curves ...

    In a variable pitch quad, all the motors should run at the same rpm. Only pitch varies on each prop.

    Problem 3 : Why do you use "variable pitch" if you don't want to use negative ?

    Not sure the complexity of variable pitch props is really "adequate" in this case ...

    The only thing it will help is the landing, that can be lot smoother with variable pitch props.

    And for the Yaw, the APM wil add/remove pitch to do the same function with normal props.

    Everything will just work the same with the "torque" generated ...

    And for problem One, if you separate throttle and pitch, the full negative pitch at start is normal.

    Your stick is full negative so the pitch is full negative too.

    It wont' cause any problem if your throttle is at zero at this point.

    Throttle will graduately increase with the pitch depending on your throttle curves.


    Then in flight, you can fly inverted if run a throttle curve with non zero value at full negative ( flat curve ).

    In my opinion, the only real advantage of variable pitch, is to fly inverted

    or do some "tricks" in flight, like flips or other 3D heli movements.

    ;)

This reply was deleted.

Activity

DIY Robocars via Twitter
RT @knightsautoteam: Hi @diyrobocars, we are Orlando's first Autonomous racing club and would love your support. We are hosting our first K…
Jan 20
DIY Robocars via Twitter
RT @Heavy02011: #VirtualRaceLeague: @DIYRobocars Race #14 - #ParkingLotNerds join us January 15th for #AutonomousRacing #RoboRace ⁦@DAVGtec…
Jan 16
DIY Robocars via Twitter
RT @chr1sa: And after that came our races, 50 in all. This battle between these two Russians was the best we've ever seen -- incredible fig…
Jan 16
DIY Robocars via Twitter
RT @chr1sa: Before our @DIYRobocars virtual race this weekend, we had a presentation from the team that won the Indy Autonomous Challenge i…
Jan 16
DIY Drones via Twitter
Dec 12, 2021
DIY Robocars via Twitter
Dec 12, 2021
DIY Robocars via Twitter
RT @chr1sa: Just a week to go before our next @DIYRobocars race at @circuitlaunch, complete with famous Brazilian BBQ. It's free, fun for k…
Dec 4, 2021
DIY Robocars via Twitter
How to use the new @donkey_car graphical UI to edit driving data for better training https://www.youtube.com/watch?v=J5-zHNeNebQ
Nov 28, 2021
DIY Robocars via Twitter
RT @SmallpixelCar: Wrote a program to find the light positions at @circuitlaunch. Here is the hypothesis of the light locations updating ba…
Nov 26, 2021
DIY Robocars via Twitter
RT @SmallpixelCar: Broke my @HokuyoUsa Lidar today. Luckily the non-cone localization, based on @a1k0n LightSLAM idea, works. It will help…
Nov 25, 2021
DIY Robocars via Twitter
@gclue_akira CC @NVIDIAEmbedded
Nov 23, 2021
DIY Robocars via Twitter
RT @luxonis: OAK-D PoE Autonomous Vehicle (Courtesy of zonyl in our Discord: https://discord.gg/EPsZHkg9Nx) https://t.co/PNDewvJdrb
Nov 23, 2021
DIY Robocars via Twitter
RT @f1tenth: It is getting dark and rainy on the F1TENTH racetrack in the @LGSVLSimulator. Testing out the new flood lights for the racetra…
Nov 23, 2021
DIY Robocars via Twitter
RT @JoeSpeeds: Live Now! Alex of @IndyAChallenge winning @TU_Muenchen team talking about their racing strategy and open source @OpenRobotic…
Nov 20, 2021
DIY Robocars via Twitter
RT @DAVGtech: Live NOW! Alexander Wischnewski of Indy Autonomous Challenge winning TUM team talking racing @diyrobocars @Heavy02011 @Ottawa…
Nov 20, 2021
DIY Robocars via Twitter
Incredible training performance with Donkeycar https://www.youtube.com/watch?v=9yy7ASttw04
Nov 9, 2021
More…