Jump to content



Another quick update,

A productive weekend ended up with an IMU (BNO055) and a waterproof sonar range sensor (JSN-SR04T) being integrated to my Arduino Mega board.  Both are yielding good data and easy to work with.  I also am able to write commands successfully to a spare servo I from an RC Tricopter.  I am still in the process of selecting the correct servo and identifying the correct attachment point(s) for the servo to flap linkage (please see and comment on servo math below).  

Additionally, I now have a PID library running giving servo commands based on the measured elevation.  Tuning the loop gains will take some tweaking and I am beginning to realize a few buttons and a display of some sort may be necessary.  I am trying to avoid scope creep but tuning control loops will most certainly need to be done on the water and doing so on a laptop will not be possible.  More fun to come on UX...

Lastly, it's time to think about packaging and power.  The whole system runs on 5V and would be easy to power off of a set of AA or C cells.  Eventually a lithium battery would work well and be rechargeable.  I may need to add a power distribution board as the Arduino Mega won't provide enough current for the servo I am guessing.  We'll see once the servo is selected.  


Servo Math Section

Speaking of servos, my thinking here is to calculate how much torque is being imparted by the wand and using that as a minimum value required for servo torque.  Being conservative my math is as follows:

Calculate force on paddle:

F = ma from Newton

Finding a:

Paddle will push flap down at minimum boat speed of about 3 knots or 1.55 m/s -- below that boat speed the flap rebound spring overwhelms the paddle drag.

Therefore paddle must accelerate oncoming water from 0 m/s to 1.55 m/s.  I am going to assume that this acceleration takes place over the course of 0.2 seconds.  I have no scientific basis for this duration of acceleration.  In reality this is probably a very complex fluid dynamics problem, but I think 0.2 seconds is a safe and conservative number.

Therefore a  =  (1.55 m / s) / 0.2s = 7.75 m / s^2

Finding m:

The paddle is around 4 square inches (~2 x 2 inches).  (The wand also provides some drag that we will ignore for simplicity -- hopefully this isn't fatal =) Assuming that the amount of water accelerated from 0 knots to 3 knots is 4 square inches and 1 inch deep (yes another assumption), we have a total volume of water decelerated of 4 cubic inches or 65.5 cm^3 or 6.55e-5 m^3.

The density of luke warm seawater is nominally 1027 kg / m^3.   Therefore

m = 6.55e-5 m^3  *  1027 kg / m^3  =  0.06726kg

Finding F:

Putting it all together total minimum force on the paddle to push the flap down is:  F = ma =  0.06726 kg  *  (7.75 m / s^2)  = 0.52 Newtons 

To be clear, this is the minimum force it takes to push the flap down when traveling slowly.  As speed increases, it will take more force to actuate the wing as the speed of the water rushing by the wing is faster and will increase resistance to movement.  Not to fear however, we can use the same approach to calculate the torque imparted on the wing by the paddle at higher speeds by varying a.  At 18 knots (about as fast as my GPS has ever recorded me traveling) and assuming acceleration takes place over 0.2 s, our formula becomes

F = ma =  0.06726 kg  *   46.3 m / s^2   = 3.1 Newtons            18 knots  = 9.26 m / s ;  (9.26 m / s)   /  (0.2s)   =  46.3 m / s^2 

Finding Torque:

Putting it all together to get torque, I assume that we are operating on the end of a 1m arm (our wand length).  Therefore our torque values would be between 0.52 N-m and 3.1 N-m.  

A few caveats -- I made a lot of assumptions here and tried to be conservative.  I also notice that at high foiling speeds (18 knots) the paddle depresses the flap with extreme ease indicating that while it imparts 3.1 N-m, a far smaller value would be sufficient.  

The last consideration comes with how to mount the servo and how many meters of moment arm we will use.  I am thinking the servo will be mounted close to the fulcrum therefore our moment arm will likely be 0.2 m or similar.  Therefore torque will need to increase by a factor of 5 to deal with the fact we only have a fifth the lever arm as the paddle.

With all this math out of the way, I want to say that I am not a fluid dynamics or mechanics expert.  I intend to take some empirical measurements next time I'm out foiling to verify my math.  Please check my work and shoot holes in it wherever possible.  




Recommended Comments

Not sure I understand the wand issue completely. That said, it is very often true that the sensor and servo functions do not need to directly address (code) the physics to achieve a reliable servo action. You can characterize the wand with some regression on the likely variables and use that to generate the input to the servo function.

Also, be vary careful screwing with the sensor data in an (often) misguided attempt to filter the data. All too often we see attempts to brutally clip (supposedly) outlier data or shortcut coded filters that generate too much noise. Do the right thing from the start with a proven effective filtering function (sinc?). 

  • Like 1
Link to comment

Thanks for the feedback.  I made some empirical measurements of the foil system a yesterday and found them to be somewhat close to the math presented above.  That said, I agree that a total understanding of the physics isn't necessary to select the correct servo.  If we are close enough and have some headroom, we should be golden.  

Do you have a filter function that you recommend of have experience with?  I think you recommended a Sinc function.  I am considering mid-level voting (median filter).  The sonar range sensor can take data about 20 times per second before I start seeing lots of errors.   

Link to comment

A median filter is about the worst choice in most situations. Far too much out-of-band signal gets thru. A SINC filter is not much more difficult. Very common. Widely accepted...at least 20 years ago when I was mashing noisy data.

How do you know the sensor data has ‘lots of errors’ over 20Hz. That is is common design trap. It might be data. 

Link to comment
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...