Shop OBEX P1 Docs P2 Docs Learn Events
pc controlled flying robot platform — Parallax Forums

pc controlled flying robot platform

muconmucon Posts: 2
edited 2006-11-29 00:09 in Propeller 1
hi there!
there are a lot of rc controlled flying quadrocopter platforms with brushless dc motors out there.

... but ...

i would like to control the platform·wireless by pc control.
parallax-propeller should read data from piezo-gyros (3 COG), control 4 brushless dc motors on each corner (4 COG) and one task should coordinate all this depending the sent data from pc (up, down, forward, speed a.s.o.).

... so what ...

i dont know how to control the brushless motors ... is there anybody who knows to control the brushless dc motors?
there are many solutions on the net, but all i have found was controled by pwm signal from rc receiver and not by uc control.

greetings from switzerland,
tom

Comments

  • GavinGavin Posts: 134
    edited 2006-11-27 23:43
    Could the vid generators control the phases?
    just stick a bit patttern in memory and change the speed and/or pattern to change the 3 phases.
    TV uses 4 bits so you could control 8 brushless motors and still have aural sub carrier pins free?

    Gavin
  • M. K. BorriM. K. Borri Posts: 279
    edited 2006-11-28 04:54
    I'm building a UAV, but it's actually fairly large (3m wingspan).
  • simonlsimonl Posts: 866
    edited 2006-11-28 13:53
    Simplest solution would be to have·4 standard R/C ESCs (Electronic Speed Controllers) controlled from the PChop. That would mean using something like the Servo4 object.

    That said, ESCs are way expensive, so if anyone cares to show us how to use the VID generators to control brushless motors, I too would be very happy yeah.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Cheers,

    Simon
    www.norfolkhelicopterclub.co.uk
    You'll always have as many take-offs as landings, the trick is to be sure you can take-off again ;-)
  • muconmucon Posts: 2
    edited 2006-11-28 14:46
    Hi, the UAV should be like
    as seen on the attached pictures,
    1m span, 4 brushless motors.

    I guess the mainproblem will be the brushless control.
    700 x 525 - 113K
    400 x 300 - 35K
  • GreyBox TimGreyBox Tim Posts: 60
    edited 2006-11-28 23:57
    I'd suggest a "Propulsion Cog" that specifically runs the DC (brushed) motors. You should be able to fit a set of·variables that would signify the collective, cyclic, and·rudder·axis·within a single long:


    1) 1-bit Drive Enable for shut-down of the motors,
    1) 10-bit variable for 0-100% throttle (collective),
    1) 7-bit variable for 100%-0-100% Left-Center-Right (Roll) duty cycle offset,
    1) 7-bit variable for 100%-0-100% Front-Center-Back (Pitch) duty cycle offset,
    1) 7-bit variable for 100%-0-100% Left-Center-Right (Yaw) duty cycle offset.

    This should reduce the required hub-access time to get the navigation control from the other cog(s) (I believe it should be one address read... don't quote me on this though nono.gif). The Cog would then need to calculate a PWM signal for the four variables (DC motor PWM duty cycle), and control four output pins wired to a MOSFET (or MOSFET amplifier) to control the motors.

    For PWM, I'd suggest using the main system counter to keep the duty cycles accurate. Pull the lowest 16 bits of the system timer and truncate the 6 LSBs (to get it to ~10-bits and·pace down the time value changes·so that transitions aren't missed during the processing time·in the main loop). Then compare the results of the duty cycle calulations to the timer. If the timer is greater than the varable turn off the output pin.

    You can expand the range of control and prevent over-input by programming limits (both low and high) into your math. This will allow the·input signal to control a smaller range - thereby increasing the resolution in that area, and overall navigation accuracy.

    With a high enough main clock speed, you should be able to squeeze at least 40kHz PWM out of the Propeller (but pick your MOSFETS carefully jumpin.gif).

    As I recall from reading a few things (I've never done it myself) about these type of aircraft, the difference between one side and another will control the roll (side to side movement), the difference between the front and the back will control the pitch (forwards to backwards movement), and the difference from the left/right and front/back pairs of motors (they counter-rotate to offset the rotor torque) controls the yaw (clockwise to counter clockwise rotation).· Adding power to all four motors equally, adjusts how much collective altitude the aircraft gets and how fast (rate of climb).

    A·multiplier routine where the input variables are mutiplied (in fractions) to the collective variable should give you the correct mix (however determining what mix is required is your job!).

    Pre-filtering the input variables from the Hub-RAM will give you your control constraints.

    Cheers!

    -Tim

    P.S. If you want to control BLDC motors as several are suggesting, I'd recommend using low-level logic to expand your outputs and use a simple counter to control each motor's frequency (speed) - but you will need a few more of those precious output pins.· You may want to explore using low-level·stepper controllers like those in common scrap CD-ROM drives to directly run the motor, and then only generate the control signals for the motor controller in the Cog.·-T

    Post Edited (GreyBox Tim) : 12/1/2006 9:52:15 PM GMT
  • GavinGavin Posts: 134
    edited 2006-11-29 00:09
    BLDC motors are more efficient than DC brush motors.
    For VTOL you need the best motors and Lithium batteries for good performance.
    The prop should make quite a good 3 phase BLDC motor controller, would be good for twins and multi motors.

    BLDC spindle motor on my mill? do 4 axis and BLDC motor? Interesting I could do fancy stuff like tapping, encoder feedback for speed, power, torque control? This bloody micro can do heaps.
Sign In or Register to comment.