News:



  • March 28, 2024, 11:16:57 AM

Login with username, password and session length

Author Topic: Questions on sensing bellcrank position  (Read 8208 times)

ChrisSarnowski

  • Guest
  • Trade Count: (0)
Questions on sensing bellcrank position
« on: August 31, 2013, 06:11:55 AM »
Hi Kim,

I have some engineering questions for you.

1) What sensor device do you use for bellcrank position? I did a brief search and didn't see any hall effect angular sensors as small as yours and with as few wires (pins).

2) I see you have ball bearings for the bellcrank shaft, which must smooth out any sensor position noise. How come the hall effect sensor is not rigidly assembled into the bellcrank shaft passage way? That must add to noise and inaccuracy.

3) Do you have to calibrate the bellcrank range of motion? (seems like an obvious yes). Do you do that just once at home?

4) What is your sampling rate on bellcrank position?

Thanks
Chris


Offline pmackenzie

  • Pat MacKenzie
  • 24 supporter
  • Trade Count: (0)
  • Captain
  • *
  • Posts: 765
Re: Questions on sensing bellcrank position
« Reply #1 on: September 01, 2013, 07:23:38 AM »
Hi Chris,
    just heading out the flying field, but I can answer all of your questions tonight.

  In regards to question #2, the hall sensor is held in place accurately. Not quite rigidly since we used goop to locate it in the inner tube. :)

  If you look at the pictures Kim posted I can try to explain.

   The bearing caps are bolted to the inner spar sections for the take aparts.
    The outer races of the bearings are a light press into them.
   The crank is mounted to a tubular shaft that runs on the inner races. The tube rotates with the crank and the magnet assembly.
  The bearing caps also have a smaller ID support in the centre. This holds the aluminum tube that has the Hall sensor located inside it.
  When you install the hall sensor in to the tube it has to be aligned vertically with the magnets and also rotated so that neutral bellcrank is also "zero" for the sensor.

  The software can be adjusted to correct for things being out a bit , but for best dynamic range you want neutral to be as close as possible.
  The Vertical position and neutral can both be easily set "live" by looking at servo throws and a neutral LED on the controller.
   Vertical position is not too critical, the "sweet spot" is fairly large since the sensor is much smaller in diameter than the magnets.
 
  If that doesn't explain it well enough I can try to do up a drawing.

  It might have been simpler to make the sensor rotate with the crank and have the magnets fixed, but then the wires would be subjected to constant flexing.

Pat MacKenzie

MAAC 8177

Offline MikeCoulombe

  • Trade Count: (0)
  • Commander
  • ****
  • Posts: 127
Re: Questions on sensing bellcrank position
« Reply #2 on: September 01, 2013, 09:20:08 AM »
Good info Pat

Why not have the sensor assembly tube attached to a slotted adjustable plate on the top of the wing?

I do have a question, may have been asked before but, if you loose line tension, does the bell-crank return to neutral?

Mike

Offline Kim Doherty

  • Moderator
  • Trade Count: (0)
  • Commander
  • *****
  • Posts: 154
Re: Questions on sensing bellcrank position
« Reply #3 on: September 01, 2013, 06:16:12 PM »
Good info Pat

Why not have the sensor assembly tube attached to a slotted adjustable plate on the top of the wing?

I do have a question, may have been asked before but, if you loose line tension, does the bell-crank return to neutral?

Mike

Mike,

The components we used were what was handy, what could be repurposed and what could be machined in time. We simply needed to see if this concept would work and it did. Next time we can take more time and make it more elegant. There is no access to the top of the wing. It is firmly glued into the fuselage. The stem was adjusted by rotating the magnet block.

We had a rudimentary form of return spring (small foam pads) to keep the bell crank from being hard over and staying there. As yet we have not decided on how to do this as we go forward. I'm thinking of trying some 1/4 flat rubber.

Kim.


Offline MikeCoulombe

  • Trade Count: (0)
  • Commander
  • ****
  • Posts: 127
Re: Questions on sensing bellcrank position
« Reply #4 on: September 01, 2013, 08:39:23 PM »
Okay, so it works where to now?

ChrisSarnowski

  • Guest
  • Trade Count: (0)
Re: Questions on sensing bellcrank position
« Reply #5 on: September 02, 2013, 06:45:41 AM »
Hi Pat,

Thanks for info on sensor mount. It did seem that the sensor needed to be firmly assembled into the shaft, which you are doing with goop.

I remain interested in the other answers, especially about now often you sample bellcrank position. As you likely are aware, the servo control signal updates position typically at a 4 KHz rate, though you can mess with that a bit. I wonder where control system delays become noticeable.

Also wondering if you bothered with digital servos, as they seem to be faster in response to control inputs.

Thanks,
Chris

Offline pmackenzie

  • Pat MacKenzie
  • 24 supporter
  • Trade Count: (0)
  • Captain
  • *
  • Posts: 765
Re: Questions on sensing bellcrank position
« Reply #6 on: September 02, 2013, 07:48:18 AM »
4khz?  Perhaps you mean industrial servos?
Normal R/C servo updates are every 20msec, so only 50hz.
Digital servos can operate at a max of about 300hz.
This might seem too slow, but is in line with how fast you can move your hand and the servos speed. With a fast servo the elevator keeps right up with control inputs.
This was certainly the case with the indoor model, to me it responded just like the regular control version.


In this system the update rate is about 160hz, based on having enough time to output the three 1-2msec servo position information.
Ultimately the goal would be to go to 250hz, but that would require a more complex interrupt handler to be able to output all the servo signals overlapping each other.
Either that or use a micro with multiple hardware PWM outputs.

The bellcrank position is sensed and all the calculations done as part of the main program loop. This takes ~1.5 msec, faster than the servo positions can be updated.

The sensor used is not a rotary one per-Se. It only becomes one when installed between the magnetic field that rotates with the bell crank.
 Might be why you had trouble finding one in your search  :)

Part number is SS494B, chosen for its high sensitivity and ratiometric output. 
High sensitivity translates to good voltage swing and the ratiometric output means it behaves in circuit just like a pot would.
This, combined with using supply voltage as the A/D reference, gives supply noise/variation rejection to the crank position.
Spec sheet is here:
http://sccatalog.honeywell.com/imc/printfriendly.asp?FAM=solidstate&PN=SS494B

It measures flux density through the face of the part. At zero flux the output is Vcc/2.
It and the magnets are set up so neutral bellcrank has it at right angles to the flux lines, so no flux through the face.
Rotating the crank puts the flux lines at an angle to the face, so flux density is proportional to the bellcrank deflection.

By the highly scientific method of trying the magnets we had on hand and the spacing between them
 we settled on ones that gave full sensor output at the crank deflection we wanted to have.

Pat MacKenzie
MAAC 8177

ChrisSarnowski

  • Guest
  • Trade Count: (0)
Re: Questions on sensing bellcrank position
« Reply #7 on: September 02, 2013, 08:35:57 AM »
Hi Pat,

Thanks for info. Yes that was a mistake on my part for converting the servo update rate in milliseconds to frequency! That rate does seem slow but as you say you guys have proven that it gets the job done.

Thanks,
Chris

Offline MikeCoulombe

  • Trade Count: (0)
  • Commander
  • ****
  • Posts: 127
Re: Questions on sensing bellcrank position
« Reply #8 on: September 02, 2013, 09:32:57 AM »
So, On the shelves by Christmas?

ChrisSarnowski

  • Guest
  • Trade Count: (0)
Re: Questions on sensing bellcrank position
« Reply #9 on: September 03, 2013, 05:22:15 AM »
I imagine there's a bit more work to do Mike before it is ready for mass consumption!

Pat, I am wondering today what microprocessor you are using? Do you also use it for driving the ESC (timer)?

I am thinking that a small Arduino board (say Arduino pro mini) would get the job done.

Do you see any interference from electric and magnetic fields generated by the motor turning the prop?

-Chris

Offline pmackenzie

  • Pat MacKenzie
  • 24 supporter
  • Trade Count: (0)
  • Captain
  • *
  • Posts: 765
Re: Questions on sensing bellcrank position
« Reply #10 on: September 03, 2013, 07:10:33 PM »
We used an Arduino UNO to develop the code, but to save weight also permit a perf board style prototype used a DIP version of the ATMEGA328 flashed with the Arduino bootloader.
This meant we could use the UNO to flash the code.

Pro mini might have enough program space.

ESC was not driven by the flight controller. Didn't want to slow down the frame rates to put out another signal, and we had timer/processors already on hand for the motor.
Ultimately a single processor for both functions would be better, should be possible with a better pulse generator.
MAAC 8177

ChrisSarnowski

  • Guest
  • Trade Count: (0)
Re: Questions on sensing bellcrank position
« Reply #11 on: September 04, 2013, 06:39:33 AM »
Hi Pat,

I was thinking about why you have 2 magnets. Is this so that the magnetic flux lines are straight when they pass through the sensor?

Thanks
Chris

Offline pmackenzie

  • Pat MacKenzie
  • 24 supporter
  • Trade Count: (0)
  • Captain
  • *
  • Posts: 765
Re: Questions on sensing bellcrank position
« Reply #12 on: September 04, 2013, 06:49:40 PM »
Yes.
The two magnets produce a strong area of flux with reasonably straight lines in the centre where the sensor is located.
In theory at least this will improve the linearity of the sensor, and makes its location a bit less critical.

It should also increase the rejection of external magnetic interference.

Pat MacKenzie
MAAC 8177

Offline RC Storick

  • Forum owner
  • Administrator
  • Trade Count: (0)
  • Admiral
  • *
  • Posts: 12393
  • The finish starts with the first piece of wood cut
    • Stunt Hangar
Re: Questions on sensing bellcrank position
« Reply #13 on: September 04, 2013, 07:10:59 PM »
Not that I know anything about this but did you consider a potentiometer?

AMA 12366

Online Brett Buck

  • Trade Count: (0)
  • Admiral
  • ******
  • Posts: 13716
Re: Questions on sensing bellcrank position
« Reply #14 on: September 04, 2013, 07:26:28 PM »
Not that I know anything about this but did you consider a potentiometer?


  Pots are not very reliable in any sort of vibration environment, even electric motor vibration. A wire-wound would work OK for a while, a carbon track, probably not all that long.

    The Hall effect sensor has no wear elements. A resolver would be as accurate and also doesn't wear out, but requires more processing and is probably heavier.

    Brett

Offline pmackenzie

  • Pat MacKenzie
  • 24 supporter
  • Trade Count: (0)
  • Captain
  • *
  • Posts: 765
Re: Questions on sensing bellcrank position
« Reply #15 on: September 04, 2013, 07:55:26 PM »
^^ What he said :)

We used a pot in our indoor FBW model.
Another issue is finding one that has low friction.

Most R/C transmitters and servos still use pots, but hall sensors are starting to appear in higher end equipment.
MAAC 8177

Offline CircuitFlyer

  • Trade Count: (0)
  • Commander
  • ****
  • Posts: 301
    • www.circuitflyer.com
Re: Questions on sensing bellcrank position
« Reply #16 on: September 07, 2013, 09:47:13 AM »
This brings up a couple of theoretical questions:

1) Is mechanical motion really necessary at all?  The primary function of the control handle is to create a difference in tension on a closed loop of steel cable.  Would it be possible to just sense the differential line tension with a couple of load cells without any actual motion?

2) With FBW does the bellcrank need to be mounted in the middle of the wing?  Is there any advantage to mounting it in either the inboard or outboard wingtip?

Paul
Paul Emmerson
Spinning electrons in circles in Mississauga, Ontario, Canada DIY Control Line Timers - www.circuitflyer.com

Offline pmackenzie

  • Pat MacKenzie
  • 24 supporter
  • Trade Count: (0)
  • Captain
  • *
  • Posts: 765
Re: Questions on sensing bellcrank position
« Reply #17 on: September 07, 2013, 10:26:35 AM »
In theory you could use force sensors to measure torque between a "fixed" crank and its mount.
It would be interesting to fly a model with zero hand movement.
If you did not follow the plane perfectly in pitch then it would very quickly end up hanging by one line and going to full control.
So perhaps far more than "interesting" to fly it. ;)

I think some full scale aircraft use(d) force-based joysticks. I also think the pilots hate(d) them .
(see post number 9 here :http://forums.jetphotos.net/showthread.php?t=48156)

Bellcrank can be anywhere. Centre mount does have the advantage of tying into the model where the structure is the strongest.

Pat MacKenzie
MAAC 8177

Online John Rist

  • 24 supporter
  • Trade Count: (0)
  • Admiral
  • *
  • Posts: 2944
Re: Questions on sensing bellcrank position
« Reply #18 on: September 24, 2013, 03:28:29 PM »
How about optical encoders? 
John Rist
AMA 56277

Offline Tim Wescott

  • 2016 supporter
  • Trade Count: (0)
  • Admiral
  • *
  • Posts: 12804
Re: Questions on sensing bellcrank position
« Reply #19 on: September 24, 2013, 04:35:09 PM »
How about optical encoders? 
If you can figure out a good mounting scheme optical encoders should work well.  Most optical encoders are "incremental", meaning that they only tell you how far you've gone, not where you are.  So you need an index pulse to tell you when you're at zero.  I'd put the index pulse at neutral, because I wiggle the handle before I signal for release anyway.  This would both make it easy to pick up the index pulse, and it would mean that if Bad Things happened in flight the processor would get to see that index pulse again and again.

If anyone tries this, feel free to send me a PM for suggestions on how to get a microprocessor to correctly read an incremental encoder.  The algorithm is simplicity itself, easy to code, and works great.  The reason I offer is because I know of at least half a dozen popular ways to totally screw this up that are also simplicity themselves and easy to code -- they only fall down on the "works great" part.
AMA 64232

The problem with electric is that once you get the smoke generator and sound system installed, the plane is too heavy.


Advertise Here
Tags:
 


Advertise Here